Простая задача но не получается - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д