Обновить cv1/program.c
This commit is contained in:
		
							parent
							
								
									29a04f727c
								
							
						
					
					
						commit
						addd9abf22
					
				| @ -5,6 +5,7 @@ | ||||
| #define MAX_DISHES 100 | ||||
| #define MAX_NAME_LEN 100 | ||||
| 
 | ||||
| // Функция для декодирования символов
 | ||||
| void decodovane_slovo(char *text) { | ||||
|     for (int i = 0; text[i]; i++) { | ||||
|         switch (text[i]) { | ||||
| @ -25,56 +26,63 @@ void decodovane_slovo(char *text) { | ||||
| 
 | ||||
| int main() { | ||||
|     char ingredient[MAX_NAME_LEN]; | ||||
|     char dishes[MAX_DISHES][2][MAX_NAME_LEN]; | ||||
|     int count = 0; | ||||
|     char dishes[MAX_DISHES][2][MAX_NAME_LEN];  // Массив для хранения блюд и цен
 | ||||
|     int count = 0;  // Количество введенных блюд
 | ||||
| 
 | ||||
|     // Запрос ингредиента
 | ||||
|     printf("Zadaj hladanu surovinu:\n"); | ||||
|     if (fgets(ingredient, MAX_NAME_LEN, stdin) == NULL) { | ||||
|         return 0; | ||||
|         return 0;  // Выход, если ввод не удался
 | ||||
|     } | ||||
|     ingredient[strcspn(ingredient, "\n")] = '\0';  // Удаление символа новой строки
 | ||||
| 
 | ||||
|     // Запрос списка блюд
 | ||||
|     printf("Zadaj jedalny listok:\n"); | ||||
|     while (1) { | ||||
|         char name[MAX_NAME_LEN], price[MAX_NAME_LEN]; | ||||
| 
 | ||||
|         if (fgets(name, MAX_NAME_LEN, stdin) == NULL) { | ||||
|             return 0; | ||||
|             return 0;  // Выход, если ввод не удался
 | ||||
|         } | ||||
|         name[strcspn(name, "\n")] = '\0';  // Удаление символа новой строки
 | ||||
| 
 | ||||
|         // Если строка пустая, завершить ввод
 | ||||
|         if (strlen(name) == 0) { | ||||
|             break; | ||||
|         } | ||||
| 
 | ||||
|         if (fgets(price, MAX_NAME_LEN, stdin) == NULL) { | ||||
|             return 0; | ||||
|             return 0;  // Выход, если ввод не удался
 | ||||
|         } | ||||
|         price[strcspn(price, "\n")] = '\0';  // Удаление символа новой строки
 | ||||
| 
 | ||||
|         // Сохранение названия блюда и цены
 | ||||
|         strncpy(dishes[count][0], name, MAX_NAME_LEN - 1); | ||||
|         dishes[count][0][MAX_NAME_LEN - 1] = '\0'; | ||||
|         dishes[count][0][MAX_NAME_LEN - 1] = '\0';  // Завершение строки
 | ||||
| 
 | ||||
|         strncpy(dishes[count][1], price, MAX_NAME_LEN - 1); | ||||
|         dishes[count][1][MAX_NAME_LEN - 1] = '\0'; | ||||
|         dishes[count][1][MAX_NAME_LEN - 1] = '\0';  // Завершение строки
 | ||||
| 
 | ||||
|         count++; | ||||
|         count++;  // Увеличение счётчика блюд
 | ||||
|     } | ||||
| 
 | ||||
|     decodovane_slovo(ingredient);  // Декодируем ингредиент
 | ||||
|     // Декодирование введенного ингредиента
 | ||||
|     decodovane_slovo(ingredient); | ||||
| 
 | ||||
|     // Поиск и вывод блюд, содержащих искомый ингредиент
 | ||||
|     for (int i = 0; i < count; i++) { | ||||
|         char decoded_name[MAX_NAME_LEN]; | ||||
|         strncpy(decoded_name, dishes[i][0], MAX_NAME_LEN - 1); | ||||
|         decoded_name[MAX_NAME_LEN - 1] = '\0'; | ||||
| 
 | ||||
|         decodovane_slovo(decoded_name);  // Декодируем имя блюда
 | ||||
|         decodovane_slovo(decoded_name);  // Декодируем название блюда
 | ||||
| 
 | ||||
|         if (strstr(decoded_name, ingredient) != NULL) { | ||||
|             printf("%s %s\n", dishes[i][0], dishes[i][1]); | ||||
|         if (strstr(decoded_name, ingredient) != NULL) {  // Проверка на совпадение с ингредиентом
 | ||||
|             printf("%s %s\n", dishes[i][0], dishes[i][1]);  // Вывод оригинального названия и цены
 | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     // Вывод количества введенных блюд
 | ||||
|     printf("Nacitanych %d poloziek.\n", count); | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user