Initialization
This commit is contained in:
parent
863b933c07
commit
fa0f26fda1
@ -42,15 +42,32 @@ int main() {
|
||||
|
||||
// parse the string and extract number of votes and student name
|
||||
int votes;
|
||||
if (sscanf(line, "%d %[^\n]", &votes, students[size].name) != 2) {
|
||||
char name[SIZE];
|
||||
if (sscanf(line, "%d %[^\n]", &votes, name) != 2) {
|
||||
// error, input was not in expected format
|
||||
// print error message and exit
|
||||
fprintf(stderr, "Error: invalid input format\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
// check if this student already exists
|
||||
int found = 0;
|
||||
for (int i = 0; i < size; i++) {
|
||||
if (strcmp(students[i].name, name) == 0) {
|
||||
// add votes to existing student
|
||||
students[i].votes += votes;
|
||||
found = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// if the student was not found, add a new student
|
||||
if (!found) {
|
||||
strcpy(students[size].name, name);
|
||||
students[size].votes = votes;
|
||||
size++;
|
||||
}
|
||||
}
|
||||
|
||||
// sort students based on their votes
|
||||
qsort(students, size, sizeof(struct student), compare);
|
||||
@ -60,7 +77,6 @@ int main() {
|
||||
for (int i = 0; i < size; i++) {
|
||||
printf("%d %s\n", students[i].votes, students[i].name);
|
||||
}
|
||||
// printf("\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user