rendered paste body#include<conio.h>
#include<stdio.h>
#include<graphics.h>
#include<string.h>
#include<ctype.h>
#include<stdlib.h>
void inicializa()
{
int gm,gd=DETECT;
initgraph(&gd,&gm,"C:\\TC\\BGI");
}
void box(int x1,int y1, int x2, int y2, int relleno, int color)
{
int poly[8];
poly[0]=x1;
poly[1]=y1;
poly[2]=x2;
poly[3]=y1;
poly[4]=x2;
poly[5]=y2;
poly[6]=x1;
poly[7]=y2;
setfillstyle(relleno,color);
fillpoly(4,poly);
}
void inicial()
{
box(0,0,getmaxx(),getmaxy(),1,9);
settextstyle(3,0,2);
setcolor(0);
//icono
line(200,200,440,200);
line(220,220,220,60);
setcolor(RED);
line(220,200,260,160);
line(260,160,300,180);
line(300,180,340,120);
line(340,120,380,140);
line(380,140,420,60);
setcolor(0);
//icono
outtextxy(200,220,"Karla GraFx v1.0 beta");
settextstyle(2,0,0);
outtextxy(250,380,"hecho por Karla Magallanes");
getch();
}
void pantalla()
{
settextstyle(0,0,0);
setcolor(WHITE);
//inicio
box(0,0,getmaxx(),getmaxy(),1,3);
/*cuadro graficador*/
box(300,160,40,420,1,1);
rectangle(300,160,40,420);
line(60,180,60,420);
line(280,400,40,400);
//cuadro datos sin matriz
box(600,360,360,440,1,1);
setcolor(WHITE);
settextstyle(2,0,0);
outtextxy(360,370," Datos ");
outtextxy(400,370," 1 ");
outtextxy(420,370," 2 ");
outtextxy(440,370," 3 ");
outtextxy(460,370," 4 ");
outtextxy(480,370," 5 ");
outtextxy(500,370," 6 ");
outtextxy(520,370," 7 ");
outtextxy(540,370," 8 ");
outtextxy(560,370," 9 ");
outtextxy(580,370," 10 ");
settextstyle(0,0,0);
//serie A
box(400,380,420,400,1,1);
box(420,380,440,400,1,1);
box(440,380,460,400,1,1);
box(460,380,480,400,1,1);
box(480,380,500,400,1,1);
box(500,380,520,400,1,1);
box(520,380,540,400,1,1);
box(540,380,560,400,1,1);
box(560,380,580,400,1,1);
box(580,380,600,400,1,1);
//serie B
box(400,420,420,400,1,1);
box(420,420,440,400,1,1);
box(440,420,460,400,1,1);
box(460,420,480,400,1,1);
box(480,420,500,400,1,1);
box(500,420,520,400,1,1);
box(520,420,540,400,1,1);
box(540,420,560,400,1,1);
box(560,420,580,400,1,1);
box(580,420,600,400,1,1);
//serie C
box(400,440,420,420,1,1);
box(420,440,440,420,1,1);
box(440,440,460,420,1,1);
box(460,440,480,420,1,1);
box(480,440,500,420,1,1);
box(500,440,520,420,1,1);
box(520,440,540,420,1,1);
box(540,440,560,420,1,1);
box(560,440,580,420,1,1);
box(580,440,600,420,1,1);
//icono chico
setcolor(0);
settextstyle(2,0,0);
outtextxy(30,8,"Graficador Estadistico Karla GraFx v1.0 beta");
line(1,18,18,18);
line(3,18,3,3);
setcolor(RED);
line(3,18,7,10);
line(7,10,10,14);
line(10,14,16,8);
setcolor(WHITE);
settextstyle(0,0,0);
//icono chico
box(640,20,0,40,1,3);
box(120,20,40,40,1,BLUE);
outtextxy(60,28,"Archivo");
box(240,20,160,40,1,BLUE);
outtextxy(180,28,"Grafica");
box(580,20,500,40,1,BLUE);
outtextxy(530,28,"Ayuda");
rectangle(640,0,620,20);
box(640,0,620,20,1,BLUE);
outtextxy(630,10,"X");
/*menu*/
line(640,20,0,20);
line(640,40,0,40);
getch();
}
float validacion()
{
char *cad,opc,tecla1;
int i,pos,punto=0,neg=0;
float num;
cad[0]='\x0';
outtextxy(380,160,"seleccione una opcion");
outtextxy(380,170,"Introducir valor [A]");
outtextxy(380,180,"Modificar valor [B]");
outtextxy(380,190,"Eliminar valor [C]");
opc=toupper(getch());
if(opc=='A')
{
outtextxy(360,260,"Introdusca valor=");
do{
setcolor(WHITE);
outtextxy(420,280,cad);
tecla1=getch();
if(isdigit(tecla1))
{
pos=strlen(cad);
cad[pos]=tecla1;
cad[pos+1]='\x0';
outtextxy(420,280,cad);
}
if(tecla1=='.' && punto==0)
{
pos=strlen(cad);
cad[pos]=tecla1;
cad[pos+1]='\x0';
punto=1;
outtextxy(420,280,cad);
}
if(tecla1=='-' && neg==0)
{
pos=strlen(cad);
cad[pos+1]='\x0';
for(i=pos;i>0;i--)cad[i]=cad[i-1];
cad[0]='-';
outtextxy(420,280,cad);
neg=1;
}
if(tecla1=='\x8')
{
setcolor(3);
outtextxy(420,280,cad);
pos=strlen(cad);
cad[pos-1]='\x8';
outtextxy(420,280,cad);
}
}while(tecla1!='\xD');
}
num=atof(cad);
return(num);
}
void captura()
{
box(600,360,360,440,1,1);
setcolor(WHITE);
settextstyle(2,0,0);
outtextxy(360,370," Datos ");
outtextxy(400,370," 1 ");
outtextxy(420,370," 2 ");
outtextxy(440,370," 3 ");
outtextxy(460,370," 4 ");
outtextxy(480,370," 5 ");
outtextxy(500,370," 6 ");
outtextxy(520,370," 7 ");
outtextxy(540,370," 8 ");
outtextxy(560,370," 9 ");
outtextxy(580,370," 10 ");
settextstyle(0,0,0);
//serie A
box(400,380,420,400,1,1);
box(420,380,440,400,1,1);
box(440,380,460,400,1,1);
box(460,380,480,400,1,1);
box(480,380,500,400,1,1);
box(500,380,520,400,1,1);
box(520,380,540,400,1,1);
box(540,380,560,400,1,1);
box(560,380,580,400,1,1);
box(580,380,600,400,1,1);
//serie B
box(400,420,420,400,1,1);
box(420,420,440,400,1,1);
box(440,420,460,400,1,1);
box(460,420,480,400,1,1);
box(480,420,500,400,1,1);
box(500,420,520,400,1,1);
box(520,420,540,400,1,1);
box(540,420,560,400,1,1);
box(560,420,580,400,1,1);
box(580,420,600,400,1,1);
//serie C
box(400,440,420,420,1,1);
box(420,440,440,420,1,1);
box(440,440,460,420,1,1);
box(460,440,480,420,1,1);
box(480,440,500,420,1,1);
box(500,440,520,420,1,1);
box(520,440,540,420,1,1);
box(540,440,560,420,1,1);
box(560,440,580,420,1,1);
box(580,440,600,420,1,1);
getch();
}
void muevecaptura()
{
char teclad;
int d=1,i;
float M[30];
for(i=0;i<30;i++)M[1]=0;
captura();
do{
switch(d)
{
case 1 : setcolor(RED);rectangle(400,380,420,400);
break;
case 2 : setcolor(RED);rectangle(420,380,440,400);
break;
case 3 : setcolor(RED);rectangle(440,380,460,400);
break;
case 4 : setcolor(RED);rectangle(460,380,480,400);
break;
case 5 : setcolor(RED);rectangle(480,380,500,400);
break;
case 6 : setcolor(RED);rectangle(500,380,520,400);
break;
case 7 : setcolor(RED);rectangle(520,380,540,400);
break;
case 8 : setcolor(RED);rectangle(540,380,560,400);
break;
case 9 : setcolor(RED);rectangle(560,380,580,400);
break;
case 10 :setcolor(RED);rectangle(580,380,600,400);
break;
case 11 : setcolor(RED);rectangle(400,420,420,400);
break;
case 12 : setcolor(RED);rectangle(420,420,440,400);
break;
case 13 : setcolor(RED);rectangle(440,420,460,400);
break;
case 14 : setcolor(RED);rectangle(460,420,480,400);
break;
case 15 : setcolor(RED);rectangle(480,420,500,400);
break;
case 16 : setcolor(RED);rectangle(500,420,520,400);
break;
case 17 : setcolor(RED);rectangle(520,420,540,400);
break;
case 18 : setcolor(RED);rectangle(540,420,560,400);
break;
case 19 : setcolor(RED);rectangle(560,420,580,400);
break;
case 20 : setcolor(RED);rectangle(580,420,600,400);
break;
case 21 : setcolor(RED);rectangle(400,440,420,420);
break;
case 22 : setcolor(RED);rectangle(420,440,440,420);
break;
case 23 : setcolor(RED);rectangle(440,440,460,420);
break;
case 24 : setcolor(RED);rectangle(460,440,480,420);
break;
case 25 : setcolor(RED);rectangle(480,440,500,420);
break;
case 26 : setcolor(RED);rectangle(500,440,520,420);
break;
case 27 : setcolor(RED);rectangle(520,440,540,420);
break;
case 28 : setcolor(RED);rectangle(540,440,560,420);
break;
case 29 : setcolor(RED);rectangle(560,440,580,420);
break;
case 30 : setcolor(RED);rectangle(580,440,600,420);
break;
}
teclad=getch();
setcolor(WHITE);
switch(d)
{
case 1 : rectangle(400,380,420,400);
break;
case 2 : rectangle(420,380,440,400);
break;
case 3 : rectangle(440,380,460,400);
break;
case 4 : rectangle(460,380,480,400);
break;
case 5 : rectangle(480,380,500,400);
break;
case 6 : rectangle(500,380,520,400);
break;
case 7 : rectangle(520,380,540,400);
break;
case 8 : rectangle(540,380,560,400);
break;
case 9 : rectangle(560,380,600,400);
break;
case 10 : rectangle(580,380,600,400);
break;
case 11 : rectangle(400,420,420,400);
break;
case 12 : rectangle(420,420,440,400);
break;
case 13 : rectangle(440,420,460,400);
break;
case 14 : rectangle(460,420,480,400);
break;
case 15 : rectangle(480,420,500,400);
break;
case 16 : rectangle(500,420,520,400);
break;
case 17 : rectangle(520,420,540,400);
break;
case 18 : rectangle(540,420,560,400);
break;
case 19 : rectangle(560,420,580,400);
break;
case 20 : rectangle(580,420,600,400);
break;
case 21 : rectangle(400,440,420,420);
break;
case 22 : rectangle(420,440,440,420);
break;
case 23 : rectangle(440,440,460,420);
break;
case 24 : rectangle(460,440,480,420);
break;
case 25 : rectangle(480,440,500,420);
break;
case 26 : rectangle(500,440,520,420);
break;
case 27 : rectangle(520,440,540,420);
break;
case 28 : rectangle(540,440,560,420);
break;
case 29 : rectangle(560,440,580,420);
break;
case 30 : rectangle(580,440,600,420);
break;
}
switch(teclad)
{ case'\x0' : teclad=getch();
switch (teclad)
{ case '\x4B' : d--;break;
case '\x4D' : d++;break;
case '\x50' : d=d-10;break;
case '\x48' : d=d+10;break;
}
if(d>30)d=1;
if(d<1)d=30;
break;
//fin tecla
case '\xD' : box(360,140,580,300,1,9);
switch(d)
{
case 1 : M[1]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 2 : M[2]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 3 : M[3]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 4 : M[4]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 5 : M[5]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 6 : M[6]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 7 : M[7]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 8 : M[8]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 9 : M[9]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 10 : M[10]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 11 : M[11]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 12 : M[12]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 13 : M[13]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 14 : M[14]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 15 : M[15]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 16 : M[16]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 17 : M[17]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 18 : M[18]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 19 : M[19]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 20 : M[20]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 21 : M[21]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 22 : M[22]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 23 : M[23]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 24 : M[24]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 25 : M[25]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 26 : M[26]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 27 : M[27]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 28 : M[28]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 29 : M[29]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
case 30 : M[30]=validacion();box(360,140,580,300,1,3);setcolor(3);rectangle(360,140,580,300);break;
}
break;//fin enter
}
}while(teclad!='\x1b');
}
void nuevo()
{
float M[30];
int t;
for(t=0;t<30;t++)M[t]=0; // borra matriz
/*cuadro graficador*/
box(300,160,40,420,1,1);
rectangle(300,160,40,420);
line(60,180,60,420);
line(280,400,40,400);
muevecaptura();
getch();
}
/*void archivo*/
void archivo()
{
box(120,40,40,60,5,BLUE);
outtextxy(60,50,"Nuevo");
box(120,60,40,80,5,BLUE);
outtextxy(60,70,"^");
getch();
}
void muevearchivo()
{
char teclaa;
int a=1;
archivo();
do{
switch(a)
{
case 1 : box(120,40,40,60,5,9);
outtextxy(60,50,"Nuevo");
break;
case 2 : box(120,60,40,80,5,9);
outtextxy(60,70,"^");
break;
}
teclaa=getch();
switch(a)
{
case 1 : box(120,40,40,60,5,BLUE);
outtextxy(60,50,"Nuevo");
break;
case 2 : box(120,60,40,80,5,BLUE);
outtextxy(60,70,"^");
break;
}
switch(teclaa)
{ case'\x0' : teclaa=getch();
switch (teclaa)
{ case '\x48' : a--;break;
case '\x50' : a++;break;
}
if(a>2)a=1;
if(a<1)a=2;
break;
//fin tecla
case '\xD' : switch(a)
{
case 1 : nuevo();break;
case 2 : teclaa='\x1b';box(120,40,40,80,1,3);setcolor(3);rectangle(120,40,40,80);setcolor(WHITE);break;
}
if(a!=2);
break;
}
}while(teclaa!='\x1b');
}
/*void Grafica*/
void puntos()
{
}
void lineas()
{
}
void barras()
{
}
void pastel()
{
}
/*voids grafica*/
void grafica()
{
box(240,40,160,60,5,BLUE);
outtextxy(180,50,"Puntos");
box(240,60,160,80,5,BLUE);
outtextxy(180,70,"Lineas");
box(240,80,160,100,5,BLUE);
outtextxy(180,90,"Barras");
box(240,100,160,120,5,BLUE);
outtextxy(180,110,"Pastel");
box(240,120,160,140,5,BLUE);
outtextxy(180,130,"^");
getch();
}
void muevegrafica()
{
char teclab;
int b=1;
grafica();
do{
switch(b)
{
case 1 : box(240,40,160,60,5,9);
outtextxy(180,50,"Puntos");
break;
case 2 : box(240,60,160,80,5,9);
outtextxy(180,70,"Lineas");
break;
case 3 : box(240,80,160,100,5,9);
outtextxy(180,90,"Barras");
break;
case 4 : box(240,100,160,120,5,9);
outtextxy(180,110,"Pastel");
break;
case 5 : box(240,120,160,140,5,9);
outtextxy(180,130,"^");
break;
}
teclab=getch();
switch(b)
{
case 1 : box(240,40,160,60,5,BLUE);
outtextxy(180,50,"Puntos");
break;
case 2 : box(240,60,160,80,5,BLUE);
outtextxy(180,70,"Lineas");
break;
case 3 : box(240,80,160,100,5,BLUE);
outtextxy(180,90,"Barras");
break;
case 4 : box(240,100,160,120,5,BLUE);
outtextxy(180,110,"Pastel");
break;
case 5 : box(240,120,160,140,5,BLUE);
outtextxy(180,130,"^");
break;
}
switch(teclab)
{ case'\x0' : teclab=getch();
switch (teclab)
{ case '\x48' : b--;break;
case '\x50' : b++;break;
}
if(b>5)b=1;
if(b<1)b=5;
break;
//fin tecla
case '\xD' : switch(b)
{
case 1 : puntos();break;
case 2 : lineas();break;
case 3 : barras();break;
case 4 : pastel();break;
case 5 : teclab='\x1b';box(240,40,160,140,1,3);setcolor(3);rectangle(240,40,160,140);setcolor(WHITE);break;
}
if(b!=2);
break;
}
}while(teclab!='\x1b');
}
/*voids ayuda*/
void ayuda1()
{
}
void acerca()
{
int tecla;
settextstyle(2,0,0);
box(580,200,360,300,1,9);
outtextxy(385,230,"Graficador Estadistico v1.0");
outtextxy(380,270," hecho por Karla Magallanes");
tecla=getch();
if(tecla=='\xD'){
box(580,200,360,300,1,3);
setcolor(3);rectangle(580,200,360,300);
setcolor(WHITE);
}
settextstyle(0,0,0);
getch();
}
/*void ayuda*/
void ayuda()
{
box(580,40,500,60,5,BLUE);
outtextxy(520,50,"Ayuda");
box(580,60,500,80,5,BLUE);
outtextxy(520,70,"Acerca..");
box(580,80,500,100,5,BLUE);
outtextxy(520,90,"^");
getch();
}
void mueveayuda()
{
char teclac;
int c=1;
ayuda();
do{
switch(c)
{
case 1 : box(580,40,500,60,5,9);
outtextxy(520,50,"Ayuda");
break;
case 2 : box(580,60,500,80,5,9);
outtextxy(520,70,"Acerca..");
break;
case 3 : box(580,80,500,100,5,9);
outtextxy(520,90,"^");
break;
}
teclac=getch();
switch(c)
{
case 1 : box(580,40,500,60,5,BLUE);
outtextxy(520,50,"Ayuda");
break;
case 2 : box(580,60,500,80,5,BLUE);
outtextxy(520,70,"Acerca..");
break;
case 3 : box(580,80,500,100,5,BLUE);
outtextxy(520,90,"^");
break;
}
switch(teclac)
{ case'\x0' : teclac=getch();
switch (teclac)
{ case '\x48' : c--;break;
case '\x50' : c++;break;
}
if(c>3)c=1;
if(c<1)c=3;
break;
//fin tecla
case '\xD' : switch(c)
{
case 1 : ayuda();break;
case 2 : acerca();break;
case 3 : teclac='\x1b';box(580,40,500,100,1,3);setcolor(3);rectangle(580,40,500,100);setcolor(WHITE);break;
}
if(c!=3);
break;
}
}while(teclac!='\x1b');
}
void menuprincipal()
{
box(120,20,40,40,1,BLUE);
outtextxy(60,28,"Archivo");
box(240,20,160,40,1,BLUE);
outtextxy(180,28,"Grafica");
box(580,20,500,40,1,BLUE);
outtextxy(530,28,"Ayuda");
rectangle(640,0,620,20);
box(640,0,620,20,1,1);
outtextxy(630,10,"X");
getch();
}
void mueveprincipal()
{
char tecla;
int i=1;
menuprincipal();
do{
switch(i)
{
case 1 : box(120,20,40,40,1,9);
outtextxy(60,28,"Archivo");
break;
case 2 : box(240,20,160,40,1,9);
outtextxy(180,28,"Grafica");
break;
case 3 : box(580,20,500,40,1,9);
outtextxy(530,28,"Ayuda");
break;
case 4 : rectangle(640,0,620,20);
box(640,0,620,20,1,9);
outtextxy(630,10,"X");
break;
}
tecla=getch();
switch(i)
{
case 1 : box(120,20,40,40,1,BLUE);
outtextxy(60,28,"Archivo");
break;
case 2 : box(240,20,160,40,1,BLUE);
outtextxy(180,28,"Grafica");
break;
case 3 : box(580,20,500,40,1,BLUE);
outtextxy(530,28,"Ayuda");
break;
case 4 : rectangle(640,0,620,20);
box(640,0,620,20,1,BLUE);
outtextxy(630,10,"X");
break;
}//fin remarcado
switch(tecla)
{ case'\x0' : tecla=getch();
switch (tecla)
{ case '\x4B' : i--;break;
case '\x4D' : i++;break;
}
if(i>4)i=1;
if(i<1)i=4;
break;
case '\xD' : switch(i)
{
case 1 : muevearchivo();break;
case 2 : muevegrafica();break;
case 3 : mueveayuda();break;
case 4 : tecla='\x1b';break;
}
if(i!=4);menuprincipal();
break;
}
}while(tecla!='\x1b');
}
void main()
{
inicializa();
inicial();
pantalla();
mueveprincipal();
getch();
}