굿 데이,dat 파일을 잘못 읽는 루프
루프가 dat 파일을 읽지 만 루프가 데이터를 잘못 읽습니다. 내 DAT 파일은 출력이
Account number: 46780976
Opening balance: R3750.40
Transaction Amount Balance Bank costs
Withdrawal 250.00 4000.00
Deposit 1200.00Ct 2800.00
Withdrawal 75.00 2725.00
Withdrawal 1375.00 1350.00
Deposit 1200.00Ct 1550.00
Interest 5.50 1555.50
Withdrawal 400.00 1155.50
Withdrawal 600.00 555.50 25.00
Deposit 450.00Ct 1005.50
Withdrawal 35.65 969.85
Banking costs 25.00 969.60
Closing balance: R969.60
해야 다음 데이터
46780976 3750.40
W 250.00
D 1200.00
W 75.00
W 375.00
D 1200.00
I 5.50
W 400.00
W 600.00
D 450.50
W 35.65
이 들어 내가 얻을 다음
Account number : 46780976
Opening Balance : R 3750.4
Transaction Amount Balance Bank Costs
Withdrawal 250 3500.4
Deposit 0 Ct 3500.4
Interest 0 3500.4
Withdrawal 250 3225.4
Deposit 1200 Ct 4425.4
Interest 0 4425.4
Withdrawal 75 4325.4
Deposit 1200 Ct 5525.4
Interest 0 5525.4
Withdrawal 375 5125.4
Deposit 1200 Ct 6325.4
Interest 0 6325.4
Withdrawal 375 5925.4
Deposit 1200 Ct 7125.4
Interest 0 7125.4
Withdrawal 375 6725.4
Deposit 1200 Ct 7925.4
Interest 5.5 7930.9
Withdrawal 400 7505.9
Deposit 1200 Ct 8705.9
Interest 5.5 8711.4
Withdrawal 600 8086.4
Deposit 1200 Ct 9286.4
Interest 5.5 9291.9
Withdrawal 600 8666.9
Deposit 450.5 Ct 9117.4
Interest 5.5 9122.9
Withdrawal 35.65 9062.25
Deposit 450.5 Ct 9512.75
Interest 5.5 9518.25
Withdrawal 35.65 9457.6
Deposit 450.5 Ct 9908.1
Interest 5.5 9913.6
Bank Costs 25 9888.6 25
Closing Balance : R 9888.6
Press any key to continue . . .
내 코드 :
do {
in_stream >> letter;
if (letter == 'W')
in_stream >> withdrawal;
openBalance -= withdrawal;
cout << "\nWithdrawal" << " "<< withdrawal << " " << openBalance << endl;
out_stream << withdrawal;
if (letter == 'D')
in_stream >> deposit;
openBalance += deposit;
cout << "Deposit" <<" "<< deposit <<" Ct" <<" " << openBalance << endl;
out_stream << deposit;
if (letter == 'I')
in_stream >> interest;
openBalance += interest;
cout << "Interest" <<" "<< interest <<" " << openBalance << endl;
out_stream << interest;
if (openBalance < 1000)
cout << "Bank Costs" <<" "<< bankCost <<" " << openBalance <<" " << bankCost << endl;
openBalance -= bankCost;
out_stream << bankCost;
} while(!in_stream.eof());
날 지점하세요 올바른 방향
감사
버그와 관련이 없지만 코드를 읽기 쉽도록 만들 것입니다 : ['std :: setw'] (http://en.cppreference.com/w/cpp/io/manip/setw) – us2012