所以這個程序會產生一個條形圖(非常基本),顯示過去100年間每20年的人口增長情況。如何在不重複每年for循環的情況下使此簡單代碼更有效?
它按預期工作,但我覺得必須有更有效的循環方式,同時獲得相同的結果,而不是重複每年的for循環。我還希望保持在代碼(介紹對C++)中顯示的電平內的溶液
的People.txt包含以下內容:
這是代碼
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
int main()
{
ifstream inputFile; // File stream object
int number;
// Open the input file
inputFile.open("People.txt");
cout << "PRAIRIEVILLE POPULATION GROWTH\n" << "(each * represents 1000 people)\n";
//1910's bar
cout << "1910 ";
inputFile >> number;
for (int i = 1; i < number; i+=1000)
{
cout << "*";
}
cout << endl;
//1930's bar
cout << "1930 ";
inputFile >> number;
for (int i = 1; i < number; i+=1000)
{
cout << "*";
}
cout << endl;
//1950's bar
cout << "1950 ";
inputFile >> number;
for (int i = 1; i < number; i+=1000)
{
cout << "*";
}
cout << endl;
//1970's bar
cout << "1970 ";
inputFile >> number;
for (int i = 1; i < number; i+=1000)
{
cout << "*";
}
cout << endl;
//1990's bar
cout << "1990 ";
inputFile >> number;
for (int i = 1; i < number; i+=1000)
{
cout << "*";
}
cout << endl;
//2010's bar
cout << "2000 ";
inputFile >> number;
for (int i = 1; i < number; i+=1000)
{
cout << "*";
}
cout << endl;
// Close the file
inputFile.close();
return 0;
}
**提示**只使用兩個循環,其中一個應該被嵌套(其中一個想的?!)......和數組。 –
Nawaz
2014-10-08 05:44:24
這屬於代碼審查。我個人不能想出任何真正的方法來簡化它。您可以從括號中刪除語句,它可能看起來更好。實際上,你應該檢查打開文件的錯誤,並確保People.txt中有正確的整數。 (編輯:我可能還沒有理解這個問題。) – 2014-10-08 05:44:44
@EvanCarslake這應該給你一個關於代碼設置顯示簡單的想法。 http://i.imgur.com/8TcpTkh.png – RufioLJ 2014-10-08 05:51:52