Skip to content

Instantly share code, notes, and snippets.

@Lerbytech
Last active March 21, 2018 19:30
Show Gist options
  • Save Lerbytech/80aa4fd8d3efa671986895a49e17153b to your computer and use it in GitHub Desktop.
Save Lerbytech/80aa4fd8d3efa671986895a49e17153b to your computer and use it in GitHub Desktop.
Пример реализации меню для различных целей.
#include <conio.h>
/*
Меню устроено так, что вы можете добавлять в него любое кол-во опций. Каждая опция вызывает отдельную функцию с необходимой логикой.
*/
// пример функции. Пишите её сами.
void Func1()
{
//...
}
// пример функции. Пишите её сами.
void Func2()
{
//...
}
// пример функции. Пишите её сами.
void Func3()
{
//...
}
// меню - это вывод красивый и
int main()
{
int keepWorking = 1; // флажок, отвечающий за то, продолжаем мы работать или нет
while (keepWorking) // вечвный цикл пока keepworking не равен 0
{
clrscr(); // вот эта функция чистит экран для красоты.
// ВАЖНО!!! Если ваша функция вывода на экрана (цифра 3) выводит что-то на экран, то после отрисовки управление вернется
//в main и clrscr может это стереть. так что обязательно поставьте getchar() в функции печати, чтобы выход из неё был только
//после ввода пользователем любого символа. Ну или просто удалите очистку экрана
// меню - графическая часть. цифры слева - это то, что нужно вводить с клавы
printf("------------------------------\n");
printf(" MENU\n");
printf(" 1 - Load Students From File\n");
printf(" 2 - Export to File\n");
printf(" 3 - Print to screen\n");
printf(" 4 - Exit");
printf("------------------------------\n");
printf(" Your option> "); // принимаем ввод пользователя
char c = getchar(); // только 1 символ!!!!
// switch выбирающий нужную опцию
switch (c)
{
case '1':
{
Func1(//...//); // просто вызывает нужную функцию. Функции могут что-либо возвращать, просто напишите необходимую логику в main
break;
}
case '2':
{
Func2(//...//);
break;
}
case '3':
{
Func3(//...//);
break;
}
case '4' // вот в этой опции осуществляется выход.
{
keepWorking = 0; // для этого отключаем флажок
break;
}
default: continue; // если ввели что-то не то, то ничего страшного.
break;
}
}
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment