const char msgs NULL Exit programm Show menu Print table Generate rand

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
const char* msgs[] = { NULL, "Exit programm", "Show menu", "Print table", "Generate random table",
"Input item", "Delete key", "Find key" }; //строки меню
const int NMsgs = sizeof(msgs) / sizeof(msgs[0]);
int main()
{
int rc;
int(*fun[]) (Table*) = { NULL, F1_End, F2_Menu, F3_Print, F4_Generate,
F5_Input, F6_DeleteKey, F7_FindKey }; //массив функций
Table* T = TableCreate(SIZE); //создание таблицы
if (T == NULL)
{
puts("out of memory");
return 0;
}
srand((unsigned int)time(NULL)); //задаём зерно генератора
//выбор пункта меню
while(rc = dialog(msgs, NMsgs))
if(!fun[rc](&T)) //вызывается диалоговая функция, соответствующая введенному номеру альтернативы
break;
printf("That's all. Bye! \n"); // завершение работы
TableDelete(&T); // совобождение памяти, занятой таблицей
return 0;
}