1 / 1 / 0
Регистрация: 27.09.2016
Сообщений: 74
1

Как выводить цифры нажимая на клавиши используя библиотеку graphics.h

23.11.2018, 20:38. Показов 1236. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание по курсовой работе написать инженерный калькулятор используя библиотеку graphics.h. Кое как создал кнопки или подобие их но вот застрял. Не знаю как нажимая на них выводить их на экран последовательность чисел. Получается только выводить 1 символ.Язык С++. Компилятор Dev c++. Код программы :
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#include <iostream>
#include <graphics.h>
#include <stdio.h>
class Knop
{
    int x1,y1,x2,y2,t,c,i,y;
    char a;
    public:     
    Knop(int xx1, int yy1, int xx2, int yy2, int tt, int cc, int ii, int yy, char aa)
    {
        x1=xx1;
        y1=yy1;
        x2=xx2;
        y2=yy2;
        t=tt;
        c=cc;
        i=ii;
        y=yy;
        a=aa;
        char tmp[3] = {a, '\0'};
            setfillstyle(SOLID_FILL, RED);//Цвет паралепипеда 
            bar3d (x1, y1, x2, y2, t, c);// вывод паралепипеда
            outtextxy(i, y, tmp);//вывод сивола на паралепипеде 
    }
    Knop(float A) //Символы вывода
    {
       char B[32];// 
       sprintf(B, "%f", A );// перевод из вешественого в символьный 
       outtextxy(25, 50, B);// вывод символов  
    }            
};
int main()
{
    system("CLS");
    int gdriver = DETECT, gmode, errorcode;//Для работы графики 
    initgraph(&gdriver, &gmode, "");//Для работы графики 
    initwindow(320, 600, "Калькулятор"); 
    bar(20, 20, 285, 95);
    Knop op15(20,115,60,135,7,1,40,120,'sqrt');
    Knop op16(70,115,110,135,7,1,90,120,'sin');
    Knop op17(130,115,170,135,7,1,150,120,'cos');
    Knop op18(190,115,230,135,7,1,210,120,'tan');
    Knop op19(240,115,280,135,7,1,260,120,'x^2');
    Knop op7(20,150,70,200,7,1,40,165,'7');
    Knop op8(90,150,140,200,7,1,110,165,'8');
    Knop op9(160,150,210,200,7,1,180,165,'9');
    Knop op12(230,150,280,200,7,1,250,165,'/');
    Knop op4(20,220,70,270,7,1,40,235,'4');
    Knop op5(90,220,140,270,7,1,110,235,'5');
    Knop op6(160,220,210,270,7,1,180,235,'6');
    Knop op13(230,220,280,270,7,1,250,235,'*');
    Knop op1(20,290,70,340,7,1,40,305,'1');
    Knop op2(90,290,140,340,7,1,110,305,'2');
    Knop op3(160,290,210,340,7,1,180,305,'3');
    Knop op20(230,290,280,340,7,1,250,305,'-');
    Knop op0(20,360,70,410,7,1,40,375,'C');
    Knop op10(90,360,140,410,7,1,110,375,'0');
    Knop op11(160,360,210,410,7,1,180,375,'.');
    Knop op21(230,360,280,410,7,1,250,375,'+');
    Knop op14(20,430,280,480,7,1,150,447,'=');
    
    //Knop pb(1);
    int x, y;
    for ( ; ; )
    {while(!ismouseclick(WM_LBUTTONDOWN))//Реакция на нажатия 
    {delay(50);}
    getmouseclick ( WM_LBUTTONDOWN, x, y ) ;
    std::cout << "x =" << x ;
    std::cout << "y =" << y ;
    if (20<x&&x<80&&150<y&&y<200) //7
    { std::cout<<"7";
      Knop pb(7);}
 
    if (90<x&&x<150&&150<y&&y<200)//8
    {std::cout<<"8";}
 
    if (160<x&&x<220&&150<y&&y<200)//9
    {std::cout<<"9";}
 
    if (230<x&&x<290&&150<y&&y<200)// /
    {std::cout<<"/";}
 
    if (20<x&&x<80&&220<y&&y<270)//4
    {std::cout<<"4";}
 
    if (90<x&&x<150&&220<y&&y<270)//5
    {std::cout<<"5";}
 
    if (160<x&&x<220&&220<y&&y<270)//6
    {std::cout<<"6";}
 
    if (230<x&&x<290&&220<y&&y<270)//*
    {std::cout<<"*";}
 
    if (20<x&&x<80&&290<y&&y<340)//1
    {std::cout<<"1";}
 
    if (90<x&&x<150&&290<y&&y<340)//2
    {std::cout<<"2";}
    if (160<x&&x<210&&290<y&&y<340)//3
    {std::cout<<"3";}
 
    if (230<x&&x<290&&290<y&&y<340)//-
    {std::cout<<"-";}
 
    if (20<x&&x<80&&360<y&&y<410)// с
    {std::cout<<"c";}
 
    if (90<x&&x<150&&360<y&&y<410)//0
    {std::cout<<"0";}
 
    if (160<x&&x<220&&360<y&&y<410)//,
    {std::cout<<".";}
 
    if (230<x&&x<290&&360<y&&y<410)//+
    {std::cout<<"+";}
 
    if (20<x&&x<290&&430<y&&y<480)//=
    {std::cout<<"=";}
 
    if (190<x&&x<235&&115<y&&y<135)// tan
    {std::cout<<"tan";}
 
    if (20<x&&x<65&&115<y&&y<135)// sqrt
    {std::cout<<"sqrt";}
 
    if (70<x&&x<115&&115<y&&y<135)// sin
    {std::cout<<"sin";}
 
    if (130<x&&x<175&&115<y&&y<135)// cos
    {std::cout<<"cos";}
 
    if (240<x&&x<290&&115<y&&y<135)// x^2
    {std::cout<<"x^2";}
    }
    system("pause");
    return 0;}
Миниатюры
Как выводить цифры нажимая на клавиши используя библиотеку  graphics.h  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2018, 20:38
Ответы с готовыми решениями:

Создание меню используя библиотеку graphics.h
Добрый день! Подскажите пожалуста, как решить проблему: Задание: Создать меню функциональных...

Написать программу с текстом "С днем рождения", используя библиотеку graphics
можете написать программу с текстом С ДНЕМ РОЖДЕНИЯ. с библиотекой graphics.h?

Как установить библиотеку graphics.h?
не подключается #include &lt;graphics.h&gt; где её скачать и как установить? пользуюсь компилятором...

Реализации режима Caps Lock, не нажимая функциональной клавиши
Всем добрый вечер. Помогите пожалуйста написать несколько программ на Ассемблере. У меня госы на...

1
nmcf
24.11.2018, 12:17     Как выводить цифры нажимая на клавиши используя библиотеку graphics.h
  #2

Не по теме:

Цитата Сообщение от _ZombiE_ Посмотреть сообщение
Задание по курсовой работе написать инженерный калькулятор используя библиотеку graphics.h
В каком заведении таким ещё пользуются?

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2018, 12:17

При нажатии клавиши в английской раскладке, выводить русское значение клавиши
Требуется чтобы при нажатии клавиши в английской раскладке, выводилось Русское значение клавиши....

Как по нажатию клавиши выводить на экран текст?
Я создаю текстовый квест.Но когда ввожу текст, он выводится мгновенно весь.Можно ли как-то сделать...

Как выводить из строки только цифры
Всем привет! Не знаю по тему ли я? Но очень нужная помощь! В поисковиках не нашел, (не считая...

Где найти библиотеку graphics.h
Здравствуйте! Решил попрограммировать на turbo C 1.0 графику, но в стандартной комплектации нету...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru