Проблема при использовании ввода-вывода из файлов с ++ - PullRequest
0 голосов
/ 28 февраля 2019

При реализации этого кода

и программа запускается, когда всплывает черный экран, он остается включенным, больше ничего не ждал некоторое время, и ничего не произошло, не закончил, не дал мне возвращенный процесс 0, чтобы знать, что это сделановыходной файл пуст, если кто-то может сказать мне, что здесь не так

#include<iostream>
#include<fstream>
#include<iomanip>

using namespace std;

int main()
{
ifstream file;
ofstream out;

file.open("coinsCoint.txt");
out.open("1234567.txt");

int pennis,nickle,dime,quarter,sum=0;
float total;

while(!file.eof())
{
    file >> pennis >> nickle >> dime >> quarter;

    sum+=pennis+nickle*5+dime*10+quarter*25;

    total=sum/100.0;

}

out << "Total amount collected is: $" << fixed << showpoint << 
setprecision(2) << total;

file.close();
out.close();

return 0;

}

1 Ответ

0 голосов
/ 28 февраля 2019
#include<iostream>
#include<fstream>
#include<iomanip>

using namespace std;

int main()
{
    ifstream file;
    ofstream out;

    file.open("coinsCoint.txt");

    int pennis = 0, nickle = 0, dime = 0, quarter = 0, sum = 0;
    float total = 0.0;

    /* check if file is opened */
    if (file.is_open()){

        while (!file.eof())
        {
            file >> pennis >> nickle >> dime >> quarter;
            cout << "pennis " << pennis << endl;
            cout << "nickle " << nickle << endl;
            cout << "dime " << dime << endl;
            cout << "quarter " << quarter << endl;

            sum += pennis + nickle * 5 + dime * 10 + quarter * 25;
            total = sum / 100.0;
            cout << "total " << total;
        }
        file.close();
    }
    /* return if error in file open */
    else {
        cout<< "can not open given file";
        return 0;
    }
    out.open("1234567.txt");

    if (out.is_open()){
        out << "Total amount collected is: $" << fixed << showpoint <<
            setprecision(2) << total;
        out.close();
    }
    return 0;
}

Подобный учебник https://www.uow.edu.au/~lukes/TEXTBOOK/notes-cpp/io/readtextfile.html

Вы должны всегда проверять, правильно ли файл был открыт is_open()

Вам необходимо использовать cout << для печати на консоль«черный экран»

файл выглядит как

1
2
3
4

выход должен быть примерно таким:

pennis 1
nickle 2
dime 3
quarter 4
total 1.41Press <RETURN> to close this window...
...