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

Графическое меню в dOS - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вызов метода производного класса через обращение к методу базового класса http://www.cyberforum.ru/cpp-beginners/thread706726.html
Добрый день. Изучаю основы ООП, наткнулся на проблему. Если создавать классы внутри main.cpp, то всё нормально. Если же создавать в разных файлах, то компилятор ругается. Видимо, я где-то путаюсь и чего-то недообъявляю. Суть отражена в заголовке, но распишу немного подробнее: Есть класс world, и производный от этого класса класс player. У обоих классов есть функция void draw(). Хочу...
C++ Как при рекурсии не обнулять void List::RecRevers() { ListItem *tmp, *ptr = NULL, *start = first; tmp = first->next; first->next = ptr; ptr = first; first = tmp; if (first->next !=0) http://www.cyberforum.ru/cpp-beginners/thread706723.html
C++ Исключение символов из строки
Добрый день. есть задача: Дана строка символов. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелы внутри себя, будем называть словами. Исключить из строки слова, состоящие из символов русского и латинского алфавитов одновременно. как я понимаю нужно разбить строку на слова ограниченные пробелами, и потом с каждым из них работаем. я смог нарезать...
перевод ip адреса в двоичную и шестнадцатиричную системы C++
Помогите, пожалуйста! На экране имеется 3 окошка: В одно вы вводите число в десятичной системе В двух других вычисляются значения в двоичной и шестнадцатиричной системе.
C++ Реализовать задачу с помощью цикла http://www.cyberforum.ru/cpp-beginners/thread706641.html
Необходимо переписать программу через цикл (for, while и тд без разницы) Очень прошу помочь. Вот код:#include <iostream> #include <string> #include <algorithm> int main() { long long number = 8647369240173465929; std::string str = to_string(number); std::sort(str.begin(), str.end()); std::cout<<"Two max numbers: "<<*(str.end() - 1)<<", "<<*(str.end()-2)<<std::endl;
C++ Ошибка компиляции. int main() При компиляции выдает ошибку, пишет что не поддерживает int по умолчанию. #include <stdio.h> #include <conio.h> int a = { 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 }; подробнее

Показать сообщение отдельно
Vadim8063
1 / 1 / 0
Регистрация: 17.01.2012
Сообщений: 130

Графическое меню в dOS - C++

23.11.2012, 17:18. Просмотров 524. Ответов 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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
class menu
{
     int x0,y0,w,h,ots;
        char text[5][10];
    public:
            // class constructor
        menu();
        // class destructor
        ~menu();
        void akt(int nomer);
        void de_akt(int nomer);
};
menu::menu()
{
    int gdriver = DETECT, gmode,errorcode;
    initgraph(&gdriver, &gmode, "c:\\bc\\bgi");
    errorcode = graphresult();
    if (errorcode != grOk)
    {
        printf("Graphics error: %s\n",grapherrormsg(errorcode));
        printf("Press any key to halt:");
        getch();
        exit(1);
    }
    strcpy(text[0],"zadanie_1");
    strcpy(text[1],"zadanie_2");
    strcpy(text[2],"exit");
    setbkcolor(1);
}
 
// class destructor
menu::~menu()
{
closegraph();
}
void menu::akt(int nomer)
{
    x0=25;
y0=10;
h=25;
w=100;
h=20;
ots=0;
    setcolor(RED);
    setfillstyle(1,8);
    setlinestyle(0,0,1);
rectangle(x0, y0+h*nomer+ots, x0+w, y0+h*nomer+h+ots);
floodfill(x0+3,y0+ h*nomer+ots+10,RED);
outtextxy(x0+3,y0+h*nomer+ots+10, text[nomer]);
}
void menu::de_akt(int nomer)
{
    x0=25;
y0=10;
h=25;
w=100;
h=20;
ots=0;
    setcolor(15);
    setfillstyle(1,7);
    setlinestyle(0,0,1);
rectangle(x0, y0+h*nomer+ots, x0+w, y0+h*nomer+h+ots);
    floodfill(x0+3,y0+ h*nomer+ots+10,15);
    outtextxy(x0+3,y0+h*nomer+ots+10, text[nomer]);
}
int main(int argc, char *argv[])
{
int nom=0;
int i;
char ch;
menu m;
met: do
  {
   cleardevice();
   setbkcolor(GREEN);
   switch(ch)
   {
    case 72:
               if(nom==0)  nom=4; else nom--;  break;
               
     case 80:
               if(nom==4)  nom=0; else nom++; break;
    
    case 27: exit(1);
    }
 
    for(i=0; i<3; i++)
    if(nom==i)  m.akt(i); else m.de_akt(i);
    setcolor(1);
    ch=getch();
    }
 
while(ch!=13);
 
if (nom==0) {  goto met; }
if (nom==1) { goto met; }
 
    cin.get();
    return EXIT_SUCCESS;
}
Пытаюсь сделать через drawpoly но немного не вкурю....
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru