извините за вопрос noob, но я новичок в C ++.
Мне нужно построчно прочитать некоторую информацию из файла, выполнить некоторые вычисления и вывести их в другой файл. Например, мы читаем уникальный идентификатор для каждой строки, имя и 2 числа. Последние 2 цифры умножаются, а в выходном файле идентификатор, имя и продукт печатаются построчно:
input.txt:
2431 John Doe 2000 5
9856 Jane Doe 1800 2
4029 Jack Siu 3000 10
output.txt:
ID Name Total
2431 John Doe 10000
9856 Jane Doe 3600
4029 Jack Siu 30000
Мой код похож на это, но в выходном файле отображается только первая строка. Если я нажимаю Enter
несколько раз, в выходном файле появляются другие строки:
#include <fstream>
using namespace std;
ifstream cin("input.txt");
ofstream cout("output.txt");
int main () {
int ID, I, J;
string First, Last;
char c;
cout << "ID\tName\t\Total\n";
while ((c = getchar()) != EOF) {
cin >> ID >> First >> Last >> I >> J;
cout << ID << " " << First << " " << Last << " " I * J << "\n";
}
return 0;
}
Это моя единственная проблема, что значения не появляются в выходном файле, если я не нажму Enter
несколько раз, затем закрою программу. Может кто-нибудь предложить исправление для моего кода выше, чтобы он сделал задачу без ввода с клавиатуры? Спасибо!