Обновить cv1/program.c

This commit is contained in:
Yevhen Kozirovskyi 2024-10-03 11:08:00 +00:00
parent d730335393
commit 6170be7394

View File

@ -8,7 +8,6 @@
void decode(char *text) { void decode(char *text) {
for (int i = 0; text[i] != '\0'; i++) { for (int i = 0; text[i] != '\0'; i++) {
switch (text[i]) { switch (text[i]) {
case '0': text[i] = 'o'; break; case '0': text[i] = 'o'; break;
case '1': text[i] = 'i'; break; case '1': text[i] = 'i'; break;
@ -21,39 +20,43 @@ void decode(char *text) {
case '8': text[i] = 'b'; break; case '8': text[i] = 'b'; break;
case '9': text[i] = 'q'; break; case '9': text[i] = 'q'; break;
} }
text[i] = tolower(text[i]); text[i] = tolower(text[i]);
} }
} }
int main() { int main() {
char slovo[MAX_LENGTH]; char slovo[MAX_LENGTH];
char dish_name[MAX_LENGTH]; char dish_name[MAX_LENGTH];
char price[MAX_LENGTH]; float price[MAX_DISHES]; // Use float array for prices
int count = 0; int count = 0;
printf("Zadaj hladanu surovinu:\n"); printf("Zadaj hladanu surovinu:\n");
fgets(slovo, MAX_LENGTH, stdin); fgets(slovo, MAX_LENGTH, stdin);
slovo[strcspn(slovo, "\n")] = 0; slovo[strcspn(slovo, "\n")] = 0;
decode(slovo); decode(slovo);
printf("Zadaj jedalny listok:\n"); printf("Zadaj jedalny listok:\n");
while (1) { while (1) {
if (fgets(dish_name, MAX_LENGTH, stdin) == NULL || strcmp(dish_name, "\n") == 0) { if (fgets(dish_name, MAX_LENGTH, stdin) == NULL || strcmp(dish_name, "\n") == 0) {
break; break;
} }
dish_name[strcspn(dish_name, "\n")] = 0; dish_name[strcspn(dish_name, "\n")] = 0;
// Načítanie ceny jedla
if (fgets(price, MAX_LENGTH, stdin) == NULL || strcmp(price, "\n") == 0) { // Read the price as a float
break; if (scanf("%f", &price[count]) != 1) {
break;
} }
price[strcspn(price, "\n")] = 0;
// Clear the newline character left in the input buffer
while (getchar() != '\n');
char normal_dish[MAX_LENGTH]; char normal_dish[MAX_LENGTH];
strcpy(normal_dish, dish_name); strcpy(normal_dish, dish_name);
decode(normal_dish); decode(normal_dish);
if (strstr(normal_dish, slovo) != NULL) { if (strstr(normal_dish, slovo) != NULL) {
printf("%s\n%s\n", dish_name, price); // Print the dish name and formatted price
printf("%s\n%.2f\n", dish_name, price[count]);
} }
count++; count++;
} }
@ -61,5 +64,3 @@ int main() {
printf("Nacitanych %d poloziek.\n", count); printf("Nacitanych %d poloziek.\n", count);
return 0; return 0;
} }