ファイルから会社のデータを読み取り、エラーを処理する宿題をしています。
これまでのところ、最初の行で機能すると思いますが、各行を読み上げる方法がわかりません。各行は、ID、名前、および支払いを含むレコードです。基本的に、最初の行を処理した後、次の行にスキップする方法を知りたいです。エラー チェックはまだ含めていませんが、1 レコードが読み取られた後の最後の do while ループになると思います。各変数に読み込まれた情報が間違っている場合は、それをチェックして、サマリー ファイルまたはエラー ファイルに出力できます。
void processFile()
{
string filename;
ifstream recordFile;
ofstream summary("summary.dat");
ofstream error("error.dat");
cout << "Please enter a filename\n";
do
{
cin >> filename;
recordFile.open(filename);
if (!recordFile.is_open())
cout << "No file by that name. Please enter another filename\n";
}
while(!recordFile.is_open());
int ID = 0;
string firstName;
string lastName;
double payment1, payment2, payment3 = (0.00, 0.00, 0.00);
string numberOfRecords;
getline(recordFile, numberOfRecords);
do
{
ws(recordFile);
recordFile >> ID;
recordFile >> firstName;
recordFile >> lastName;
recordFile >> payment1;
recordFile >> payment2;
recordFile >> payment3;
}
while(!recordFile.eof());
}
*編集: 問題の一部を見つけました。実際には、最初の行をスキップして、その時点から読み進める必要があります。各ファイルの最初の行には、役に立たないデータが含まれています。