123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
#include <iostream> #include <fstream> #include <string> using namespace std; const int maxCategory = 7; int getCategory(int); void initialize(int student[]); void getStudent(int category, int student[]); void printArray(int category, int student[]); int main() { int category; int score; int student[maxCategory]; ifstream infile; infile.open("scores.txt"); if (!infile) { cout<<"Cannot open input file. "<< endl; return 1; } initialize(student); infile >> score; while (!infile.eof()) { category = getCategory(score); getStudent(category, student); infile >> score; } infile.close(); printArray(category, student); system("Pause"); return 0; } void initialize(int student[]) { int j; for (j=0; j<= maxCategory; j++) { student[j]=0; } } void getStudent(int c, int s[]) { if (c <= maxCategory) { s++; } } void printArray(int category, int student[]) { string scoreRange; cout << " Score Range #of students" << endl; for (category=0; category <= maxCategory; category++) { switch (category) { case 0: scoreRange= " 0----24"; break; case 1: scoreRange= " 25---49"; break; case 2: scoreRange= " 50---74"; break; case 3: scoreRange= " 75---99"; break; case 4: scoreRange= " 100-124"; break; case 5: scoreRange= " 125-149"; break; case 6: scoreRange= " 150-174"; break; case 7: scoreRange= " 175-200"; break; } cout << scoreRange << " "; cout << student[category ]<< endl; } } int getCategory(int score) { int scoreRange; if (score >=0 && score <25) scoreRange=0; else if (score >=25 && score <50) scoreRange=1; else if (score >=50 && score <75) scoreRange=2; else if (score >=75 && score < 100) scoreRange=3; else if (score >=100 && score <125) scoreRange=4; else if (score >=125 && score <150) scoreRange=5; else if (score >=150 && score <175) scoreRange=6; else if (score >=175 && score <=200) scoreRange=7; return scoreRange; }
for (category=0; category <= maxCategory; category++)