diff --git a/cv1/program.c b/cv1/program.c index 6f829fd..1970aba 100644 --- a/cv1/program.c +++ b/cv1/program.c @@ -10,100 +10,64 @@ struct Menu{ float price; }; -int lower(char c) { - return (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9'); -} - -char transform(char c) { - switch (c) { - case '0': return 'o'; - case '1': return 'i'; - case '2': return 'z'; - case '3': return 'e'; - case '4': return 'a'; - case '5': return 's'; - case '6': return 'b'; - case '7': return 't'; - case '8': return 'b'; - case '9': return 'q'; - default: return c; +void transform(char *str) { + for (int i = 0; str[i]; 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: break; + } } } - -int compare(const char *str1, const char *str2) { - int i = 0, j = 0; - while (str1[i] && str2[j]) { - char c1 = transform(str1[i]); - char c2 = transform(str2[j]); - -if (str1[i] >= 'A' && str1[i] <= 'Z') { - str1[i] += 'a' - 'A'; - } - if (str2[i]>= 'A' && str2[i] <= 'Z') { - str2[i] += 'a' - 'A'; - } - - if (c1 != c2) { - - return 0; - - } - i++; - j++; - } - return str1[i] == '\0' && str2[j] == '\0'; // Strings are equal -} - + int main() { - char searchStr[100]; - printf("Zadaj hladanu surovinu: "); - if (fgets(searchStr, sizeof(searchStr), stdin) == NULL) { - printf("Chyba pri citani vstupu.\n"); - return 1; - } + char search[100]; + int pizza = 0; - size_t len = strlen(searchStr); - if (len > 0 && searchStr[len - 1] == '\n') { - searchStr[len - 1] = '\0'; - } +printf("Zadaj hladanu surovinu:\n"); + fgets(searchStr, sizeof(searchStr), stdin); + search[strlen(search) - 1] = '\0'; -struct MenuItem menu[100]; - int menuSize = 0; + transform(search); -printf("Zadaj jedalny listok:\n"); + printf("Zadaj jedalny listok:\n"); -while (menuSize < 100) { - if (fgets(menu[menuSize].name, sizeof(menu[menuSize].name), stdin) == NULL) { + while (1) { + struct Menu menu; + char pizza_name[100]; + + if (fgets(pizza_name, sizeof(pizza_name), stdin) == NULL) { break; -} - if (sscanf(menu[menuSize].name, "%f", &menu[menuSize].price) != 1) { - printf("Chyba pri citani ceny.\n"); - return 1; - } - menuSize++; - } + } + + pizza_name[strlen(pizza_name) - 1] = '\0'; -printf("\nNájdené položky:\n"); - int foundItems = 0; - for (int i = 0; i < menuSize; i++) { - if (strstr(menu[i].name, searchStr) || compareStrings(menu[i].name, searchStr)) { - printf("%s\n%.2f\n", menu[i].name, menu[i].price); - foundItems++; + char transformed_pizza_name[100]; + strcpy(transformedpizza_name, pizza_name); + transform(transformed_pizza_name); + + if (strstr(transformed_pizza_name, search) != NULL) { + // Načítanie ceny jedla + if (scanf("%f", &pizza.price) != 1) { + printf("Chyba pri nacitani ceny pre jedlo: %s\n", pizza_name); + return 1; + } + + printf("%s\n", pizza_name); + printf("%.2f\n", pizza.price); + item++; } } - printf("\nNacitanych %d poloziek.\n", menuSize); + printf("Nacitanych %d poloziek.\n", item); return 0; } - - - - - - - - - - -