int main(int argc, const char * argv[]) { auto pCounter = std::make_shared<Counter>(); const auto friends0 = std::vector<std::string>{"NNN", "NNN", "NNN"}; const auto nFriends0 = pCounter->highestScore(friends0); assert(nFriends0 == 0); const auto friends1 = std::vector<std::string>{ "NYY", "YNY", "YYN" }; const auto nFriends1 = pCounter->highestScore(friends1); assert(nFriends1 == 2); const auto friends2 = std::vector<std::string>{ "NYNNN", "YNYNN", "NYNYN", "NNYNY", "NNNYN" }; const auto nFriends2 = pCounter->highestScore(friends2); assert(nFriends2 == 4); const auto friends3 = std::vector<std::string>{ "NNNNYNNNNN", "NNNNYNYYNN", "NNNYYYNNNN", "NNYNNNNNNN", "YYYNNNNNNY", "NNYNNNNNYN", "NYNNNNNYNN", "NYNNNNYNNN", "NNNNNNYNNN", "NNNNNYNNNN" }; const auto nFriends3 = pCounter->highestScore(friends3); assert(nFriends3 == 8); const auto friends4 = std::vector<std::string>{ "NNNNNNNNNNNNNNY", "NNNNNNNNNNNNNNN", "NNNNNNNYNNNNNNN", "NNNNNNNYNNNNNNY", "NNNNNNNNNNNNNNY", "NNNNNNNNYNNNNNN", "NNNNNNNNNNNNNNN", "NNYYNNNNNNNNNNN", "NNNNNYNNNNNYNNN", "NNNNNNNNNNNNNNY", "NNNNNNNNNNNNNNN", "NNNNNNNNYNNNNNN", "NNNNNNNNNNNNNNN", "NNNNNNNNNNNNNNN", "YNNYYNNNNYNNNNN"}; const auto nFriends4 = pCounter->highestScore(friends4); assert(nFriends4 == 6); std::cout << "Success" << std::endl; return 0; }
int main() { char heading[7][25]; int noStud = 0, i, j; char ch; FILE *fp; fp = fopen("Student.csv", "r"); if (fp == NULL) { printf("File not found!"); return 0; } // get number of students do { ch = fgetc(fp); if (ch == '\n') { noStud++; } } while (ch != EOF); // dynamically allocate memory stud = (struct student*) malloc((noStud)*sizeof(struct student)); rewind(fp); // read file and store data for (i = 0; i < 6; i++) { fscanf(fp, "%[^,],", heading[i]); } fscanf(fp, "%[^\n]", heading[i]); for (i = 0; i < noStud; i++) { fscanf(fp, "%d,%[^,],%d,%d,%d,%d,%d", &stud[i].serialNo, stud[i].name, &stud[i].marks[0], &stud[i].marks[1], &stud[i].marks[2], &stud[i].marks[3], &stud[i].marks[4]); } float avg[5] = {0}; char *high[5]; averageMarks(noStud, avg); highestScore(noStud, high); printf("\nAVERAGE MARKS :\n\n"); for (i = 0; i < 5; i++) { printf("In %s : %f\n", heading[i + 2], avg[i]); } printf("\nTOP SCORERS :\n\n"); for (i = 0; i < 5; i++) { printf("In %s : %s\n", heading[i + 2], high[i]); } return 0; }