#include #include #include #include #include #include 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(); }