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;
}
Example #2
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;
}