Я занимаюсь разработкой банковской системы C ++.
Я могу правильно получить значения типа float, newbal, и когда я пытаюсь записать в файл, в файле нет данных.
else if (x == 2)
{
cout << "You have selected option number 2. Deposit.\n";
cout << "Please enter you account ID: ";
cin >> ID;
file.open("C:\\Users\\Raggulddon\\Desktop\\C++ supplement\\Cust_" + ID + ".dat", ios:: in | ios::out | ios::binary);
if (!file)
{
cout << "Sorry the requested account could not be located.\n";
}
else
{
file >> firstname >> lastname;
cout << endl << firstname << " " << lastname << endl;
cout << "-----------------------------------\n";
string line;
while (getline(file, line))
{
// stringstream the getline for line string in file
istringstream iss(line);
if (iss >> date >> amount)
{
cout << date << "\t\t$" << showpoint << fixed << setprecision(2) << amount << endl;
famount += amount;
}
}
cout << "Your balance is $" << famount << endl;
cout << "How much would you like to deposit today: $";
cin >> amountinput;
float newbal = 0;
newbal = (famount += amountinput);cout << "\nYour new balance is: $" << newbal << ".\n";
file << date << "\t\t" << newbal; //***This should be writing to file
but it doesn 't.
file.close();
Текстовый файл выглядит так:
Тони Гаддис
24.05.12 100
30.05.12 300
01.07.12 -300
// Консольный вывод выглядит так
Тони Гаддис
24.05.12 100
30.05.12 300
01.07.12 -300
Ваш баланс: # 1
Сколько бы вы хотели внести: # 2
Ваш новый баланс: # 1 + # 2
записать в файл
закрыть файл.
// выходит из основного цикла ::::
Как я могу сделать это записать в файл и сохранить его, и почему это происходит.
Я пытался сделать это с ostringstream
а также учитывая, как я использовал istringstream
для ввода. Но это тоже не сработало:
float newbal=0;
newbal = (famount += amountinput);
ostringstream oss(newbal);
oss << date << "\t\t" << newbal;
Я пытаюсь самостоятельно учить C ++, поэтому любая полезная информация будет любезно оценена.
Если вы хотите написать текстовый файл, вы не должны использовать «ios :: binary» при открытии файла.
Других решений пока нет …