Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <graphics.h>
- #include <conio.h>
- #include <stdio.h>
- void k(int x1, int y1, int x2, int y2, char *s, int col);
- void newparam(){
- k(50, 420,150,460, "NEW PARAM", 15);
- k(200, 420, 300,460, "GRAFIC", 15);
- k(350, 420, 450, 460, "EXIT", 15);
- setcolor(15);
- k(50, 420,150,460, "NEW PARAM", 4);
- }
- void graphic(){
- k(50, 420,150,460, "NEW PARAM", 15);
- k(200, 420, 300,460, "GRAFIC", 15);
- k(350, 420, 450, 460, "EXIT", 15);
- setcolor(15);
- k(200, 420, 300,460, "GRAFIC", 4);
- }
- void exit() {
- k(50, 420,150,460, "NEW PARAM", 15);
- k(200, 420, 300,460, "GRAFIC", 15);
- k(350, 420, 450, 460, "EXIT", 15);
- setcolor(15);
- k(350, 420, 450, 460, "EXIT", 4);
- }
- void gr(){
- rectangle (50,30,250,280);
- line(150,30,150,280);
- line(320,0,320,400);
- line(50, 70, 250, 70);
- line(0, 400, 639, 400);
- rectangle(50, 360, 150, 395);
- rectangle(50, 320, 150, 355);
- setcolor(15);
- char a[] = "a=", b[] = "b=", y[] = "Y", x[] = "X", o[] = "0";
- outtextxy(55, 331, a);
- outtextxy(55, 371, b);
- outtextxy(465, 35, y);
- outtextxy(605, 204, x);
- outtextxy(95, 45, x);
- outtextxy(195, 45, y);
- outtextxy(470, 201, o);
- line(479, 30, 479, 360);
- line(350, 200, 610, 200);
- line(479, 30, 475, 35);
- line(479, 30, 483, 35);
- line(475, 35, 483, 35);
- line(610, 200, 605, 196);
- line(610, 200, 605, 204);
- line(605, 196, 605, 204);
- setcolor(0);
- floodfill(478, 34, 15);
- floodfill(480, 34, 15);
- floodfill(606, 199, 15);
- floodfill(606, 201, 15);
- }
- void k(int x1, int y1, int x2, int y2, char *s, int col)
- {
- setcolor(col);
- rectangle(x1,y1,x2,y2);
- setcolor(15);
- outtextxy(x1+10,(y2-y1)/2+y1, s);
- }
- void knopkiupr()
- {
- char ch;
- int xr;
- int yr;
- int p=1;
- do{
- getmouseclick(WM_LBUTTONDOWN,xr,yr);
- if ( (xr>=350)&&(xr<=450)&&(yr>=420)&&(yr<=460) )//exit
- ch='e';
- if ( (xr>=50)&&(xr<=150)&&(yr>=420)&&(yr<=460) )//new param
- ch='e';
- if ( (xr>=200)&&(xr<=300)&&(yr>=420)&&(yr<=460) )//graphic
- ch='e';
- if (kbhit()){
- ch = getch();
- switch (ch)
- {
- case 'n': newparam(); break;
- case 'g':graphic(); break;
- case 'e':exit(); break;
- case 77 :if (p<3) p++;
- k(50, 420,150,460, "NEW PARAM", 15);
- k(200, 420, 300,460, "GRAFIC", 15);
- k(350, 420, 450, 460, "EXIT", 15);
- switch (p)
- {
- case 1: k(50, 420,150,460, "NEW PARAM", 4); break;
- case 2: k(200, 420, 300,460, "GRAFIC", 4); break;
- case 3: k(350, 420, 450, 460, "EXIT", 4);break;
- } break;
- case 75: if (p>1) p--;
- k(50, 420,150,460, "NEW PARAM", 15);
- k(200, 420, 300,460, "GRAFIC", 15);
- k(350, 420, 450, 460, "EXIT", 15);
- switch (p)
- {
- case 1: k(50, 420,150,460, "NEW PARAM", 4); break;
- case 2: k(200, 420, 300,460, "GRAFIC", 4); break;
- case 3: k(350, 420, 450, 460, "EXIT", 4);break;
- }
- break;
- case 13: switch (p){
- case 1: newparam();break;
- case 2: graphic();break;
- case 3: ch='e';break;
- }
- }}
- } while (ch != 27);
- }
- int main(void)
- {
- int GrDr, GrMod, rez;
- GrDr = DETECT;
- initgraph(&GrDr, &GrMod, " "); // GrDr - графический драйвер;
- //GrMod -графический режим;
- // третий параметр- путь до графического //драйвера;
- rez = graphresult();
- if (rez != grOk)
- {
- printf("\n Error graph modeи");
- return(1);
- }
- gr();
- k(50, 420,150,460, "NEW PARAM", 4);
- k(200, 420, 300,460, "GRAFIC", 15);
- k(350, 420, 450, 460, "EXIT", 15);
- knopkiupr();
- closegraph();
- return(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement