erreur fatale C1075: fin de fichier trouvé avant l'accolade gauche et de lire et écrire des fichiers ne fonctionne pas
quelqu'un pourrait-il me dire aussi si les mesures que je vais tenter de faire, qui sont indiqués dans les commentaires sont corrects ou pas. je suis nouveau en c++ et je pense que c'est correct mais j'ai des doutes
#include<iostream>
#include<fstream>
#include<cstdlib>
#include<iomanip>
using namespace std;
int main()
{
ifstream in_stream; //reads itemlist.txt
ofstream out_stream1; //writes in items.txt
ifstream in_stream2; //reads pricelist.txt
ofstream out_stream3;//writes in plist.txt
ifstream in_stream4;//read recipt.txt
ofstream out_stream5;//write display.txt
float price=' ',curr_total=0.0;
int wrong=0;
int itemnum=' ';
char next;
in_stream.open("ITEMLIST.txt", ios::in); //list of avaliable items
if( in_stream.fail() )//check to see if itemlist.txt is open
{
wrong++;
cout << " the error occured here0, you have " << wrong++ << " errors" << endl;
cout << "Error opening the file\n" << endl;
exit(1);
}
else{
cout << " System ran correctly " << endl;
out_stream1.open("listWititems.txt", ios::out); //list of avaliable items
if(out_stream1.fail() )//check to see if itemlist.txt is open
{
wrong++;
cout << " the error occured here1, you have " << wrong++ << " errors" << endl;
cout << "Error opening the file\n";
exit(1);
}
else{
cout << " System ran correctly " << endl;
}
in_stream2.open("PRICELIST.txt", ios::in);
if( in_stream2.fail() )
{
wrong++;
cout << " the error occured here2, you have " << wrong++ << " errors" << endl;
cout << "Error opening the file\n";
exit (1);
}
else{
cout << " System ran correctly " << endl;
}
out_stream3.open("listWitdollars.txt", ios::out);
if(out_stream3.fail() )
{
wrong++;
cout << " the error occured here3, you have " << wrong++ << " errors" << endl;
cout << "Error opening the file\n";
exit (1);
}
else{
cout << " System ran correctly " << endl;
}
in_stream4.open("display.txt", ios::in);
if( in_stream4.fail() )
{
wrong++;
cout << " the error occured here4, you have " << wrong++ << " errors" << endl;
cout << "Error opening the file\n";
exit (1);
}
else{
cout << " System ran correctly " << endl;
}
out_stream5.open("showitems.txt", ios::out);
if( out_stream5.fail() )
{
wrong++;
cout << " the error occured here5, you have " << wrong++ << " errors" << endl;
cout << "Error opening the file\n";
exit (1);
}
else{
cout << " System ran correctly " << endl;
}
in_stream.close(); //closing files.
out_stream1.close();
in_stream2.close();
out_stream3.close();
in_stream4.close();
out_stream5.close();
system("pause");
in_stream.setf(ios::fixed);
while(in_stream.eof())
{
in_stream >> itemnum;
cin.clear();
cin >> next;
}
out_stream1.setf(ios::fixed);
while (out_stream1.eof())
{
out_stream1 << itemnum;
cin.clear();
cin >> next;
}
in_stream2.setf(ios::fixed);
in_stream2.setf(ios::showpoint);
in_stream2.precision(2);
while((price== (price*1.00)) && (itemnum == (itemnum*1)))
{
while (in_stream2 >> itemnum >> price) //gets itemnum and price
{
while (in_stream2.eof()) //reads file to end of file
{
in_stream2 >> itemnum;
in_stream2 >> price;
price++;
curr_total= price++;
in_stream2 >> curr_total;
cin.clear(); //allows more reading
cin >> next;
}
}
}
out_stream3.setf(ios::fixed);
out_stream3.setf(ios::showpoint);
out_stream3.precision(2);
while((price== (price*1.00)) && (itemnum == (itemnum*1)))
{
while (out_stream3 << itemnum << price)
{
while (out_stream3.eof()) //reads file to end of file
{
out_stream3 << itemnum;
out_stream3 << price;
price++;
curr_total= price++;
out_stream3 << curr_total;
cin.clear(); //allows more reading
cin >> next;
}
return itemnum, price;
}
}
in_stream4.setf(ios::fixed);
in_stream4.setf(ios::showpoint);
in_stream4.precision(2);
while ( in_stream4.eof())
{
in_stream4 >> itemnum >> price >> curr_total;
cin.clear();
cin >> next;
}
out_stream5.setf(ios::fixed);
out_stream5.setf(ios::showpoint);
out_stream5.precision(2);
out_stream5 <<setw(5)<< " itemnum " <<setw(5)<<" price "<<setw(5)<<" curr_total " <<endl; //sends items and prices to receipt.txt
out_stream5 << setw(5) << itemnum << setw(5) <<price << setw(5)<< curr_total; //sends items and prices to receipt.txt
out_stream5 << " You have a total of " << wrong++ << " errors " << endl;
}
- C'est tout à fait trop de code. Vous avez également besoin de fixer votre indentation. Je soupçonne que vous êtes réellement en manque un } quelque part, mais c'est difficile à dire parce que votre code n'a pas de structure raisonnable.
- double de stackoverflow.com/questions/2672367/... même code
- C'est un excellent exemple de pourquoi correctement l'indentation de ton code est si important.
Vous devez vous connecter pour publier un commentaire.
J'avais un danger suppose que vous êtes absent"} ' dans le premier bloc else.
Pour éviter de tels problèmes à l'avenir, de réparer votre indentation (ou laisser AStyle ou programme similaire pour le fixer pour vous) et à l'utilisation de l'éditeur qui met en évidence la syntaxe (en particulier des blocs de code entre accolades).
Votre première instruction if else a un manquant } après l' { pour votre d'autre. Ma suggestion: se débarrasser de l' { car c'est seulement une seule ligne de code.
Il pourrait être que vous manquez de "}" à la fin, une autre chose importante que vous devriez vous méfier, c'est que d'essayer d'utiliser l'adresse complète de vos fichiers. J'ai rencontré le même problème, et d'autre compilateur serait de lire les adresses de différentes manières. Donc, essayez de préciser l'adresse de fichiers.