У меня есть небольшая проблема. У меня есть три файла: OldMaster, Transaction и NewMaster. Если номера счетов совпадают между OldMaster и Transaction, я обновляю баланс и записываю его в NewMaster. Если они не совпадают, я записываю исходную информацию об учетной записи из OldMaster в NewMaster и отображаю ошибку.
В файле OldMaster есть 4 счета и 4 счета в файле Transactions. По какой-то причине моя программа не обрабатывает четвертую (последнюю) учетную запись/транзакцию в каждом файле, а NewMaster не получает данные.
int accountNumber
int accountNum;
string lastName;
string firstName;
float currentBalance;
float dollarAmount;
inOldMaster >> accountNumber >> firstName >> lastName >> currentBalance;
inTransaction >> accountNum >> dollarAmount;
while ( !inOldMaster.eof() && !inTransaction.eof() )
{
if ( accountNumber == accountNum )
{
currentBalance += dollarAmount;
outNewMaster << accountNum << " " << firstName << " " << lastName << " "
<< currentBalance << endl;
}
else if (accountNumber != accountNum)
{
outNewMaster << accountNumber << " " << firstName << " " << lastName << " "
<< currentBalance << endl;
cout << "Unmatched transaction record for account number: " << accountNum
<< endl;
}
inOldMaster >> accountNumber >> firstName >> lastName >> currentBalance;
inTransaction >> accountNum >> dollarAmount;
}
if ( accountNumber == accountNum )....else **if (accountNumber != accountNum)**
? ЕслиaccountNumber == accountNum
неверно, тоaccountNumber != accountNum
точно верно, проверку делать не нужно. - person fogbit   schedule 28.11.2011