Форум программистов, компьютерный форум CyberForum.ru

Работа с меню в консоли - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
Noclip
43 / 27 / 2
Регистрация: 27.09.2011
Сообщений: 280
09.11.2011, 22:19     Работа с меню в консоли #1
я написал программу
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
38
39
40
41
42
43
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
#include<iomanip.h>
#include<system.hpp>
int comp(const void *a,const void *b)
{return +(*(int*)a-*(int*)b);}
int rus(char str_c[])
{char *str=new char[255];
AnsiToOem(str_c,str);
cout<<'\n'<<str;
return(0);
}
int main()
{int i,n,max,i_max,sum=0,post_poz;
cout<<"N=";
cin>>n;
int *a=new int [n];      
rus("Введите элементы");
cout<<'\n';
for (int i=0;i<n;i++) cin>>a[i];
rus("Вывод элементов массива:       ");
for (i=0;i<n;i++)
cout<<setw(4)<<a[i];
max=a[0];
i_max=0;
for (int i=0;i<n;i++) if (a[i]>max) {max=a[i]; i_max=i;}
rus("Максимальный элемент массива:");
cout<<max;
rus("Номер максимального элемента массива:");
cout<<i_max+1;
for (int i=n-1;i!=0;i--) if (a[i]>0) {post_poz=i; break;}
for (int i=0;i<post_poz;i++) sum+=a[i];
rus("Сумма всех элементов массива до последнего положительного элемента:");
cout<<sum;
qsort(a,n,sizeof(int),comp);
 rus("Вывод массива после сортировки:");
for (i=0;i<n;i++)
cout<<setw(4)<<a[i];
delete(a);
getch();
return(0);
}
Мне нужно сделать вот по такому меню
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
int menu(); //обьявление функции
int main()
{int c;
clrscr;
for( ; ; )
{c=menu(); //обращение к функции
switch(c)
{
case(1):cout<<"Vibran punkt vvoda\n";break;
case(2):cout<<"Vibran punkt vivoda\n";break;
case(3):cout<<"Vibran punkt max i ego poziciya \n";break;
case(4):cout<<"Vibran punkt summi \n";break;
case(5):cout<<"Vibran punkt sortirovki\n";break;
case(6):cout<<"Vibran punkt konca raboti programmi\n";break;
default:cout<<"Vi oshiblis, vvedite punkt menu snova \n";break;
}
getch();
if (c==6) break;
}         //конец тела бесконечного цикла
getch();
return(0);
}        //конец главной функции
int menu()     //определение функции для вывода меню
{ int c;
clrscr();
cout<<"\n   ......MNEU......  \n\n";
cout<<"\n(1)Pervonachalniy vvod dannix \n";
cout<<"(2)Vivod dannix \n";
cout<<"(3)Max element massiva i ego poziciya\n";
cout<<"(4)summa elementov do poslednego polozhitelnogo \n";
cout<<"(5)Sortirovka dannix po vozrastaniyu \n";
cout<<"(6)Konec raboti programmi \n";
cin>>c;
return(c);
}
Я пока еще учусь с с++ !!!
От меня ОГРОМНОЕ СПАСИБО! =)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2011, 22:19     Работа с меню в консоли
Посмотрите здесь:

Меню в консоли, управление стрелками C++
C++ Меню в консоли
C++ оригинальное меню в консоли
Создание меню в консоли (не контекстное) C++
C++ Помогите создать меню в консоли
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Spirited
7 / 7 / 0
Регистрация: 18.01.2009
Сообщений: 55
10.11.2011, 11:52     Работа с меню в консоли #21
Цитата Сообщение от Gepar Посмотреть сообщение
C++
1
int comp(const void *a,const void *b) {return +(*(int*)a-*(int*)b);}
Что это за функция???
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ExcellencE
20 / 20 / 2
Регистрация: 22.08.2011
Сообщений: 79
10.11.2011, 16:20     Работа с меню в консоли #22
Похожая тема с меню, там навигация стрелками: Меню в консольном режиме
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
10.11.2011, 17:01     Работа с меню в консоли #23
Цитата Сообщение от Spirited Посмотреть сообщение
Что это за функция???
функция сравнения для qsort
Noclip
43 / 27 / 2
Регистрация: 27.09.2011
Сообщений: 280
11.11.2011, 15:02  [ТС]     Работа с меню в консоли #24
C++
1
int comp(const void *a,const void *b) {return +(*(int*)a-*(int*)b);}
Производится сортировка массива по возрастанию
То есть берутся два элента и сравниваются
в зависимости какой знак вернется после сравнения ( то есть 3-2=1 значит они поменяются местами, если знак будет отрицательный то есть 2-3=-1 значит все останется как есть) и потом проверяются следующие два элемнта этого же массива.

Добавлено через 17 часов 41 минуту
Gepar, Я не пойму где фукцию или процедура или что-то что позволяет выйти из меню....
я немогу найти.
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
11.11.2011, 15:05     Работа с меню в консоли #25
Цитата Сообщение от Gepar Посмотреть сообщение
while(chose)
читайте: while( chose != 0 )
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2011, 15:50     Работа с меню в консоли
Еще ссылки по теме:

организация меню в консоли C++
C++ Меню в консоли
C++ Меню на консоли

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

Или воспользуйтесь поиском по форуму:
Noclip
43 / 27 / 2
Регистрация: 27.09.2011
Сообщений: 280
11.11.2011, 15:50  [ТС]     Работа с меню в консоли #26
Пока никто не отвечал я внимательно еще раз просмотрел и нашел где выход
Yandex
Объявления
11.11.2011, 15:50     Работа с меню в консоли
Ответ Создать тему
Опции темы

Текущее время: 19:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru