Как сделать меню для программы? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Надо сделать меню для программки, 1. Ввод чисел в массив random 2. Ввод своих чисел в массив как это сделать, в паскале знаю как, а вот в Си нет.

Решение задачи: «Как сделать меню для программы?»

textual
Листинг программы
#include <stdio.h>
 
typedef enum {
    MENU_ITEM_EXIT,
    MENU_ITEM_USAGE,
    MENU_ITEM_HELLO,
 
    /* Should be the last */
    MENU_ITEM_UNKNOWN,
} MENU_ITEM_E;
 
const char *menu_item_names[] = {
    "Exit", "Usage", "Hello", 
};
 
void usage() {
    printf("menu.c, 2011\n"
           "Enter the number of operation, 0 to exit\n");
}
 
void hello() {
    printf("Hello, World\n");
}
 
void menu_print_items() {
    MENU_ITEM_E i;
    for (i = 0; i != MENU_ITEM_UNKNOWN; ++i)
        printf("[%d] %s\n", i, menu_item_names[i]);
}
 
MENU_ITEM_E menu_exec(int item) {
    switch (item) {
    case MENU_ITEM_EXIT:
        break;
 
    case MENU_ITEM_USAGE:
        usage();
        break;
 
    case MENU_ITEM_HELLO:
        hello();
        break;
 
    default:
        printf("Uknown menu item\n");
        item = MENU_ITEM_UNKNOWN;
    }
 
    return item;
}
 
int main() {
    int item = 0;
 
    do {
        menu_print_items();
        printf("> ");
        scanf("%d", &item);
    } while (menu_exec(item) != MENU_ITEM_EXIT);
 
    return 0;
}

Объяснение кода листинга программы

  1. Программа представляет собой меню на языке C.
  2. Тип данных переменной itemint.
  3. Переменная item используется для получения выбора пользователя.
  4. В начале программы объявлен массив menu_item_names с именами пунктов меню.
  5. Функция usage выводит информацию о программе и её использовании.
  6. Функция hello выводит приветствие на экран.
  7. Функция menu_print_items выводит список пунктов меню.
  8. В функции menu_exec происходит обработка выбранного пункта меню.
  9. В случае выбора пункта меню Exit, Usage или Hello, выполняется соответствующая функция.
  10. В случае выбора пункта меню Unknown, на экран выводится сообщение об ошибке.
  11. В функции main создаётся переменная item, которая используется для получения выбора пользователя.
  12. В цикле до тех пор, пока пользователь не выберет пункт меню Exit, происходит вывод списка пунктов меню и получение выбора пользователя.
  13. После получения выбора пользователя, он передаётся в функцию menu_exec для обработки.
  14. После выполнения функции menu_exec, программа возвращается в начало цикла.
  15. В конце программы выполняется команда return 0;, заканчивающая работу программы.
  16. Для работы программы на ввод данных от пользователя используется функция scanf.
  17. В данном коде не обрабатывается случай, когда пользователь вводит некорректные данные.
  18. В данном коде не обрабатывается случай, когда пользователь вводит буквы вместо цифр.
  19. В данном коде не обрабатывается случай, когда пользователь вводит число, которое не соответствует номеру пункта меню.
  20. В данном коде не обрабатывается случай, когда пользователь вводит число, которое больше или меньше, чем количество пунктов меню.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы