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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 163, средняя оценка - 4.72
cnipni
0 / 0 / 0
Регистрация: 26.10.2010
Сообщений: 19
#1

Создание меню в консольном приложении - C++

14.11.2010, 16:05. Просмотров 25169. Ответов 36
Метки нет (Все метки)

Здравствуйте! Нужно создать меню. Каждый пункт в меню - программа, т.е. в меню можно выбирать какую программу запустить. Подскажите пожалуйста как это реализовать, с пояснениями, пожалуйста
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2010, 16:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создание меню в консольном приложении (C++):

Меню в консольном приложении - C++
есть ошибки не могу исправить #include <iostream> #include <iomanip> #include <ctime> #include <cstdlib> using namespace std; ...

Таблица в консольном приложении - C++
Здравствуйте. Помогите пожалуйста советом, как организовать таблицу в консольном приложении? Таблица состоит из n строк и 2 столбцов.

Timer в консольном приложении - C++
Доброе время суток! Подскажите пожалуйста, как в консольном приложении создать таймер, который бы срабатывал каждые n минут или в...

Изображение в консольном приложении. - C++
Помогите, пожалуйста, с загрузкой и отображением изображений формата bmp в консольном приложении C++. Очень надо! Заранее спасибо.

Ошибка в консольном приложении - C++
{ class Program { public struct Point { public int X; public int Y; ...

Графика в консольном приложении - C++
Помогите создать приблизительно такую штуку, которая будет высвечиваться при запуске консольной программы, и по нажатию на любую клавишу...

36
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,389
Записей в блоге: 2
Завершенные тесты: 1
14.11.2010, 17:33 #16
Цитата Сообщение от cnipni Посмотреть сообщение
а эта функция входит в состав какой библиотеки?
stdlib.h, но можете не писать #include<stdlib.h>, компилятор ее включит.
т.е. можно было бы написать
C++
1
2
3
4
5
6
switch (a)
{
   case 0: system("start LAB0.exe");
   case 1: system("start LAB1.exe");
   case 2: system("start LAB2.exe");
   default (a>2): printf("Нет такой л.р.");
????
Да. Только писать (a>2) не нужно. И добавьте break; в каждом case
1
cnipni
0 / 0 / 0
Регистрация: 26.10.2010
Сообщений: 19
14.11.2010, 17:37  [ТС] #17
из какого каталога функция system запускает экзешники? из того же, в котором сама находится?
0
rrrFer
Заблокирован
14.11.2010, 18:28 #18
cnipni, и еще надо посмотреть перменную среды PATH
1
cnipni
0 / 0 / 0
Регистрация: 26.10.2010
Сообщений: 19
14.11.2010, 18:38  [ТС] #19
ув.rrrFer, подскажите, пожалуйста, как, например, будет выглядеть код меню из выбора 3ух строк:
1-выполнить л.р.№1
2-выполнить л.р.№2
3-выход
??
0
rrrFer
Заблокирован
14.11.2010, 18:52 #20
cnipni, Kastaneda ведь написал
0
cnipni
0 / 0 / 0
Регистрация: 26.10.2010
Сообщений: 19
14.11.2010, 19:12  [ТС] #21
кастанеда написал с функцией switch, а как можно, чтобы строка выделялась нажатиями стрелок "вверх" и "вниз"?
0
rrrFer
Заблокирован
14.11.2010, 19:18 #22
cnipni,
замените функции вывода в коде Maxwe11, на функции запуска процессов.
например:
C++
1
2
 cprintf("Про автора\n\r"); //замените на:
system("start LAB0.exe");
Если я вас правильно понял
1
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,389
Записей в блоге: 2
Завершенные тесты: 1
14.11.2010, 19:31 #23
подскажите, пожалуйста, как, например, будет выглядеть код меню из выбора 3ух строк:
1-выполнить л.р.№1
2-выполнить л.р.№2
3-выход
??
C++
1
2
3
4
5
6
7
8
9
10
11
12
cout<<"If you want start programm \"Kill all humans\", press 1"<<endl;
cout<<"If you want start programm \"Save all humans\", press 2"<<endl;
cout<<"If you are indifferent about the fate of humans, press 0"<<endl;
int H;
cin>>H;
 switch (H)
{
   case 0: exit(0);
   case 1: system("start Kill_all_humans.exe");break;
   case 2: system("start Save_all_humans.exe");break;
   default : printf("You are useless!");
}
Добавлено через 4 минуты
Цитата Сообщение от rrrFer Посмотреть сообщение
cnipni, и еще надо посмотреть перменную среды PATH
В данном случае достаточно, чтоб екзешник был в каталоге с программой

Цитата Сообщение от cnipni Посмотреть сообщение
кастанеда написал с функцией switch
Это не я писал.
1
rrrFer
Заблокирован
14.11.2010, 19:35 #24
Kastaneda,
В данном случае достаточно, чтоб екзешник был в каталоге с программой
про PATH я написал на случай если он захочет калькулятор, например, запустить чтоб не копировал в каталог программы.
1
cnipni
0 / 0 / 0
Регистрация: 26.10.2010
Сообщений: 19
14.11.2010, 19:42  [ТС] #25
большое всем спасибо, сейчас буду разбираться
0
cnipni
0 / 0 / 0
Регистрация: 26.10.2010
Сообщений: 19
08.12.2010, 18:13  [ТС] #26
все равно программа не запускается с помощью "start LAB.exe"
0
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,389
Записей в блоге: 2
Завершенные тесты: 1
08.12.2010, 19:22 #27
Попробуйте скомпилировать и выполнить вот это:
C++
1
2
3
4
5
#include<cstdlib>
int main(){
    system("start c:\\WINDOWS\\system32\\calc.exe");
    return 0;
}
Скажите потом, что у вас получилось.

P.S. опытным путем было выяснено, что GCC почему-то не выполняет этот код, хотя компилирует. Так что если у вас gcc (ну там или DEV C++ или Code Blocks) то возможно причина в этом.
1
rrrFer
Заблокирован
08.12.2010, 20:05 #28
Kastaneda,
обычно c:\\WINDOWS\\system32\\ записано в PATH, поэтому:
C++
1
2
3
4
5
#include<cstdlib>
int main(){
    system("start calc");
    return 0;
}
тоже работает.
Цитата Сообщение от Kastaneda Посмотреть сообщение
P.S. опытным путем было выяснено, что GCC почему-то не выполняет этот код, хотя компилирует.
Извиняюсь что придираюсь к словам, но вообще не понял что вы имели ввиду. GCC вообще не выполняет код, разве нет?
1
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,389
Записей в блоге: 2
Завершенные тесты: 1
08.12.2010, 20:14 #29
Ну да, не правильно выразился)
Правильно так: программа, скомпилированная компилятором gcc, не запускает калькулятор, просто ни чего не происходит, хотя при компиляции ошибок не было, т.е. ф-цию system() он (компилятор) распознал.
0
rrrFer
08.12.2010, 20:24     Создание меню в консольном приложении
  #30

Не по теме:

Kastaneda, если используете именно gcc(как вы пишите) то МБ cstdlib надо заменить на stdlib.h?
Как компилируете вообще?

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2010, 20:24
Привет! Вот еще темы с ответами:

Таймер в консольном приложении - C++
Подскажите, как сделать чтобы консольное приложение было постоянно запущено и раз в 1 минуту выполняло одну из функций? Добавлено...

WxWidgets - в консольном приложении - C++
Начал изучение библиотек wxWidgets в Code Blocks, столкнулся с проблемой компиляции, вроде все подключено,просто строку в консоль выводит а...

Графика в консольном приложении VS - C++
подскажите как построить систему координат X,Y. в консольном приложении.Какие модули следует подключать и порядок ввода вывода линий и...

Таймер в консольном приложении - C++
Всем доброго времени суток, у меня вопрос, как сделать так, чтобы программа записывала текст в файл, а, к примеру через 40 минут стирала...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
08.12.2010, 20:24
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.