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


Information sur la source

Catégorie :Graphique Niveau : Débutant Date de création : 01/07/2002 Date de mise à jour : 17/02/2003 09:25:15 Vu / téléchargé: 3 015 / 203

Note :
Aucune note

Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

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 !
  • histogra.cTélécharger ce fichier [Réservé aux membres club]Voir ce fichier3 563 octets
  • histogra.exeTélécharger ce fichier [Réservé aux membres club]38 357 octets

Télécharger le zip

Commentaires et avis

Aucun commentaire pour le moment.

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,23 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.