С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Меню на консоли - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Biginteger и переменная http://www.cyberforum.ru/cpp-beginners/thread1047016.html
Например есть такое : #include "BigIntegerLibrary.hh" BigInteger a = 65536; cout << (a * a * a * a * a * a * a * a); (prints 340282366920938463463374607431768211456) ...
C++ алгоритм бм кто может написать алгоритм БМ http://www.cyberforum.ru/cpp-beginners/thread1047008.html
Возврат 2 значений из функции с одним вызовом этой же функции C++
Вообщем где то в какой то игре была хукнута одна функция int function(int arg1,int arg2,int arg3); суть в чем int function(int arg1,int arg2,int arg3) { int retval = 0; // туча...
Оператор Goto и ветвление C++
Помогите, пожалуйста, написать программу, которая сперва считывает введенное с клавиатуры число, а потом, если введено одно значение (например 10), то программа выводит 2, если введено другое...
C++ Обработка символьного массива http://www.cyberforum.ru/cpp-beginners/thread1046930.html
Итак, задание: Без использования конструкции string написать программу ввода и вывода необходимого текста с клавиатуры. Ввод осуществляется до точки. а) Вывести только маленькие латинские символы,...
C++ Как очистить cin? собственно защита от дурака, от пользователя требуется цифра, а он вводит букву, и все следующие cin не работают, cin.clear() не подходит, как реанимировать cin ? Добавлено через 3 минуты... подробнее

Показать сообщение отдельно
ПерС
375 / 291 / 90
Регистрация: 05.11.2013
Сообщений: 821
Записей в блоге: 5
Завершенные тесты: 1
19.12.2013, 12:22
а просто указатель на функцию не пробовал?
пример из сети:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <conio.h>
#include <stdlib.h>
typedef unsigned char byte;
typedef void (*FUN)(void);
 //Указатель на функцию обработки
 //пункта меню - указатель на объекты вида void Функция(void)
 
struct MENU { //например, опишем простейшее меню
 int x,y; // Позиция на экране пункта меню
 byte *str; // Строка текста меню
 FUN sf; // Указатель на функцию
         // обработки пункта
};
 
/* код функций обработки пункта меню */
 
void Exit () { exit (0); }
 
void Start () {  }
 
/* Код функций вывода и поддержки меню */
 
void DrawMenu (MENU *m) {
 gotoxy(m->x,m->y);
 cprintf ("%s",m->str);
}
#define ITEMS 2
void main () {
 MENU Menu[ITEMS]={
  { 1, 1, "Начать", Start },
  {10, 1, "Выход", Exit }
 };
 clrscr ();
 for (int i=0; i<ITEMS; i++)
  DrawMenu (&Menu[i]);
 Menu[0].sf(); /*Вызвали Start() косвенно, через указатель на функцию*/
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.