Простая задача но не получается - C (СИ)
Формулировка задачи:
The menu:
0.Exit
1.Print menu again
2.Prime count matrix
3. Germain prime numbers in range.
4. Layers printing.
Please enter your choice:
Это должно отображаться при начале работы.Допустим что пользователь набирает только целы числа.
когда нажимает 0+enter должна закрыться программа, при 1 опять должен напечатать все заново. При 2,3,4 уже другие команды. Важно то что если пользователь набирае 5 раз( не обязятельно подряд) числа больше 4 тогда должна закрыться программа. Есть идеи? Уже сломала голову
Решение задачи: «Простая задача но не получается»
textual
Листинг программы
- #include <stdio.h>
- #ifdef _MSC_VER
- #define INLINE __forceinline
- #else
- #define INLINE inline
- #endif
- #define WRONG_CMDS_LIMIT 5
- static INLINE void show_menu()
- {
- printf("The menu:\n");
- printf("0. Exit.\n");
- printf("1. Print menu again.\n");
- printf("2. Prime count matrix.\n");
- printf("3. Germain prime numbers in range.\n");
- printf("4. Layers printing.\n");
- printf("Please enter your choice: \n");
- }
- int main()
- {
- int cmd;
- int wrong_cmds = 0;
- while (1)
- {
- show_menu();
- if ( (cmd > 4)
- || (cmd < 0))
- {
- if (++wrong_cmds == WRONG_CMDS_LIMIT)
- return 1;
- }
- else if (cmd == 0)
- {
- return 0;
- }
- else if (cmd == 1)
- {
- ; // ничего не делаем
- }
- else if (cmd == 2)
- {
- // описываем то, что происходит при выборе пункта 2
- }
- else if (cmd == 3)
- {
- // описываем то, что происходит при выборе пункта 3
- }
- else if (cmd == 4)
- {
- // описываем то, что происходит при выборе пункта 4
- }
- printf("\n");
- }
- return 0;
- }
Объяснение кода листинга программы
- Включаем заголовочный файл stdio.h для использования функций ввода-вывода.
- Определяем макрос INLINE для обеспечения встраивания функций.
- Устанавливаем значение WRONG_CMDS_LIMIT равным 5.
- Создаем функцию show_menu, которая выводит меню.
- В функции main создаем переменные cmd и wrong_cmds типа int.
- Запускаем бесконечный цикл while (1), который будет выполняться до тех пор, пока пользователь не введет команду со значением 0.
- Внутри цикла вызываем функцию show_menu для вывода меню.
- Проверяем значение команды cmd: если оно больше 4 или меньше 0, то увеличиваем счетчик wrong_cmds на 1 и проверяем его значение. Если wrong_cmds == WRONG_CMDS_LIMIT, то выходим из программы с помощью return 1.
- Если cmd == 0, то выходим из программы с помощью return 0.
- Если cmd == 1, то ничего не делаем.
- Если cmd == 2, то описываем то, что происходит при выборе пункта 2.
- Если cmd == 3, то описываем то, что происходит при выборе пункта 3.
- Если cmd == 4, то описываем то, что происходит при выборе пункта 4.
- Выводим символ новой строки
\n
. - Если wrong_cmds достигнет значения WRONG_CMDS_LIMIT, то выходим из программы с помощью return 1.
- По завершению работы программы возвращаем 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д