Привет всем. Я только изучаю свой первый язык программирования и только что исправил одну ошибку в своем коде, чтобы оставить другую ошибку. К счастью, это последняя проблема, которую мне нужно решить, но у меня возникли небольшие проблемы, когда я сам это делаю.
Программа предназначена для считывания номера клиента и расходов, связанных с каждым номером клиента. Затем он добавит финансовую комиссию, выведет все расходы, все сложит и сохранит новый баланс каждого клиента в файл вместе с их идентификационным номером в обратном порядке.
beginbalance.dat выглядит как
111
200.00
300.00
50.00
222
300.00
200.00
100.00
и newbalances.dat ДОЛЖНЫ быть похожи на
222
402.00
111
251.00
за исключением того, что, в зависимости от того, где в цикле записи файла вставлено "count--", я получаю
222
402.00
111
251.00
-858993460
-92559631349317830000000000000000000000000000000000000000000000.00
Я не могу понять, что мне следует делать, чтобы избавиться от этих дополнительных значений. Есть предложения?
Вот мой код
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
int main()
{
int count = 0;
const int size = 100;
double customer_beg_balance, customer_purchases, customer_payments, finance_charge_cost, finance_charge = .01;
int customer_number[size];
double new_balance[size];
double total_beg_balances=0,total_finance_charges=0,total_purchases=0,total_payments=0,total_end_balances=0;
ifstream beginning_balance;
beginning_balance.open("beginningbalance.dat");
while(beginning_balance>>customer_number[count])
{
beginning_balance >> customer_beg_balance;
beginning_balance >> customer_purchases;
beginning_balance >> customer_payments;
finance_charge_cost = customer_beg_balance * finance_charge;
new_balance[count] = customer_beg_balance + finance_charge_cost + customer_purchases - customer_payments;
total_beg_balances+=customer_beg_balance;
total_finance_charges+=finance_charge_cost;
total_purchases+=customer_purchases;
total_payments+=customer_payments;
total_end_balances+=new_balance[count];
cout<<fixed<<setprecision(2)<<setw(8)<<"Cust No "<<"Beg. Bal. "<<"Finance Charge "<<"Purchases "<<"Payments "<<"Ending Bal.\n"
<<customer_number[count]<<" "<<customer_beg_balance<<" "<<finance_charge_cost<<" "<<customer_purchases<<" "<<customer_payments<<" "<<new_balance[count]<<endl;
count++;
}
cout<<"\nTotals "<<total_beg_balances<<" "<<total_finance_charges<<" "<<total_purchases<<" "<<total_payments<<" "<<total_end_balances<<endl;
ofstream new_balance_file;
new_balance_file.open("NewBalance.dat");
while(count >= 0)
{
count--;
new_balance_file <<customer_number[count]<<endl;
new_balance_file<< fixed<<setprecision(2)<<new_balance[count]<<endl;
}
new_balance_file.close();
system("pause");
return 0;
}