Initialization

This commit is contained in:
Kozar 2024-03-21 17:03:04 +01:00
parent 00c0b044b6
commit b48b1f925d

View File

@ -1,7 +1,6 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <stdbool.h>
#define SIZE 100 #define SIZE 100
@ -35,7 +34,7 @@ int main() {
memset(line, 0, SIZE); memset(line, 0, SIZE);
char *r = fgets(line, SIZE, stdin); char *r = fgets(line, SIZE, stdin);
// check if the line is empty or just contains newline character // check if the line is empty
if (r == NULL || (r[0] == '\n' && strlen(r) == 1)) { if (r == NULL || (r[0] == '\n' && strlen(r) == 1)) {
// end of input // end of input
break; break;
@ -44,22 +43,20 @@ int main() {
// parse the string and extract number of votes and student name // parse the string and extract number of votes and student name
int votes; int votes;
char name[SIZE]; char name[SIZE];
if (sscanf(line, "%d %[^\n]", &votes, name) != 2) {
// check if sscanf successfully parsed the input // error, input was not in expected format
if (sscanf(line, "%d %[^\n]", &votes, name) != 2 || votes < 0) { // print error message and exit
// error, input was not in expected format or votes are negative fprintf(stderr, "Nepodarilo␣nacitat␣nic\n");
// print error message and continue to next line return 1;
fprintf(stderr, "Nepodarilo nacitat nic\n");
continue;
} }
// check if this student already exists // check if this student already exists
bool found = false; int found = 0;
for (int i = 0; i < size; i++) { for (int i = 0; i < size; i++) {
if (strcmp(students[i].name, name) == 0) { if (strcmp(students[i].name, name) == 0) {
// add votes to existing student // add votes to existing student
students[i].votes += votes; students[i].votes += votes;
found = true; found = 1;
break; break;
} }
} }