初歩的な質問で申し訳ありませんが、私はC++が初めてです。
ファイルから情報を 1 行ずつ読み取り、計算を実行して、別のファイルに出力する必要があります。たとえば、各行の一意の ID、名前、および 2 つの番号を読み取ります。最後の 2 つの数字が乗算され、出力ファイルでは、ID、名前、および製品が行ごとに出力されます。
入力.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
それが私の唯一の問題です。繰り返し押してからプログラムを閉じない限り、出力ファイルに値が表示されないということです。キーボード入力なしでタスクを実行するために、上記のコードの修正を誰かが提案できますか? ありがとう!