#include #include char ventana (int ancho,int largo,int color_g,int color_borde,char titulo[], int color_titulo,int posx,int posy); char ventanaarchivo(int op);char ventanaoperaciones(); char ventanaayuda(int op);char ventanageneral(int op); char ventanatipomatriz(); char pagina(int numero);char instrucciones(char opt,int numero_pag); void main(){ int salir=0; do { char tecla; int numero=0,col,tipomatriz; ventanageneral(0); do { textcolor(1);textbackground(1);gotoxy(78,24); fflush(stdin);cscanf("%1c",&tecla);numero=tecla; } while (numero!=97 && numero!=121 && numero!=27); if (numero==97) { ventanaarchivo(0); do { textcolor(1);textbackground(1);gotoxy(78,24); fflush(stdin);cscanf("%1c",&tecla);numero=tecla; } while (numero!=115 && numero!=109 && numero!=108 && numero!=27); if (numero==108) { ventanageneral(0);ventana(35,5,8,8,"",8,24,11); ventana(35,5,7,4,"Salir",14,22,10); gotoxy(26,12);textbackground(7);textcolor(0); cprintf("¨Desea salir del programa?"); do { textcolor(1);textbackground(1);gotoxy(78,24); fflush(stdin);cscanf("%1c",&tecla);numero=tecla; } while (numero!=115 && numero!=110 && numero!=27); if (numero==115) salir=1; } else { if (numero==109) { tipomatriz=ventanatipomatriz(); ventanageneral(0); switch(tipomatriz){ case 49: break; case 50: int matriz[3][3]; ventana(20,7,8,8,"",8,9,6); ventana(20,7,7,1,"Matriz",14,7,5); gotoxy(11,6);textcolor(0);textbackground(7); cprintf("Ú");gotoxy(11,7);cprintf("³");gotoxy(11,8);cprintf("³"); gotoxy(11,9);cprintf("³");gotoxy(11,10);cprintf("À"); gotoxy(22,6);cprintf("¿");gotoxy(22,7);cprintf("³"); gotoxy(22,8);cprintf("³");gotoxy(22,9);cprintf("³"); gotoxy(22,10);cprintf("Ù"); for (int f=1;f<=3;f++) for(int c=2;c<=9;c=c+3){ gotoxy(12+c,6+f);cprintf("*"); } ventana(35,5,8,8,"",8,37,7); ventana(35,5,7,1,"Introducci¢n de la matriz",14,35,6); gotoxy(39,8);textcolor(0);textbackground(7); cprintf("Introduce n£mero: "); int num,col=0; for (f=1;f<=3 && numero!=27;f++){ for (col=(-1),c=2;c<=9 && numero!=27;col++){ if (c>2){ matriz[f-1][col]=num; textcolor(0);gotoxy(12+(c-3),6+f); cprintf("%d",matriz[f-1][col]); textcolor(0+BLINK);gotoxy(12+c,6+f);cprintf("*"); c=c+3; } else { textcolor(0+BLINK);gotoxy(12+c,6+f);cprintf("*"); c=c+3; } num=10; do { do { if (numero==0) { gotoxy(57,8);textcolor(7);cprintf("Û"); } textcolor(0);gotoxy(57,8); fflush(stdin);cscanf("%1c",&tecla);numero=tecla; if (numero==13 && num==10){ num=0; ventana(35,7,8,8,"",8,27,14); ventana(35,7,7,4,"Error 002",14+BLINK,25,13); textcolor(0);textbackground(7);gotoxy(29,15); cprintf("Al no haber introducido nin-"); gotoxy(29,16);cprintf("g£n valor, se introduce por"); gotoxy(29,17);cprintf("defecto el 0."); fflush(stdin);getch(); ventana(35,7,15,15,"",15,27,14); ventana(35,7,15,15,"",15,25,13); } if (numero!=27 && numero!=13 && numero<48 || numero>57) { ventana(35,6,8,8,"",8,27,14); ventana(35,6,7,4,"Error 001",14+BLINK,25,13); textcolor(0);textbackground(7);gotoxy(29,15); cprintf("No se puede introducir un"); gotoxy(29,16);cprintf("car cter,solo n£meros."); fflush(stdin);getch(); ventana(35,6,15,15,"",15,27,14); ventana(35,6,15,15,"",15,25,13); numero=0; } }while(numero!=27 && numero!=13 && numero<48 || numero>57); if (numero>=48 && numero<=57){ switch(numero) { case 48: num=0;break; case 49: num=1;break; case 50: num=2;break; case 51: num=3;break; case 52: num=4;break; case 53: num=5;break; case 54: num=6;break; case 55: num=7;break; case 56: num=8;break; case 57: num=9;break; } } }while(numero!=13 && numero!=27); gotoxy(57,8);textcolor(7);cprintf("Û"); } matriz[f-1][col]=num; textcolor(0);gotoxy(12+(c-3),6+f); cprintf("%d",matriz[f-1][col]); } ventanageneral(1); ventana(20,7,8,8,"",8,9,6); ventana(20,7,7,1,"Matriz",14,7,5); gotoxy(11,6);textcolor(0);textbackground(7); cprintf("Ú");gotoxy(11,7);cprintf("³");gotoxy(11,8);cprintf("³"); gotoxy(11,9);cprintf("³");gotoxy(11,10);cprintf("À"); gotoxy(22,6);cprintf("¿");gotoxy(22,7);cprintf("³"); gotoxy(22,8);cprintf("³");gotoxy(22,9);cprintf("³"); gotoxy(22,10);cprintf("Ù"); for (f=1;f<=3;f++){ for (col=0,c=5;c<=9;c=c+3,col++){ textcolor(0);gotoxy(12+(c-3),6+f); cprintf("%d",matriz[f-1][col]); } textcolor(0);gotoxy(12+(c-3),6+f); cprintf("%d",matriz[f-1][col]); } break; } do { textcolor(1);textbackground(1);gotoxy(78,24); fflush(stdin);cscanf("%1c",&tecla);numero=tecla; } while (numero!=97 && numero!=121 && numero!=111 && numero!=27); switch(numero){ case 111: ventanaoperaciones(); getch(); } } } } else { if (numero==121) { ventanaayuda(0); do { textcolor(1);textbackground(1);gotoxy(78,24); fflush(stdin);cscanf("%1c",&tecla);numero=tecla; } while (numero!=121 && numero!=97 && numero!=27); if (numero==97) { ventanageneral(0); ventana(35,9,8,8,"",8,24,9); ventana(35,9,7,1,"Acerca de...",14,22,8); gotoxy(29,10);textbackground(7);textcolor(4+BLINK); cprintf("MATRIMATIC© ver 1.0"); gotoxy(25,12);textcolor(0);cprintf("Programado por:"); gotoxy(27,13);textcolor(15);cprintf("Mois‚s Virumbrales Cuenca"); gotoxy(40,15);textcolor(0);cprintf("Copyright 1999"); fflush(stdin);getch(); } else { if (numero==121) { ventanageneral(0); int numpag=1;char opcion='a'; numpag=instrucciones(opcion,numpag); for (;numpag!=10;) { textcolor(1);textbackground(1);gotoxy(78,24); fflush(stdin);cscanf("%1c",&opcion); numpag=instrucciones(opcion,numpag); } } } } else { ventana(35,5,8,8,"",8,24,11); ventana(35,5,7,4,"Salir",14,22,10); gotoxy(26,12);textbackground(7);textcolor(0); cprintf("¨Desea salir del programa?"); do { textcolor(1);textbackground(1);gotoxy(78,24); fflush(stdin);cscanf("%1c",&tecla);numero=tecla; } while (numero!=115 && numero!=110 && numero!=27); if (numero==115) salir=1; } } textcolor(0); } while(salir==0); } // Funci¢n ventana. char ventana (int ancho,int largo,int color_g,int color_borde,char titulo[80], int color_titulo,int posx,int posy) { int x,y,cony,conx; char dib; dib='Û'; for (cony=0,y=posy;cony