diff --git a/cv1/program.c b/cv1/program.c index 836ba6b..62560db 100644 --- a/cv1/program.c +++ b/cv1/program.c @@ -2,60 +2,64 @@ #include #include -void normalize(char *str) { - for (int i = 0; str[i] != '\0'; i++) { - switch (str[i]) { - case '0': str[i] = 'o'; break; - case '1': str[i] = 'i'; break; - case '2': str[i] = 'z'; break; - case '3': str[i] = 'e'; break; - case '4': str[i] = 'a'; break; - case '5': str[i] = 's'; break; - case '6': str[i] = 'b'; break; - case '7': str[i] = 't'; break; - case '8': str[i] = 'b'; break; - case '9': str[i] = 'q'; break; - default: str[i] = tolower(str[i]); break; +#define MAX_DISHES 100 +#define MAX_LENGTH 100 + + +void decode(char *text) { + for (int i = 0; text[i] != '\0'; i++) { + + switch (text[i]) { + case '0': text[i] = 'o'; break; + case '1': text[i] = 'i'; break; + case '2': text[i] = 'z'; break; + case '3': text[i] = 'e'; break; + case '4': text[i] = 'a'; break; + case '5': text[i] = 's'; break; + case '6': text[i] = 'b'; break; + case '7': text[i] = 't'; break; + case '8': text[i] = 'b'; break; + case '9': text[i] = 'q'; break; } + text[i] = tolower(text[i]); } } int main() { - char search[100]; - char item_name[100]; - char price[10]; - int count = 0; + char slovo[MAX_LENGTH]; + char dish_name[MAX_LENGTH]; + char price[MAX_LENGTH]; + int count = 0; - printf("Zadaj hladanu surovinu:"); - fgets(search, sizeof(search), stdin); - search[strcspn(search, "\n")] = '\0'; - normalize(search); + printf("Zadaj hladanu surovinu:\n"); + fgets(slovo, MAX_LENGTH, stdin); + slovo[strcspn(slovo, "\n")] = 0; + decode(slovo); printf("Zadaj jedalny listok:\n"); - while (1) { - - fgets(item_name, sizeof(item_name), stdin); - item_name[strcspn(item_name, "\n")] = '\0'; - if (strlen(item_name) == 0) break; - - - fgets(price, sizeof(price), stdin); - price[strcspn(price, "\n")] = '\0'; - count++; - - char normalized_name[100]; - strcpy(normalized_name, item_name); - normalize(normalized_name); - - if (strstr(normalized_name, search) != NULL) { - printf("%s\n%s\n", item_name, price); + if (fgets(dish_name, MAX_LENGTH, stdin) == NULL || strcmp(dish_name, "\n") == 0) { + break; } + dish_name[strcspn(dish_name, "\n")] = 0; + // Načítanie ceny jedla + if (fgets(price, MAX_LENGTH, stdin) == NULL || strcmp(price, "\n") == 0) { + break; + } + price[strcspn(price, "\n")] = 0; + + char normal_dish[MAX_LENGTH]; + strcpy(normal_dish, dish_name); + decode(normal_dish); + if (strstr(normal_dish, slovo) != NULL) { + printf("%s\n%s\n", dish_name, price); + } + count++; } - printf("Nacitanych %d poloziek.\n", count); - return 0; } + +