Dessiner une fonction en mode console avec winbgim.h (dev-c++)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 578 fois - Téléchargée 30 fois

Contenu du snippet

Ce code permet de dessiner une fonction polynôme ici en l'occurence x² en mode console. On utilise ici une librairie winbgim.h qui est l'équivalent de graphics.h pour les compilateurs de Borland.
Pour télécharger les fichiers nécessaires allez sur le site:
http://www.cs.colorado.edu/~main/bgi/

télécharger: winbgim.h et winbgim.cpp dans le répertoire Dev-C++\Include
et libbgi.a dans Dev-C++\Lib

Avant de compiler le source il faut aller dans Project-->Project Options et taper :
-lbgi -lgdi32 dans le label Futher object files or linker options.

Source / Exemple :


#include <winbgim.h>
#include <conio.h>

#define MAXX 640
#define MAXY 480

/* prototypes et declarations */
float screen_y(float, float, float);
float screen_y(float, float, float);

float screen_x(float xb, float x, float xe)
{
	return ((x-xb)/(xe-xb)*MAXX);
}

float screen_y(float yb, float y, float ye)
{
	return (MAXY-(y-yb)/(ye-yb)*MAXY);
}

void main(void)
{
	
	int drv=VGA, mode=VGAHI;
	float a,b,c,xb,xe,yb,ye,x,y;

	
	a=1;
	b=0;
	c=0;
	xb=-10;
	xe=10;
	yb=-10;
	ye=150;
	

	initgraph(&drv,&mode,"");

	/* Dessine les axes x et y */
	setcolor(4);
	line(0,screen_y(yb,0,ye),MAXX,screen_y(yb,0,ye));
	line(screen_x(xb,0,xe),0,screen_x(xb,0,xe),MAXY);

	setcolor(15);
	moveto(0,screen_y(yb,a*xb*xb+b*xb+c,ye));
	for(x=xb;x<=xe;x+=(xe-xb)/MAXX)
	{
		y=a*x*x+b*x+c;
		lineto(screen_x(xb,x,xe),screen_y(yb,y,ye));
	}
	getch();
	closegraph();
	return(0);
}

A voir également

Ajouter un commentaire

Commentaires

Messages postés
273
Date d'inscription
samedi 5 juillet 2003
Statut
Membre
Dernière intervention
31 mars 2015
1
Salut,

Ca fait un moment que je n'utilise plus cette librairie. Je regarde dans ma doc et je poste un message sur comment faire fonctionner cette librairie avec dev-cpp. Theoriquement, si l'on suit ce que j'ai marqué dans la description ça devrait marcher. Je regarde ça dès que j'ai un peu de temps et je vous tiens au courant.
Messages postés
9
Date d'inscription
samedi 4 novembre 2006
Statut
Membre
Dernière intervention
20 novembre 2008

Moi non plus je n'arrive pas à faire fonctionner le programme... il me m'est plein de [Linker error] undefined reference to `initgraph',...
que dois-je faire pour résoudre ce problème ? (avec DEV-C++)
merci de m'aider...
Messages postés
11
Date d'inscription
dimanche 29 février 2004
Statut
Membre
Dernière intervention
22 septembre 2004

j'ai fait tout ce qu'il faut mais je n'arrive pas à compiler la source ... Pourquoi ??
merci

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.