#include #include #include #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 slovo[MAX_LENGTH]; char dish_name[MAX_LENGTH]; float price[MAX_DISHES]; // Use float array for prices int count = 0; printf("Zadaj hladanu surovinu:\n"); fgets(slovo, MAX_LENGTH, stdin); slovo[strcspn(slovo, "\n")] = 0; decode(slovo); printf("Zadaj jedalny listok:\n"); while (1) { if (fgets(dish_name, MAX_LENGTH, stdin) == NULL || strcmp(dish_name, "\n") == 0) { break; } dish_name[strcspn(dish_name, "\n")] = 0; // Read the price as a float if (scanf("%f", &price[count]) != 1) { break; } // Clear the newline character left in the input buffer while (getchar() != '\n'); char normal_dish[MAX_LENGTH]; strcpy(normal_dish, dish_name); decode(normal_dish); if (strstr(normal_dish, slovo) != NULL) { // Print the dish name and formatted price printf("%s\n%.2f\n", dish_name, price[count]); } count++; } printf("Nacitanych %d poloziek.\n", count); return 0; }