プログラムの説明: sales.datという名前のデータファイルを読み取るプログラムを作成します。 プログラムは、各店舗の売上を比較する棒グラフを表示し、売上棒グラフをファイル名results.datに出力する必要があります。 アスタリスクの行を表示して棒グラフの各バーを作成します。各アスタリスクは100ドルの売上を表します。プログラムは動作していたが、動作を停止した
これは、Visual Studioのsales.txtとresults.txtに2つのリソースファイルを使用しています。だから、基本的に、私はプログラムが働いていた、と私は割り当てのためにそれを提出した。私は今日それを再開してそれを混乱させ、それは完全に機能しなくなった。それはsales.txtから読んでいないようです。 sales.txtには、各行にランダムな整数が入っています。例では、1000,1200,1400です。結果にはresults.txtとコンソールの各行に10,12,14のアスタリスクが表示されます。 店舗:2: など、ないアスタリスクを示さない
問題
は、それが 店1が言うことです。私は販売を割り当てる後にする必要が int main() {
int storeAmount = 0;
double sales = 0.0;
int starAmount = sales/100; //gets the amount of stars needed
ifstream inFile("sales.txt"); //opens the file sales.txt which is a resource file
ofstream outFile("results.txt"); //opens the file results.txt which is our output file
string outputStars = ""; //holds the stars for the bar graph
cout << "Please input the amount of stores:" << endl; //input the amount of stores
cin >> storeAmount;
cout << "SALES BAR CHART:" << endl; //header output
cout << "Each * = $100" << endl;
for (int storeNum = 0; storeNum < storeAmount; storeNum++) { //loops to the max store amount
inFile >> sales; //variable sales holds the value of each of the lines in sales.txt
for (int i = 0; i < starAmount; i++) { //adds stars onto the string
outputStars += "*";
}
cout << "Store " << storeNum + 1 << ": " << outputStars << endl; //ouputs in the console
outFile << "Store " << storeNum + 1 << ": " << outputStars << endl; //outputs to the file
if (inFile.eof()) { //stops the duplication of the last line if the store amount is greater than the numbers in sales.txt
break;
}
}
outFile.close(); //closes the files
inFile.close();
system("pause");
return 0;
}
を完了するために行われる変更についてのコメントを追加あなたのコードを変更しました。それは常に0になります。 –
私はばかです。 int starAmount = sales/100;私はファイルから売上を入力した後にする必要があります。 – Cory
コードを正しくインデントしてください。正しく動作しないかもしれませんが、少なくともそれを読みやすくするかもしれません.... – jpo38