|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
HISTOGRAMME EN MOUVEMENT MODE GRAPHIQUE TURBO C++2
Description
Genere des nombres aleatoirement et en fait des graphiques en mouvement
Source
- // PROGRAMME EN C SOUS DOS TURBO C++2 BORLAND
- // ecrit le 30-06-2002 par cmarsc
- // GRAPHIQUE EN HISTOGRAMME MODE GRAPHIQUE
-
- #include <graphics.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <conio.h>
- #include <time.h>
- #include <string.h>
- #include <dos.h>
-
- #define COUL_CADRE CYAN
- #define MAXI 300
- #define N_BARRES 12
-
- enum reponse1 { NON,OUI };
-
- int main(void) {
-
- int gdriver = DETECT, gmode, errorcode;
-
- int i,x;
- int y1[N_BARRES], reponse[N_BARRES];
- int graph1[N_BARRES], graph1_precedent[N_BARRES];
- char texte[N_BARRES][5];
-
- initgraph(&gdriver, &gmode, "c:\\tc\\bgi");
-
- errorcode = graphresult();
- if (errorcode != grOk)
- {
- printf("Graphics error: %s\n", grapherrormsg(errorcode));
- printf("Press any key to halt:");
- getch();
-
- exit(1);
- }
-
- srand( (unsigned) time(NULL) );
- memset(texte, '\0', N_BARRES);
-
- // initialiser a zero
- for (i = 0; i < N_BARRES; i++) {
- y1[i] = 0; reponse[i] = OUI;
- graph1[i] = 0; graph1_precedent[i] = 0;
- }
-
- // grand cadre
- setfillstyle(1,COUL_CADRE);
- bar (1, 00,getmaxx(), 355);
-
- setcolor(BLACK);
- rectangle(2 ,20 , getmaxx()-1,355 );
-
- setcolor(WHITE);
- rectangle(1 ,22 , getmaxx(),356+00 );
-
- settextstyle(SMALL_FONT, HORIZ_DIR, 5);
- sprintf(texte[0],"Projections des ventilations : 2003");
-
- // effet d'ombre
- setcolor(BLACK);
- outtextxy(180 ,1,texte[0]);
-
- // texte en rouge
- setcolor(RED);
- outtextxy(181 ,1,texte[0]);
-
- // elargir le texte en longueur * 3 et en hauteur * 10
- setusercharsize(3, 1,10, 1);
-
- setfillstyle(1,CYAN);
- bar (1,375,getmaxx() , getmaxy()-15);
- setcolor(YELLOW);
- rectangle (1,375,getmaxx() , getmaxy()-15);
-
- setcolor(LIGHTCYAN);
- sprintf(texte[0],"APPUYEZ SUR UNE TOUCHE POUR QUITTER");
- outtextxy(12 ,360,texte[0]);
-
- setcolor(BLACK);
- // faire un effet 3D
- for (i = 0; i < 2;i++) {
- outtextxy(13 +i,360+i,texte[0]);
- }
-
-
- while( !kbhit() ) {
- // x = 52 ecart entre les barres
- for (i = 0, x = 5 ; i < N_BARRES; i++, x +=52) {
-
- // determiner la hauteur de la barre
- if (reponse[i] == OUI) {
-
- // garder la valeur de graph1[i] precedente
- graph1_precedent[i] = graph1[i];
- graph1[i] = (rand() % MAXI) +1;
-
- // effacer le chiffre en blanc sous la barre
- setfillstyle(1, COUL_CADRE);
- bar (15 + x,333 , 50 + x,350 );
-
- // convertir le nombre tire
- sprintf(texte[i],"%3d",graph1[i]);
-
- // afficher ce nombre sous la barre
- settextstyle(SMALL_FONT, HORIZ_DIR, 6);
- setcolor(BLACK);
- outtextxy(15 + x,331,texte[i]);
-
- setcolor(WHITE);
- outtextxy(16 + x,332,texte[i]);
-
- }
-
- if ( graph1[i] > graph1_precedent[i]) {
-
- // faire monter la barre
- if (y1[i] < graph1[i]) {
-
- y1[i]++; reponse[i] = NON;
-
- } else if (y1[i] == graph1[i]) {
-
- // choisir un autre chiffre
- reponse[i] = OUI;
- }
-
- } else {
-
- // faire descendre la barre
- y1[i]--; reponse[i] = NON;
- if (y1[i] == graph1[i] || y1[i] <= 0 ) reponse[i] = OUI;
- }
-
- setcolor(COUL_CADRE);
- rectangle(8 + x ,326 - y1[i] , 52 + x,327- y1[i] );
-
- // dessiner les 2 traits sur les cotes
-
- // trait rouge vif a gauche
- setcolor(LIGHTRED);
- rectangle(8 + x,330 - y1[i] , 9 + x,330 );
-
- // barre au milieu en rouge
- setcolor(RED);
- rectangle(10 + x,330 - y1[i] , 50 + x,330 );
-
- // trait noir a droite
- setcolor(BLACK);
- rectangle(51 + x,330 - y1[i] ,52 + x,330 );
-
- } // fin de for (i)
-
- } // fin de while
-
-
- closegraph();
- return 0;
-
- } // fin de main
// PROGRAMME EN C SOUS DOS TURBO C++2 BORLAND
// ecrit le 30-06-2002 par cmarsc
// GRAPHIQUE EN HISTOGRAMME MODE GRAPHIQUE
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <string.h>
#include <dos.h>
#define COUL_CADRE CYAN
#define MAXI 300
#define N_BARRES 12
enum reponse1 { NON,OUI };
int main(void) {
int gdriver = DETECT, gmode, errorcode;
int i,x;
int y1[N_BARRES], reponse[N_BARRES];
int graph1[N_BARRES], graph1_precedent[N_BARRES];
char texte[N_BARRES][5];
initgraph(&gdriver, &gmode, "c:\\tc\\bgi");
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
srand( (unsigned) time(NULL) );
memset(texte, '\0', N_BARRES);
// initialiser a zero
for (i = 0; i < N_BARRES; i++) {
y1[i] = 0; reponse[i] = OUI;
graph1[i] = 0; graph1_precedent[i] = 0;
}
// grand cadre
setfillstyle(1,COUL_CADRE);
bar (1, 00,getmaxx(), 355);
setcolor(BLACK);
rectangle(2 ,20 , getmaxx()-1,355 );
setcolor(WHITE);
rectangle(1 ,22 , getmaxx(),356+00 );
settextstyle(SMALL_FONT, HORIZ_DIR, 5);
sprintf(texte[0],"Projections des ventilations : 2003");
// effet d'ombre
setcolor(BLACK);
outtextxy(180 ,1,texte[0]);
// texte en rouge
setcolor(RED);
outtextxy(181 ,1,texte[0]);
// elargir le texte en longueur * 3 et en hauteur * 10
setusercharsize(3, 1,10, 1);
setfillstyle(1,CYAN);
bar (1,375,getmaxx() , getmaxy()-15);
setcolor(YELLOW);
rectangle (1,375,getmaxx() , getmaxy()-15);
setcolor(LIGHTCYAN);
sprintf(texte[0],"APPUYEZ SUR UNE TOUCHE POUR QUITTER");
outtextxy(12 ,360,texte[0]);
setcolor(BLACK);
// faire un effet 3D
for (i = 0; i < 2;i++) {
outtextxy(13 +i,360+i,texte[0]);
}
while( !kbhit() ) {
// x = 52 ecart entre les barres
for (i = 0, x = 5 ; i < N_BARRES; i++, x +=52) {
// determiner la hauteur de la barre
if (reponse[i] == OUI) {
// garder la valeur de graph1[i] precedente
graph1_precedent[i] = graph1[i];
graph1[i] = (rand() % MAXI) +1;
// effacer le chiffre en blanc sous la barre
setfillstyle(1, COUL_CADRE);
bar (15 + x,333 , 50 + x,350 );
// convertir le nombre tire
sprintf(texte[i],"%3d",graph1[i]);
// afficher ce nombre sous la barre
settextstyle(SMALL_FONT, HORIZ_DIR, 6);
setcolor(BLACK);
outtextxy(15 + x,331,texte[i]);
setcolor(WHITE);
outtextxy(16 + x,332,texte[i]);
}
if ( graph1[i] > graph1_precedent[i]) {
// faire monter la barre
if (y1[i] < graph1[i]) {
y1[i]++; reponse[i] = NON;
} else if (y1[i] == graph1[i]) {
// choisir un autre chiffre
reponse[i] = OUI;
}
} else {
// faire descendre la barre
y1[i]--; reponse[i] = NON;
if (y1[i] == graph1[i] || y1[i] <= 0 ) reponse[i] = OUI;
}
setcolor(COUL_CADRE);
rectangle(8 + x ,326 - y1[i] , 52 + x,327- y1[i] );
// dessiner les 2 traits sur les cotes
// trait rouge vif a gauche
setcolor(LIGHTRED);
rectangle(8 + x,330 - y1[i] , 9 + x,330 );
// barre au milieu en rouge
setcolor(RED);
rectangle(10 + x,330 - y1[i] , 50 + x,330 );
// trait noir a droite
setcolor(BLACK);
rectangle(51 + x,330 - y1[i] ,52 + x,330 );
} // fin de for (i)
} // fin de while
closegraph();
return 0;
} // fin de main
Conclusion
// PROGRAMME EN C SOUS DOS TURBO C++2 BORLAND
// ecrit le 30-06-2002 par cmarsc
// GRAPHIQUE EN HISTOGRAMME MODE GRAPHIQUE
Fichier Zip
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
Télécharger le zip
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
|