Problema para graficar
No puedo graficar este programa
#include <graphics.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define MAXPORCION 10
main()
{
char s1[10];
char leyend[10][50];
char rotulo1[50],rotulo2[50];
int gdriver=DETECT,gmode,errorcode;
int npartes,midx,midy,i;
double totalpartes,temp;
double anguloppio, angulofin;
double tamparte[MAXPORCION], angparte[MAXPORCION];
printf("ESTE PROGRAMA DIBUJA UN GRAFICO DE SECTORES.nn");
printf("Los titulos del grafico son opcionales.n");
printf("Introducir el titulo superior del grafico.n");
gets(rotulo1);
printf("Introducir el titulo inferir del grafico.n");
gets(rotulo2);
printf("nn");
printf("Introducir hasta 10 valores para los sectores del grafico.n");
printf("El valor debe estar segido de un retorno de carro.n");
printf("No dar valor y apretar retorno de carro termina la entrada.n");
npartes=0;
for(i=0;i<MAXPORCION;i++) {
printf("Porcion numero #%d ", i+1);
gets(s1);
if(strlen(s1) == 0) break;
tamparte[i]=atof(s1);
npartes++;
printf("rotulo para leyenda: ");
gets(leyend[i]);
}
totalpartes=0.0;
for(i=0;i<npartes;i++)
totalpartes+=tamparte[i];
for(i=0;i<npartes;i++)
angparte[i]=(tamparte[i]*360.0)/totalpartes;
initgraph(&gdriver,&gmode,"C:\BORLANDC\BGI");
errorcode=graphresult();
if(errorcode != grOk) {
printf("Error en la funcion de graficos: %sn");
grapherrormsg(errorcode);
printf("Pulsar una tecla para parar:");
getch();
exit(1);
}
/* Tomar los valores maximos de las cordenadas x e y para el modo */
midx=getmaxx()/2;
midy=getmaxx()/2;
anguloppio=0.0;
angulofin=angparte[0];
for(i=0;i<npartes;i++) {
setcolor(BLACK);
setfillstyle(SOLID_FILL,BLUE + i);
pieslice(midx/2,midy, (int)anguloppio,(int)angulofin,midy/2);
anguloppio+=angparte[i];
angulofin+=angparte[i+1];
}
/* Escribir nombres y colores de leyenda */
setcolor(WHITE);
moveto(midx+100,midy-80);
outtext("Leyenda");
for(i=0;i<npartes;i++) {
setfillstyle(SOLID_FILL,BLUE+i);
bar(midx+100,(midy-50)+10*i,midx+110,(midy-40)+10*i);
moveto(midx+120,(midy-48)+10*i);
outtext(leyend[i]);
}
/* Esribir rotulos opcionales del grafico de sectores */
setcolor(WHITE);
settextjustify(CENTER_TEXT,CENTER_TEXT);
moveto(midx/2,midy+150);
outtext(rotulo2);
settextstyle(0,0,2);
moveto(midx,midy-150);
outtext(rotulo1);
getch();
closegraph();
return(0);
}
#include <graphics.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define MAXPORCION 10
main()
{
char s1[10];
char leyend[10][50];
char rotulo1[50],rotulo2[50];
int gdriver=DETECT,gmode,errorcode;
int npartes,midx,midy,i;
double totalpartes,temp;
double anguloppio, angulofin;
double tamparte[MAXPORCION], angparte[MAXPORCION];
printf("ESTE PROGRAMA DIBUJA UN GRAFICO DE SECTORES.nn");
printf("Los titulos del grafico son opcionales.n");
printf("Introducir el titulo superior del grafico.n");
gets(rotulo1);
printf("Introducir el titulo inferir del grafico.n");
gets(rotulo2);
printf("nn");
printf("Introducir hasta 10 valores para los sectores del grafico.n");
printf("El valor debe estar segido de un retorno de carro.n");
printf("No dar valor y apretar retorno de carro termina la entrada.n");
npartes=0;
for(i=0;i<MAXPORCION;i++) {
printf("Porcion numero #%d ", i+1);
gets(s1);
if(strlen(s1) == 0) break;
tamparte[i]=atof(s1);
npartes++;
printf("rotulo para leyenda: ");
gets(leyend[i]);
}
totalpartes=0.0;
for(i=0;i<npartes;i++)
totalpartes+=tamparte[i];
for(i=0;i<npartes;i++)
angparte[i]=(tamparte[i]*360.0)/totalpartes;
initgraph(&gdriver,&gmode,"C:\BORLANDC\BGI");
errorcode=graphresult();
if(errorcode != grOk) {
printf("Error en la funcion de graficos: %sn");
grapherrormsg(errorcode);
printf("Pulsar una tecla para parar:");
getch();
exit(1);
}
/* Tomar los valores maximos de las cordenadas x e y para el modo */
midx=getmaxx()/2;
midy=getmaxx()/2;
anguloppio=0.0;
angulofin=angparte[0];
for(i=0;i<npartes;i++) {
setcolor(BLACK);
setfillstyle(SOLID_FILL,BLUE + i);
pieslice(midx/2,midy, (int)anguloppio,(int)angulofin,midy/2);
anguloppio+=angparte[i];
angulofin+=angparte[i+1];
}
/* Escribir nombres y colores de leyenda */
setcolor(WHITE);
moveto(midx+100,midy-80);
outtext("Leyenda");
for(i=0;i<npartes;i++) {
setfillstyle(SOLID_FILL,BLUE+i);
bar(midx+100,(midy-50)+10*i,midx+110,(midy-40)+10*i);
moveto(midx+120,(midy-48)+10*i);
outtext(leyend[i]);
}
/* Esribir rotulos opcionales del grafico de sectores */
setcolor(WHITE);
settextjustify(CENTER_TEXT,CENTER_TEXT);
moveto(midx/2,midy+150);
outtext(rotulo2);
settextstyle(0,0,2);
moveto(midx,midy-150);
outtext(rotulo1);
getch();
closegraph();
return(0);
}
