以顾客对餐 饮服务打分为例,练习这方面的程序编写方法。假设有 40 个学生被邀请来给自助餐厅的食 品和服务质量打分,分数划分为 1~10 这 10 个等级(1 表示最低分,10 表示最高分),试 统计调查结果,并用*打印出统计结果直方图。
#include <iostream>
#include <cstdlib>
#include <tchar.h>
#include <ctime>
using namespace std;
int star(int x);
int _tmain(int argc, _TCHAR* argv[])
{
int array[40] = { 0 }, count = 0;
int score[10] = { 0 };
int random = 1;
int temp;
srand(static_cast<unsigned int>(time(NULL)));
for (int i = 0; i < 40; i++)
{
random = rand() % 10+1;
array[i] = random;
cout << array[i] << ' ';
}
cout << endl;
for (int j = 0; j < 40; j++)
for (int i = 0; i <10; i++)
{
if (array[j] == i+1) score[i]++;
}
cout << "Grade" << '\t' << "Count" << '\t' << "Histogram" << endl;
for (int i = 0; i < 10; i++)
{
temp = score[i];
cout << i+1 << '\t' << temp << '\t';
star(temp);
cout << endl;
}
}
int star(int x)
{
for (int i = 1; i < x+1; i++)
{
cout << "*";
}
return x;
}