Создание программы oldschool checkbook, которая читает входные данные из файла - PullRequest
0 голосов
/ 20 апреля 2019

Я создаю программу чековой книжки, которая считывает входные данные из файла и форматирует их в стиле чековой книжки с итогом, напечатанным в конце.Как и чековая книжка, депозит добавляется к итоговому значению, а транзакция вычитается из него.

Все входные данные, считанные из файла, являются строковыми, и моя проблема в том, что я не могу понять, как вызватьсумма транзакции удваивается, а затем складывается / вычитается соответственно.Я знаю, что моя ошибка заключается в том, как я пытаюсь добавить итоги транзакции, но я не уверен, что делать.

Я попытался удвоить строку (метод stod (количество)), но не могу понять.

Содержимое файла, с которого я читаю:

deposit:August 5:-:155
10:Sept 15:Taco Bell:10.25
11:Nov 23:Wal Mart:19.95
deposit:Dec 10:-:100

Вот мой код:

#include <iostream> 
#include <fstream>
#include <iomanip>
#include <string>
using namespace std;

int main()
{
    string fileName;
    cout << "Please enter name of file to be read: ";
    cin >> fileName;

    ifstream in(fileName);

if(!in.good())
{
    cerr << "Unable to open " << fileName << endl;
    exit(1);
}

double total = 0;

while(!in.eof())
{

    string trans;
    getline(in,trans, ':');
    cout << left << setw(15) << trans;

    string date;
    getline(in, date, ':');
    cout << setw(15) << date;

    string name;
    getline(in, name, ':');
    cout << setw(15) << name;

    string symbol;
    cout << right << "$";

    string amount;
    getline(in, amount);
    double total = stod(amount);
    cout << right << setw(10) << total << endl;


    if(trans == "deposit")
    {
        double sum += total;
    }
    else
    {
        double sum -= total;
    }

    cout << sum << endl;

}



system("pause");
return 0;

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...