Programmatiom graphique en turbo c++

Fermé
lapuissace - 28 nov. 2005 à 18:12
 frmd - 5 janv. 2008 à 22:41
je suis en trai de faire un menu deroulant sur tubo c++ et j'aimerai recevoir votre aide pour le terminer.
voici le code sur le quel je travail

#include <graphics.h>

#include <stdio.h>

#include <conio.h>

#include<dos.h>



/******************************/

/*fontion de bars horizontale*/

/*****************************/

void bar_ver(int x,int y,int x1,int c1,int c2,int y1,int cool,int e,int g,int h,int f)

{

setfillstyle(1,cool);

// rectangle(l,m,n,o);

setfillstyle(1,7);

bar(x,y,x1,y1);

for(e=20,g=90;e<=260,g<=330;e+=120,g+=120)

{

setcolor(c1);

line(e,f,g,f);

line(e,f,e,h);

setcolor(c2);

line(e,h,g,h);

line(g,f,g,h);

}

outtextxy(24,15,"File");

outtextxy(144,15,"Edit");

outtextxy(264,15,"Search");

setbkcolor(0);

}



/**********************************************/

/*fonction qui gŠre la bar verticale de file */

/**********************************************/

void rec1(int e,int g,int s,int t,int r)

{

// setfillstyle(1,colo);

rectangle(e,s,g,t);

for(r=44;r<=112;r+=17)

{

line(e,r,g,r);

}

outtextxy(23,30,"New");

outtextxy(23,47,"Open");

outtextxy(23,64,"Save");

outtextxy(23,81,"Save as");

outtextxy(23,97,"Exit");

}

/**********************************************/

/*fonction qui gŠre la bar verticale d'Edit */

/**********************************************/



void rec2(int e,int g,int a,int b,int r)

{

// setfillstyle(1,w);

rectangle(e,a,g,b);

for(r=44;r<=95;r+=17)

{

line(e,r,g,r);

}

outtextxy(147,30,"Copy");

outtextxy(147,47,"Cut");

outtextxy(147,64,"Paste");

outtextxy(147,81,"Clear");

}

/**********************************************/

/*fonction qui gŠre la bar verticale de Search */

/**********************************************/



void rec3(int e,int g,int v,int r,int w)

{

rectangle(e,w,g,v);

for(r=44;r<=78;r+=17)

{ setcolor(4);

line(e,r,g,r);

}

outtextxy(265,30,"Find");

outtextxy(265,47,"Replace");

outtextxy(265,64,"Search");







}

/**********************************************/

/*fonction qui controle les touches horizotale*/

/**********************************************/





void touche1(char *c)

{

do{

*c=getch(); // on v‚rifie que la touche lue au clavier

}

while ( (*c!=77)&&(*c!=13)&&(*c!=75));

}



/**********************************************/

/*fonction qui controle les touches verticales*/

/**********************************************/

void touche2( char *q)

{

do

{

*q=getch();

}



while((*q!=72)&&(*q!=80));

}

/********************************************/

/*fonction qui controle l'afichge de file */

/******************************************/

void affiche1( int e, int g,int a,int b,int r,int w,int v,int s,int t)

{

switch(e)

{

case 20 :

setfillstyle(1,2);

rec1( e, g, s, t, r);

break;

case 140:

setfillstyle(1,2);

rec2(e, g, a, b, r );

break;

case 260:

setfillstyle(1,2);

rec3( e, g, v, r, w);

break;

default :

setfillstyle(1,9);

break;

}

}







/***********************/

/* fonction principale */

/***********************/



int main(void)

{

clrscr();

int cool, x,x1,w,y,y1,c1,c2,s,v,t,e,g,f,h,a,b,r;

int gdriver = DETECT, gmode; //gdriver correspond … une carte graphique existante sur la machine courante

char *c,*q;

initgraph(&gdriver, &gmode, "");// initialisation du mode graphique

e=20; g=90; x=1;y=1;x1=700;y1=200;

f=12;h=25;s=a=w=27;t=112;

b=95;v=78;cool=15;

c1=15; c2= 0;



do{

touche1(c);

if (*c!=13)

{

bar_ver( x, y,x1, c1, c2, y1,cool,e,g,h,f);



if((e==20)||(e==140)||(e==260))

{

do

{

touche2(q);

affiche1(e,g, a, b, r, w, v,s, t);

switch(e)

{

case 20: if(r<=112)

{r=r+17;}

else

r=44;

break;

case 140: if(r<=95)

{r=r+17;}

else

r=44;

break;

case 260: if(r<=78)

{r=r+17;}

else

r=44;

break;

default: outtextxy(getmaxx()/2,getmaxy()/2,"Pas de donn‚s ");

break;

}



}

while((*c==75)||(*c==74));

}

if((x<=260)&&(g<330)){

e=g+50;

g=e+70;



}

else{



e=20;

g=90;



}

}

}

while (*c!= 13);

closegraph();

return 0;

}
A voir également:

1 réponse

25 erreur corrige les putin de merde
0