Código
#include <time.h> #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> #include <dos.h> #define size 120 struct dire { char nombre [30]; char direccion[40]; char tel[11]; char ciudad [20]; char especialidad [20]; char estado[10]; char control[10]; char email[16]; } dato [size]; char menu (void); void ver(int,int); void cua(int,int,int,int); void llenar(void); void buscar(void); void inicia(void); void guardar(void); void cargar(void); void ventana(int,int,int,int,int,int); void lista (void); void borrar(void); void modificar(void); void gotoxy (int,int); int regis=0; FILE *fp; int main () { char op; for(;;) { switch(op) { case '1':llenar(); break; case '2':borrar(); break; case '3':ver(0,0); break; case '4':modificar(); break; case '5':lista(); break; case '6':guardar(); break; case '7':cargar(); break; case '8':buscar(); break; break; } } } //--------------------------------------------------------------------- //devolver una seleccion del menu char menu (void) { char opcion; ventana(16,7,61,22,0,2); ventana(15,8,60,23,4,1); gotoxy(25,9);cprintf(" m e n u "); gotoxy(25,12);cprintf("1.- ALTAS"); gotoxy(25,13);cprintf("2.- BAJAS"); gotoxy(25,14);cprintf("3.- CONSULTAS"); gotoxy(25,15);cprintf("4.- MODIFICACIONES"); gotoxy(25,16);cprintf("5.- LISTA"); gotoxy(25,17);cprintf("6.- GUARDAR"); gotoxy(25,18);cprintf("7.- CARGAR"); gotoxy(25,19);cprintf("8.- BUSCAR"); gotoxy(25,20);cprintf("9.- EXIT"); gotoxy(31,12);cprintf("1.");gotoxy(31,13);cprintf("2."); gotoxy(31,14);cprintf("3.");gotoxy(31,15);cprintf("4."); gotoxy(31,16);cprintf("5.");gotoxy(31,17);cprintf("6."); gotoxy(31,18);cprintf("7.");gotoxy(31,19);cprintf("8."); gotoxy(31,20);cprintf("9.");system("Color 04"); gotoxy(31,22);cprintf("Elija una opcion:"); return(opcion); } //--------------------------------------------------------------------- //inicializa el array void inicia (void) { register int i; for (i>0; i<size; i++) *dato[i].nombre='\0'; } //--------------------------------------------------------------------- // introducir datos void llenar(void) { register int i; char opc, ar[41]; do { cua(5,3,75,24); for (i=0; i<size; i++) if(!*dato[i].nombre) break; if (i=size) { gotoxy(20,10);cprintf("La base esta completa"); return; } regis++;system("Color 06"); gotoxy(14,6);cprintf("REGISTRO No. %d",regis); gotoxy(14,8);cprintf("NOMBRE: "); ar[0]=30; gotoxy (14,10);cprintf("DIRECCION: "); ar[0]=40; gotoxy (14,12);cprintf("TELEFONO"); ar[0]=11; gotoxy (14,14);cprintf("CIUDAD"); ar[0]=20; gotoxy (14,16);cprintf("ESTADO"); ar[0]=10; gotoxy (14,18);cprintf("EMAIL"); ar[0]=16; gotoxy(14,21);cprintf("otro registro (s/n):"); } //--------------------------------------------------------------------- // eliminar registros completos void borrar() { int num; int ban=0; int l; char e,opc; int var; int i; do { gotoxy(18,10);cprintf("QUE REGISTRO DESEA BORRAR: "); if (num-1<0 | num>regis) { //blink gotoxy(20,13);cprintf("---- NO EXISTE ESE REGISTRO!!! ----"); gotoxy(30,21); cprintf ("ELIMINA REGISTRO(S/N): "); continue; gotoxy(0,0);cprintf(""); } for(i=00 ; i<=num-1; i++) //busca el registro var=i; ver (var,1); gotoxy(5,20), cprintf("confirma la eliminacion del registro (presiona S)"); { for (i=1; i<size; i++) { *dato[size].nombre='\0'; } ban=1; } if (ban) { gotoxy(10,22); cprintf("El registro fue eliminado"); regis--; } else { gotoxy(10,22); cprintf("La operacion fue cancelada"); } gotoxy(40,22); cprintf ("ELIMINA OTRO REGISTRO (S/N): "); } //--------------------------------------------------------------------- // modificaciones void modificar(void) { int num, el,mod,ban=0; char e,opc,o,m,dat[41]; register int i, var; do{ gotoxy (20,8);cprintf("QUE REGISTRO DESEA MODIFICAR: "); if (num-1<0 || num>regis) { //blink gotoxy(15,13);cprintf("---- NO EXISTE ESE REGISTRO!!! ----"); gotoxy(20,17); cprintf ("MODIFICAR REGISTRO(S/N): "); continue; } for (i=0; i<=num-1; ++) //busca el registro var=i; ver (var,1); do { gotoxy(5,21); cprintf("1. Nombre 2. Direccion 3. Telefono 4. Ciudad 5. Estado 6. Email 7. Cancelar"); gotoxy(12,23);cprintf("QUE CAMPO DESEA MODIFICAR: "); //scanf("%d",&mod); switch(m) { case '1': { gotoxy(23,8);cprintf(" "); gotoxy(23,8); dat[0]=30; } break; case '2': { gotoxy(26,10);cprintf(" "); gotoxy(26,10); dat[0]=40; } break; case '3': { gotoxy(25,12);cprintf(" "); gotoxy(25,12); dat[0]=11; } break; case '4': { gotoxy(23,14);cprintf(" "); gotoxy(23,14); dat[0]=21; } break; case '5': { gotoxy(23,16);cprintf(" "); gotoxy(23,16); dat[0]=16; } break; case '6': { gotoxy(23,18);cprintf(" "); gotoxy(23,18); dat[0]=16; } break; default: { ban=1; } break; } gotoxy(45,23); cprintf("MODIFICAR OTRO CAMPO(S/N): "); gotoxy(20,21);cprintf("EL CAMPO TECLEADO NO EXISTE"); gotoxy(45,23); cprintf("MODIFICAR OTRO REGISTRO (S/N): "); } //--------------------------------------------------------------------- // busqueda por nombre void buscar(void) { char alias[40],opc,*p; register int i; int found=0; do { gotoxy(10,10);cprintf("nombre a buscar: "); alias[0]=30; p=cgets(alias); for (i=0; i<=regis; i++) { if(!stricmp(p,dato[i].nombre)) { ver (i,1); found=1; break; } } if(!found) { //blink gotoxy(10,15);cprintf("---- LA PERSONA NO ESTA REGISTRADA!!! ----"); gotoxy(20,21);cprintf("BUSCAR OTRO REGISTRO (S/N): "); found=0; } //--------------------------------------------------------------------- // recuperar el archivo de catalogo void cargar(void) { register int i; { return; } inicia(); for(i=0; i<size; i++) { { regis++; { return; } } gotoxy(10,10);cprintf("Error al leer el archivo\n"); } } //--------------------------------------------------------------------- // guardar void guardar (void) { FILE *fp; register int i; { return; } for (i=0; i<size; i++) { if (*dato[].nombre) { { gotoxy(10,10);printf("Error de escritura de archivo"); } } } } //--------------------------------------------------------------------- // ver los datos de la persona void ver (int n, int opci) { int num,bool=1; textcolor(6); cua(); if(!opci) { gotoxy(20,5);cprintf("QUE REGISTRO DESEAS VISUALIZAR: "); num--; } else num=n; clrscr(); textbackground(9); textcolor(2); cua(1,1,75,24); gotoxy(40,2);cprintf("REGISTRO No. %d",num+1); textcolor(8); if (!regis) { bool=0; gotoxy(15,15); cprintf("BASE VACIA"); } if ((num<0)||(num>regis)) { bool=0; gotoxy(15,15); cprintf("NO EXISTE ESE REGISTRO"); } if(bool) { cua(2,3,75,24); textcolor(10); gotoxy(30,4);cprintf("REGISTRO No.%d",num+1); gotoxy(15,8);cprintf("NOMBRE:%S",DATO[num].nombre); gotoxy(15,10);cprintf("DIRECCION:%s".dato[num].direccion); gotoxy(15,12);cprintf("TELEFONO:%".dato[num].telefono); gotoxy(15,14);cprintf("CIUDAD:%s".dato[num].ciudad); gotoxy(15,16);cprintf("ESTADO:%s".dato[nm].estado); gotoxy(15,18);cprintf("EMAIL:%".dato[num].email); } textcolor(14); gotoxy(45,24); cprintf("Presiona enter para continuar"); } //--------------------------------------------------------------------- // lista de personas capturadas void lista() { register int i=0; int c=2,cot=0; cua(1,1,75,24); while(*dato[i].nombre!='\0' || *dato[i].tel!='\0') { cot=i+1; textcolor(15); gotoxy(5,c); cprintf("%d. - %s",cot,dato[i].nombre); i++; c++; if (c==22) { textcolor(14); gotoxy(40,24); cprintf("presiona enter para continuar"); c=2; } } gotoxy(40,24); cprintf("presiona enter para terminar"); } //--------------------------------------------------------------------- // void cua(int a, int b, int c, int d) { int i; for(i=a; i<=c; i++) { gotoxy(i,b); cprintf("Ä"); gotoxy(i,d); cprintf("Ä"); } for(i=b; i<=d; i++) { gotoxy(a,i); cprintf("Ë"); gotoxy(C,i); cprintf("Ë"); } gotoxy(a,b); cprintf("Ú"); gotoxy(a,d); cprintf("Á"); gotoxy(c,b); cprintf("?"); gotoxy(c,d); cprintf("Ú"); } //--------------------------------------------------------------------- void ventana(int a, int b, int c, int d, int e, int f) { int i,j; for (i=a; i<=c; i++) { for (j=b; j<=d; j++) { switch(f) { case '1': { gotoxy(i,j);cprintf("**"); } break; case '2': { gotoxy(i,j);cprintf("++"); } break; } } } }
MOD: Etiquetas GeSHi