1385 lines
28 KiB
C++
1385 lines
28 KiB
C++
//BIBLIOTECAS EMPLEADAS
|
||
//Bibliotecas
|
||
#include<stdlib.h>
|
||
#include<math.h>
|
||
#include<ctype.h>
|
||
#include<alloc.h>
|
||
#include<string.h>
|
||
#include<dos.h>
|
||
#include<stdio.h>
|
||
#include<bios.h>
|
||
#include<conio.h>
|
||
#define color1 7
|
||
#define color2 127
|
||
|
||
//VARIABLES GLOBALES
|
||
struct datos{ char apellidos[21];
|
||
char nombre[16];
|
||
char direccion[21];
|
||
char localidad[21];
|
||
char provincia[11];
|
||
char cod_postal[6];
|
||
char edad[3];
|
||
char tfno[10];
|
||
char dni[10];
|
||
char instrumento[11];
|
||
}datos;
|
||
|
||
typedef struct nodo{ char apellidos[21];
|
||
char nombre[16];
|
||
char direccion[21];
|
||
char localidad[21];
|
||
char provincia[11];
|
||
char cod_postal[6];
|
||
char edad[3];
|
||
char tfno[10];
|
||
char dni[10];
|
||
char instrumento[11];
|
||
struct nodo *sig;
|
||
}PERSONAS;
|
||
|
||
struct simbolo{ char letra;
|
||
|
||
}simbolo;
|
||
|
||
typedef struct nodo1{ char letra;
|
||
struct nodo1 *sig;
|
||
struct nodo1 *ant;
|
||
|
||
}LET;
|
||
int matriz1=0;
|
||
int opcion=1;
|
||
PERSONAS *plista=NULL;
|
||
char matriz2[80];
|
||
|
||
//DECLARACION DE FUNCIONES
|
||
void graba();
|
||
void diario(int subopcion);
|
||
void captura(int tam,int elec,char nombre[80],int x,int y);
|
||
void MUSICOS(int subopcion);
|
||
void recupera();
|
||
void introducir();
|
||
void borrar();
|
||
void contenido();
|
||
void busca();
|
||
void visualizadag(void);
|
||
void visualizaag(char nombre[8]);
|
||
LET * introduceag(char nombre[8]);
|
||
void hora(void);
|
||
void creditos(void);
|
||
void dibujaeleccion();
|
||
void dibujasubmenu1();
|
||
void recuadro(int x,int y,int x1,int y1,int o);
|
||
void marco(int x,int y,int x1,int y1);
|
||
void ayudas();
|
||
void menu(void);
|
||
|
||
//FUNCION PRINCIPAL
|
||
void main()
|
||
{
|
||
int a=0;
|
||
recupera();
|
||
clrscr();
|
||
textbackground(0);
|
||
_setcursortype(_NOCURSOR);
|
||
menu();
|
||
while(opcion!=6||a!=7181)
|
||
{
|
||
dibujaeleccion();
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
a=bioskey(0);
|
||
if(a==7181&&opcion!=6) dibujasubmenu1();
|
||
if(a==19712) opcion++;
|
||
if(a==19200) opcion--;
|
||
if(opcion==0) opcion=6;
|
||
if(opcion==7) opcion=1;
|
||
}
|
||
graba();
|
||
//system("copy indiceag.dat indiceag.seg");
|
||
//system("copy agenda.dat agenda.seg");
|
||
//system("copy tel.dat tel.seg");
|
||
_setcursortype(_NORMALCURSOR);
|
||
textbackground(0);
|
||
clrscr();
|
||
}
|
||
|
||
//DIBUJA EL INTERFAZ GENERAL
|
||
void menu()
|
||
{
|
||
clrscr();
|
||
textattr(color1);
|
||
recuadro(2,2,79,24,1);
|
||
recuadro(2,1,79,1,0);
|
||
recuadro(2,25,79,25,0);
|
||
}
|
||
|
||
//DIBUJA ELECCION
|
||
void dibujaeleccion()
|
||
{
|
||
//textattr(LIGHTGRAY);
|
||
textattr(color2);
|
||
gotoxy(5,1);
|
||
cprintf("Actuaciones Musicos Organismos Archivos Informacion Salir");
|
||
gotoxy(3,25);
|
||
cprintf("Copyrights() o derechos de copia()");
|
||
textattr(color1);
|
||
switch(opcion)
|
||
{
|
||
case 1:gotoxy(5,1);cprintf("Actuaciones");break;
|
||
case 2:gotoxy(20,1);cprintf("Musicos");break;
|
||
case 3:gotoxy(31,1);cprintf("Organismos");break;
|
||
case 4:gotoxy(45,1);cprintf("Archivos");break;
|
||
case 5:gotoxy(57,1);cprintf("Informacion");break;
|
||
case 6:gotoxy(72,1);cprintf("Salir");break;
|
||
}
|
||
}
|
||
|
||
//DIBUJA SUBMENUS
|
||
void dibujasubmenu1()
|
||
{
|
||
//subopcion son CURSOS,subopcion1 son CLASES DE CURSOS
|
||
//subopcion son eleccion de submenus
|
||
int a=0,subopcion1=1,subopcion2=1,subopcion3=1;
|
||
int subopcion4=1,subopcion41=1,subopcion42=1,subopcion5=1;
|
||
while(a!=7181&&a!=283)
|
||
{
|
||
switch(opcion)
|
||
{
|
||
case 1: //ACTUACIONES
|
||
recuadro(5,2,20,7,2);
|
||
marco(5,2,19,7);
|
||
while(a!=7181&&a!=283&&a!=19712&&a!=19200)
|
||
{
|
||
textattr(color2);
|
||
gotoxy(7,3);cprintf("Toros");
|
||
gotoxy(7,4);cprintf("Procesiones");
|
||
gotoxy(7,5);cprintf("Conciertos");
|
||
gotoxy(7,6);cprintf("Varios");
|
||
textattr(color1);
|
||
switch(subopcion1)
|
||
{
|
||
case 1: gotoxy(7,3);cprintf("Toros");break;
|
||
case 2: gotoxy(7,4);cprintf("Procesiones");break;
|
||
case 3: gotoxy(7,5);cprintf("Conciertos");break;
|
||
case 4: gotoxy(7,6);cprintf("Varios");break;
|
||
}
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
a=bioskey(0);
|
||
if(a==20480) subopcion1++;
|
||
if(a==18432) subopcion1--;
|
||
if(subopcion1==0) subopcion1=4;
|
||
if(subopcion1==5) subopcion1=1;
|
||
}
|
||
if(a!=283&&a!=19712&&a!=19200) diario(subopcion1);
|
||
textattr(color1);recuadro(5,2,21,8,1);
|
||
break;
|
||
case 2: //MUSICOS
|
||
recuadro(20,2,33,7,2);
|
||
marco(20,2,33,7);
|
||
while(a!=7181&&a!=283&&a!=19712&&a!=19200)
|
||
{
|
||
textattr(color2);
|
||
gotoxy(22,3);cprintf("Introducir");
|
||
gotoxy(22,4);cprintf("Ver lista");
|
||
gotoxy(22,5);cprintf("Borrar");
|
||
gotoxy(22,6);cprintf("Buscar");
|
||
textattr(color1);
|
||
switch(subopcion2)
|
||
{
|
||
case 1: gotoxy(22,3);cprintf("Introducir");break;
|
||
case 2: gotoxy(22,4);cprintf("Ver lista");break;
|
||
case 3: gotoxy(22,5);cprintf("Borrar");break;
|
||
case 4: gotoxy(22,6);cprintf("Buscar");break;
|
||
}
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
a=bioskey(0);
|
||
if(a==20480) subopcion2++;
|
||
if(a==18432) subopcion2--;
|
||
if(subopcion2==0) subopcion2=4;
|
||
if(subopcion2==5) subopcion2=1;
|
||
}
|
||
if(a!=283&&a!=19712&&a!=19200)
|
||
{
|
||
MUSICOS(subopcion2);
|
||
}
|
||
textattr(color1);recuadro(20,2,34,8,1);
|
||
break;
|
||
case 3: //ORGANISMOS
|
||
recuadro(31,2,45,8,2);
|
||
marco(31,2,45,8);
|
||
while(a!=7181&&a!=283&&a!=19712&&a!=19200)
|
||
{
|
||
textattr(color2);
|
||
gotoxy(33,3);cprintf("Oficiales");
|
||
gotoxy(33,4);cprintf("Hermandades");
|
||
gotoxy(33,5);cprintf("Toros");
|
||
gotoxy(33,6);cprintf("Entidades");
|
||
gotoxy(33,7);cprintf("Varios");
|
||
textattr(color1);
|
||
switch(subopcion3)
|
||
{
|
||
case 1: gotoxy(33,3);cprintf("Oficiales");break;
|
||
case 2: gotoxy(33,4);cprintf("Hermandades");break;
|
||
case 3: gotoxy(33,5);cprintf("Toros");break;
|
||
case 4: gotoxy(33,6);cprintf("Entidades");break;
|
||
case 5: gotoxy(33,7);cprintf("Varios");break;
|
||
|
||
}
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
a=bioskey(0);
|
||
if(a==20480) subopcion3++;
|
||
if(a==18432) subopcion3--;
|
||
if(subopcion3==0) subopcion3=5;
|
||
if(subopcion3==6) subopcion3=1;
|
||
}
|
||
textattr(color1);recuadro(31,2,46,9,1);
|
||
break;
|
||
case 4://ARCHIVOS
|
||
recuadro(45,2,64,7,2);
|
||
marco(45,2,64,7);
|
||
while(a!=7181&&a!=283&&a!=19712&&a!=19200)
|
||
{
|
||
textattr(color2);
|
||
gotoxy(47,3);cprintf("Marchas");
|
||
gotoxy(47,4);cprintf("Paso dobles");
|
||
gotoxy(47,5);cprintf("Obras/Concientos");
|
||
gotoxy(47,6);cprintf("Varios");
|
||
textattr(color1);
|
||
switch(subopcion4)
|
||
{
|
||
case 1: gotoxy(47,3);cprintf("Marchas");break;
|
||
case 2: gotoxy(47,4);cprintf("Paso dobles");break;
|
||
case 3: gotoxy(47,5);cprintf("Obras/Conciertos");break;
|
||
case 4: gotoxy(47,6);cprintf("Varios");break;
|
||
}
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
a=bioskey(0);
|
||
if(a==20480) subopcion4++;
|
||
if(a==18432) subopcion4--;
|
||
if(subopcion4==0) subopcion4=4;
|
||
if(subopcion4==5) subopcion4=1;
|
||
}
|
||
if(a!=283&&a!=19712&&a!=19200)
|
||
{
|
||
a=0;
|
||
if (subopcion4==1)
|
||
{
|
||
recuadro(65,2,77,5,2);
|
||
marco(65,2,77,5);
|
||
while(a!=7181&&a!=283&&a!=19712&&a!=19200)
|
||
{
|
||
textattr(color2);
|
||
gotoxy(66,3);cprintf("Militares");
|
||
gotoxy(66,4);cprintf("Procesiones");
|
||
textattr(color1);
|
||
switch(subopcion41)
|
||
{
|
||
case 1: gotoxy(66,3);cprintf("Militares");break;
|
||
case 2: gotoxy(66,4);cprintf("Procesiones");break;
|
||
}
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
a=bioskey(0);
|
||
if(a==20480) subopcion41++;
|
||
if(a==18432) subopcion41--;
|
||
if(subopcion41==0) subopcion41=2;
|
||
if(subopcion41==3) subopcion41=1;
|
||
}
|
||
textattr(color1);recuadro(65,2,78,6,1);
|
||
dibujasubmenu1();
|
||
}
|
||
if (subopcion4==2)
|
||
{
|
||
recuadro(65,2,76,5,2);
|
||
marco(65,2,76,5);
|
||
while(a!=7181&&a!=283&&a!=19712&&a!=19200)
|
||
{
|
||
textattr(color2);
|
||
gotoxy(66,3);cprintf("Toros");
|
||
gotoxy(66,4);cprintf("Conciertos");
|
||
textattr(color1);
|
||
switch(subopcion42)
|
||
{
|
||
case 1: gotoxy(66,3);cprintf("Toros");break;
|
||
case 2: gotoxy(66,4);cprintf("Conciertos");break;
|
||
}
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
a=bioskey(0);
|
||
if(a==20480) subopcion42++;
|
||
if(a==18432) subopcion42--;
|
||
if(subopcion42==0) subopcion42=2;
|
||
if(subopcion42==3) subopcion42=1;
|
||
}
|
||
textattr(color1);recuadro(65,2,78,6,1);
|
||
dibujasubmenu1();
|
||
}
|
||
}
|
||
textattr(color1);recuadro(45,2,65,8,1);
|
||
break;
|
||
case 5: //INFORMACION
|
||
recuadro(57,2,68,5,2);
|
||
marco(57,2,68,5);
|
||
while(a!=7181&&a!=283&&a!=19712&&a!=19200)
|
||
{
|
||
textattr(color2);
|
||
gotoxy(59,3);cprintf("Ayuda");
|
||
gotoxy(59,4);cprintf("Creditos");
|
||
textattr(color1);
|
||
switch(subopcion5)
|
||
{
|
||
case 1: gotoxy(59,3);cprintf("Ayuda");break;
|
||
case 2: gotoxy(59,4);cprintf("Creditos");break;
|
||
}
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
a=bioskey(0);
|
||
if(a==20480) subopcion5++;
|
||
if(a==18432) subopcion5--;
|
||
if(subopcion5==0) subopcion5=2;
|
||
if(subopcion5==3) subopcion5=1;
|
||
}
|
||
if(subopcion5==1&&a!=283&&a==7181) ayudas();
|
||
else if(a!=283&&a==7181/*a!=19712&&a!=19200*/) creditos();
|
||
//if(a!=283&&a!=19712&&a!=19200)
|
||
// {
|
||
// MUSICOS(subopcion2);
|
||
// }
|
||
textattr(color1);recuadro(57,2,69,6,1);
|
||
break;
|
||
|
||
case 6: //SALIR
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
a=bioskey(0);
|
||
break;
|
||
}
|
||
if(a==19712) {a=0;opcion++;}
|
||
if(a==19200) {a=0;opcion--;}
|
||
if(opcion==0) opcion=6;
|
||
if(opcion==7) opcion=1;
|
||
dibujaeleccion();
|
||
}
|
||
}
|
||
//FUNCION PARA CREAR UN RECUADRO EN LAS COORDENADAS INDICADAS
|
||
void recuadro(int x,int y,int x1,int y1,int o)
|
||
{
|
||
int a,b;
|
||
textattr(color1);
|
||
for(a=x;a!=x1+1;a++)
|
||
for(b=y;b!=y1+1;b++)
|
||
{
|
||
gotoxy(a,b);
|
||
if(o==0||o==2) cprintf("<EFBFBD>");
|
||
else cprintf("<EFBFBD>");
|
||
}
|
||
if(o==2)
|
||
{
|
||
textattr(0);
|
||
for(a=y+1;a<y1+2;a++)
|
||
{
|
||
gotoxy(x1+1,a);
|
||
cprintf("<EFBFBD>");
|
||
}
|
||
for(a=x+1;a<x1+1;a++)
|
||
{
|
||
gotoxy(a,y1+1);
|
||
cprintf("<EFBFBD>");
|
||
}
|
||
}
|
||
}
|
||
|
||
//FUNCION PARA ENMARCAR UN RECUADRO
|
||
void marco(int x,int y,int x1,int y1)
|
||
{
|
||
int a,b;
|
||
textattr(color2);
|
||
gotoxy(x,y);
|
||
cprintf("<EFBFBD>");
|
||
gotoxy(x,y1);
|
||
cprintf("<EFBFBD>");
|
||
gotoxy(x1,y);
|
||
cprintf("<EFBFBD>");
|
||
gotoxy(x1,y1);
|
||
cprintf("<EFBFBD>");
|
||
|
||
for(a=x+1;a!=x1;a++)
|
||
{
|
||
gotoxy(a,y);
|
||
cprintf("<EFBFBD>");
|
||
gotoxy(a,y1);
|
||
cprintf("<EFBFBD>");
|
||
|
||
}
|
||
|
||
for(b=y+1;b!=y1;b++)
|
||
{
|
||
gotoxy(x,b);
|
||
cprintf("<EFBFBD>");
|
||
gotoxy(x1,b);
|
||
cprintf("<EFBFBD>");
|
||
|
||
}
|
||
}
|
||
/////////////////////////////////INFORMACION////////////////////////////////
|
||
//AYUDAS
|
||
void ayudas()
|
||
{
|
||
char texto[30]="AYUDA PARA EL USO DEL PROGRAMA";
|
||
int i;
|
||
recuadro(2,2,79,24,0);
|
||
marco(2,2,79,24);
|
||
for(i=0;i<30;i++)
|
||
{
|
||
hora();
|
||
gotoxy(i+25,2);
|
||
sound(100);
|
||
delay(100);
|
||
nosound();
|
||
delay(100);
|
||
cprintf("%c",texto[i]);
|
||
}
|
||
gotoxy(14,5);
|
||
cprintf("TECLAS GENERALES:CURSORES PARA MOVERSE POR MENUS");
|
||
gotoxy(32,6);
|
||
cprintf("RETURN PARA SELECCIONAR OPCION");
|
||
gotoxy(14,8);
|
||
cprintf("FINALIZAR:OPCION PARA SALIR DEL PROGRAMA");
|
||
gotoxy(14,10);
|
||
cprintf("INFORMACION:[AYUDAS] PARA ESTA PANTALLA");
|
||
gotoxy(26,11);
|
||
cprintf("[CREDITOS] CREADOR Y SALUDOS");
|
||
gotoxy(14,13);
|
||
cprintf("MUSICOS:[INTRODUCIR] PARA GUARDAR NUEVOS MUSICOS");
|
||
gotoxy(24,14);
|
||
cprintf("[VER LISTA] VISUALIZA TODOS LOS MUSICOS");
|
||
gotoxy(24,15);
|
||
cprintf("[BORRAR] PIDE NOMBRE Y direccion A BORRAR");
|
||
gotoxy(24,16);
|
||
cprintf("[BUSCAR] PIDE NOMBRE Y BUSCA EL TELEFONO");
|
||
gotoxy(14,18);
|
||
cprintf("DIARIO:[INTODUCIR] PARA GUARDAR INFORMACION EN LA AGENDA");
|
||
gotoxy(21,19);
|
||
cprintf("[VER DIA AG.] PARA VISUALIZAR UN DIA EN CONCRETO");
|
||
gotoxy(21,20);
|
||
cprintf("[VER TODA AG.] PARA VER TODA LA AGENDA DIA A DIA");
|
||
gotoxy(12,23);
|
||
cprintf("NOTA:LOS NOMBRES,APODOS Y NUMEROS DIPONEN DE 20 CARACTERES");
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
recuadro(2,2,79,24,1);
|
||
}
|
||
//CREDITOS
|
||
void creditos()
|
||
{
|
||
|
||
recuadro(23,10,60,15,0);
|
||
marco(23,10,60,15);
|
||
gotoxy(25,11);
|
||
cprintf("Programador: OSCAR GANDUL ALONSO");
|
||
gotoxy(25,12);
|
||
cprintf("Agradecimientos a JD,MATI...");
|
||
gotoxy(25,13);
|
||
cprintf("Programa realizado para:");
|
||
gotoxy(25,14);
|
||
textattr(123);
|
||
cprintf("LA BANDA DE MUSICA TEJERA");
|
||
textattr(color1);
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
textattr(color1);
|
||
recuadro(23,10,60,15,1);
|
||
}
|
||
|
||
/////////////////////////////////MUSICOS//////////////////////////////////
|
||
//FUNCION PRINCIPAL
|
||
void MUSICOS(int subopcion)
|
||
{
|
||
switch(subopcion)
|
||
{
|
||
case 1:introducir();break;
|
||
case 2:contenido();break;
|
||
case 3:borrar();break;
|
||
case 4:busca();break;
|
||
}
|
||
}
|
||
//METE DATOS
|
||
void introducir()
|
||
{
|
||
PERSONAS *lista;
|
||
lista=plista;
|
||
recuadro(9,5,68,19,2);
|
||
marco(9,5,68,19);
|
||
while(lista->sig!=NULL)
|
||
{
|
||
lista=lista->sig;
|
||
}
|
||
lista->sig=(PERSONAS *)malloc(sizeof(PERSONAS));
|
||
gotoxy(10,6);
|
||
cprintf("Apellidos:");
|
||
gotoxy(41,6);
|
||
cprintf("Nombre:");
|
||
gotoxy(10,8);
|
||
cprintf("Direccion:");
|
||
gotoxy(10,10);
|
||
cprintf("Localidad:");
|
||
gotoxy(41,10);
|
||
cprintf("Provincia:");
|
||
gotoxy(10,12);
|
||
cprintf("C.P.:");
|
||
gotoxy(36,12);
|
||
cprintf("Edad:");
|
||
gotoxy(51,12);
|
||
cprintf("Tfno:");
|
||
gotoxy(10,14);
|
||
cprintf("DNI:");
|
||
gotoxy(36,14);
|
||
cprintf("Instrumento:");
|
||
captura(20,2,lista->apellidos,20,6);
|
||
captura(15,2,lista->nombre,48,6);
|
||
captura(20,2,lista->direccion,20,8);
|
||
captura(20,2,lista->localidad,20,10);
|
||
captura(10,2,lista->provincia,51,10);
|
||
captura(5,2,lista->cod_postal,16,12);
|
||
captura(2,2,lista->edad,41,12);
|
||
captura(9,2,lista->tfno,56,12);
|
||
captura(9,2,lista->dni,14,14);
|
||
captura(10,2,lista->instrumento,48,14);
|
||
lista=lista->sig;
|
||
lista->sig=NULL;
|
||
textattr(color1);
|
||
recuadro(9,5,69,20,1);
|
||
/*gotoxy(27,11);
|
||
cprintf("Nombre:");
|
||
captura(10,1,lista->nombre,34,11);
|
||
gotoxy(27,12);
|
||
cprintf("Apodo:");
|
||
captura(11,1,lista->apodo,33,12);
|
||
gotoxy(27,13);
|
||
cprintf("Numero:");
|
||
captura(10,1,lista->numero,34,13);*/
|
||
//textattr(color1);
|
||
//recuadro(25,10,53,15,1);
|
||
}
|
||
/*//METE DATOS
|
||
void introducir()
|
||
{
|
||
PERSONAS datos;
|
||
FILE *fp;
|
||
if ((fp=fopen("musico.dat","ab"))==NULL) fp=fopen("musico.dat","wb");
|
||
recuadro(9,5,68,19,2);
|
||
marco(9,5,68,19);
|
||
gotoxy(10,6);
|
||
cprintf("Apellidos:");
|
||
gotoxy(41,6);
|
||
cprintf("Nombre:");
|
||
gotoxy(10,8);
|
||
cprintf("Direccion:");
|
||
gotoxy(10,10);
|
||
cprintf("Localidad:");
|
||
gotoxy(41,10);
|
||
cprintf("Provincia:");
|
||
gotoxy(10,12);
|
||
cprintf("C.P.:");
|
||
gotoxy(36,12);
|
||
cprintf("Edad:");
|
||
gotoxy(51,12);
|
||
cprintf("Tfno:");
|
||
gotoxy(10,14);
|
||
cprintf("DNI:");
|
||
gotoxy(36,14);
|
||
cprintf("Instrumento:");
|
||
captura(20,2,datos.apellidos,20,6);
|
||
captura(15,2,datos.nombre,48,6);
|
||
captura(20,2,datos.direccion,20,8);
|
||
captura(20,2,datos.localidad,20,10);
|
||
captura(10,2,datos.provincia,51,10);
|
||
captura(5,2,datos.cod_postal,16,12);
|
||
captura(2,2,datos.edad,41,12);
|
||
captura(9,2,datos.tfno,56,12);
|
||
captura(9,2,datos.dni,14,14);
|
||
captura(10,2,datos.instrumento,48,14);
|
||
textattr(LIGHTGRAY);
|
||
recuadro(9,5,69,20,1);
|
||
fwrite(&datos,sizeof(datos),1,fp);
|
||
fclose(fp);
|
||
}*/
|
||
//BORRA DE LA LISTA
|
||
void borrar()
|
||
{
|
||
int encontrado=0;
|
||
char dni[9],nombre[16],apellidos[21];
|
||
PERSONAS *p,*pant;
|
||
recuadro(18,10,62,14,2);
|
||
marco(18,10,62,14);
|
||
gotoxy(21,11);
|
||
cprintf("Introduce nombre:");
|
||
captura(15,0,nombre,38,11);
|
||
gotoxy(21,12);
|
||
cprintf("Introduce apellidos:");
|
||
captura(20,0,apellidos,41,12);
|
||
p=plista;
|
||
pant=0;
|
||
while(strcmp(nombre,p->nombre)!=0&&strcmp(apellidos,p->apellidos)!=0&&(p!=NULL))
|
||
{
|
||
pant=p;
|
||
p=p->sig;
|
||
encontrado=0;
|
||
}
|
||
if(strcmp(nombre,p->nombre)==0&&strcmp(apellidos,p->apellidos)==0)
|
||
{
|
||
if(pant==0) {plista=p->sig;free(p);}
|
||
pant->sig=p->sig;
|
||
free(p);
|
||
encontrado=1;
|
||
}
|
||
if(encontrado==0) {gotoxy(21,13);cprintf("No se encontro");}
|
||
else {gotoxy(21,13);cprintf("Nombre borrado");}
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
fflush(stdin);
|
||
textattr(color1);
|
||
recuadro(18,10,63,15,1);
|
||
}
|
||
//r para inicio de carro
|
||
//MUESTRA EL CONTENIDO
|
||
void contenido()
|
||
{
|
||
int a,c=0,num=1,y=2;
|
||
PERSONAS *lista;
|
||
recuadro(2,2,79,24,0);
|
||
marco(2,2,79,24);
|
||
lista=plista;
|
||
while(lista->sig!=NULL)
|
||
{
|
||
c++;
|
||
gotoxy(5,y+1);
|
||
cprintf("%d.-%s %s DNI:%s",num,lista->nombre,lista->apellidos,lista->dni);
|
||
gotoxy(8,y+2);
|
||
cprintf("%s",lista->direccion);
|
||
gotoxy(8,y+3);
|
||
cprintf("%5s %20s %10s tfno:%9s\n",lista->cod_postal,lista->localidad,lista->provincia,lista->tfno);
|
||
y=y+3;
|
||
if(c==7)
|
||
{
|
||
y=2;c=0;gotoxy(37,24);cprintf("[PULSE TECLA]");
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
while( kbhit() ) getch();
|
||
textattr(color1);
|
||
recuadro(3,3,78,23,0);textattr(color2);}
|
||
lista=lista->sig;
|
||
num++;
|
||
}
|
||
if(c==0)
|
||
{
|
||
marco(23,10,60,14);
|
||
gotoxy(29,12);
|
||
cprintf("NO SE ENCONTRARON TELEFONOS");
|
||
}
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
fflush(stdin);
|
||
textattr(color1);
|
||
recuadro(2,2,79,24,1);
|
||
}
|
||
/*//MUESTRA EL CONTENIDO
|
||
void contenido()
|
||
{
|
||
int a,c=2,paso=0,num=1;
|
||
//INFO *lista;
|
||
PERSONAS datos;
|
||
FILE *fp;
|
||
fp=fopen("musico.dat","rb");
|
||
recuadro(2,2,79,24,0);
|
||
marco(2,2,79,24);
|
||
//lista=plista;
|
||
while(!feof(fp))
|
||
{
|
||
if (paso==1)
|
||
{
|
||
gotoxy(5,c+1);
|
||
cprintf("%d.-%s %s DNI:%s",num,datos.nombre,datos.apellidos,datos.dni);
|
||
gotoxy(8,c+2);
|
||
cprintf("%s",datos.direccion);
|
||
gotoxy(8,c+3);
|
||
cprintf("%5s %20s %10s tfno:%9s\n",datos.cod_postal,datos.localidad,datos.provincia,datos.tfno);
|
||
// lista=lista->sig;
|
||
c=c+4;
|
||
num++;
|
||
if(c==22)
|
||
{
|
||
c=2;gotoxy(37,24);cprintf("[PULSE TECLA]");
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
while( kbhit() ) getch();
|
||
textattr(LIGHTGRAY);
|
||
recuadro(3,3,78,23,0);textattr(color2);
|
||
}
|
||
}
|
||
fread(&datos,sizeof(datos),1,fp);
|
||
paso=1;
|
||
}
|
||
if(c==0)
|
||
{
|
||
marco(23,10,60,14);
|
||
gotoxy(29,12);
|
||
cprintf("NO SE ENCONTRARON MUSICOS");
|
||
}
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
fflush(stdin);
|
||
textattr(LIGHTGRAY);
|
||
recuadro(2,2,79,24,1);
|
||
fclose(fp);
|
||
} */
|
||
//BUSCA EL NOMBRE DE UNA PERSONA
|
||
void busca()
|
||
{
|
||
char nombre[16],apellidos[21];
|
||
int a,b=0,c=0;
|
||
PERSONAS *lista;
|
||
lista=plista;
|
||
recuadro(2,2,79,24,0);
|
||
marco(2,2,79,24);
|
||
gotoxy(4,3);
|
||
cprintf("Nombre:");
|
||
captura(15,0,nombre,11,3);
|
||
gotoxy(4,4);
|
||
cprintf("Apellidos:");
|
||
captura(20,0,apellidos,14,4);
|
||
while(lista->sig!=NULL)
|
||
{
|
||
if(c==20)
|
||
{c=0;gotoxy(37,24);cprintf("[PULSE UNA TECLA]");
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
fflush(stdin);recuadro(2,2,79,24,0);}
|
||
if(strcmp(nombre,lista->nombre)==0&&strcmp(apellidos,lista->apellidos)==0)
|
||
{
|
||
recuadro(9,5,68,19,2);
|
||
marco(9,5,68,19);
|
||
gotoxy(10,6);
|
||
cprintf("Apellidos:%s",datos.apellidos);
|
||
gotoxy(41,6);
|
||
cprintf("Nombre:%s",datos.nombre);
|
||
gotoxy(10,8);
|
||
cprintf("Direccion:%s",datos.direccion);
|
||
gotoxy(10,10);
|
||
cprintf("Localidad:%s",datos.localidad);
|
||
gotoxy(41,10);
|
||
cprintf("Provincia:%s",datos.provincia);
|
||
gotoxy(10,12);
|
||
cprintf("C.P.:%s",datos.cod_postal);
|
||
gotoxy(36,12);
|
||
cprintf("Edad:%s",datos.edad);
|
||
gotoxy(51,12);
|
||
cprintf("Tfno:%s",datos.tfno);
|
||
gotoxy(10,14);
|
||
cprintf("DNI:%s",datos.dni);
|
||
gotoxy(36,14);
|
||
cprintf("Instrumento:%s",datos.instrumento);
|
||
b=1;
|
||
c++;
|
||
}
|
||
lista=lista->sig;
|
||
}
|
||
if(b==0) {gotoxy(4,5);cprintf("Nombre no encontrado");}
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
fflush(stdin);
|
||
textattr(color1);
|
||
recuadro(2,2,79,24,1);
|
||
}
|
||
/*//BUSCA EL NOMBRE DE UNA PERSONA
|
||
void busca()
|
||
{
|
||
char apellidos[20],nombre[15];
|
||
int encontrado=0;
|
||
PERSONAS datos;
|
||
FILE *fp;
|
||
fp=fopen("musico.dat","rb");
|
||
recuadro(2,2,79,24,0);
|
||
marco(2,2,79,24);
|
||
gotoxy(4,3);
|
||
cprintf("Nombre:");
|
||
captura(15,0,nombre,20,3);
|
||
gotoxy(4,4);
|
||
cprintf("Apellidos:");
|
||
captura(20,0,apellidos,20,4);
|
||
while(!feof(fp)&&encontrado==0)
|
||
{
|
||
//while(!kbhit())
|
||
// {
|
||
// hora();
|
||
// }
|
||
fread (&datos,sizeof(datos),1,fp);
|
||
if(strcmp(nombre,datos.nombre)==0&&strcmp(apellidos,datos.apellidos)==0)
|
||
{
|
||
encontrado=1;
|
||
recuadro(9,5,68,19,2);
|
||
marco(9,5,68,19);
|
||
gotoxy(10,6);
|
||
cprintf("Apellidos:%s",datos.apellidos);
|
||
gotoxy(41,6);
|
||
cprintf("Nombre:%s",datos.nombre);
|
||
gotoxy(10,8);
|
||
cprintf("Direccion:%s",datos.direccion);
|
||
gotoxy(10,10);
|
||
cprintf("Localidad:%s",datos.localidad);
|
||
gotoxy(41,10);
|
||
cprintf("Provincia:%s",datos.provincia);
|
||
gotoxy(10,12);
|
||
cprintf("C.P.:%s",datos.cod_postal);
|
||
gotoxy(36,12);
|
||
cprintf("Edad:%s",datos.edad);
|
||
gotoxy(51,12);
|
||
cprintf("Tfno:%s",datos.tfno);
|
||
gotoxy(10,14);
|
||
cprintf("DNI:%s",datos.dni);
|
||
gotoxy(36,14);
|
||
cprintf("Instrumento:%s",datos.instrumento);
|
||
}
|
||
}
|
||
if(encontrado==0) {gotoxy(4,5);cprintf("Nombre no encontrado");}
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
fflush(stdin);
|
||
textattr(7);
|
||
recuadro(2,2,79,24,1);
|
||
fclose(fp);
|
||
} */
|
||
//RECUPERA
|
||
void recupera()
|
||
{
|
||
FILE *fp;
|
||
PERSONAS *lista;
|
||
if((fp=fopen("musico.dat","rb"))==NULL) fp=fopen("musico.dat","wb");
|
||
else
|
||
{
|
||
fread(&datos,sizeof(datos),1,fp);
|
||
lista=(PERSONAS *)malloc(sizeof(PERSONAS));
|
||
plista=lista;
|
||
strcpy(lista->apellidos,datos.apellidos);
|
||
strcpy(lista->nombre,datos.nombre);
|
||
strcpy(lista->direccion,datos.direccion);
|
||
strcpy(lista->localidad,datos.localidad);
|
||
strcpy(lista->provincia,datos.provincia);
|
||
strcpy(lista->cod_postal,datos.cod_postal);
|
||
strcpy(lista->edad,datos.edad);
|
||
strcpy(lista->tfno,datos.tfno);
|
||
strcpy(lista->dni,datos.dni);
|
||
strcpy(lista->instrumento,datos.instrumento);
|
||
while(!feof(fp))
|
||
{
|
||
fread(&datos,sizeof(datos),1,fp);
|
||
lista->sig=(PERSONAS *)malloc(sizeof(PERSONAS));
|
||
lista=lista->sig;
|
||
strcpy(lista->apellidos,datos.apellidos);
|
||
strcpy(lista->nombre,datos.nombre);
|
||
strcpy(lista->direccion,datos.direccion);
|
||
strcpy(lista->localidad,datos.localidad);
|
||
strcpy(lista->provincia,datos.provincia);
|
||
strcpy(lista->cod_postal,datos.cod_postal);
|
||
strcpy(lista->edad,datos.edad);
|
||
strcpy(lista->tfno,datos.tfno);
|
||
strcpy(lista->dni,datos.dni);
|
||
strcpy(lista->instrumento,datos.instrumento);
|
||
}
|
||
}
|
||
lista->sig=NULL;
|
||
fclose(fp);
|
||
}
|
||
/////////////////////////////////DIARIO//////////////////////////////////////
|
||
void diario(int subopcion)
|
||
{
|
||
//char clave[20];
|
||
//recuadro(30,10,53,14,0);
|
||
//marco(30,10,53,14);
|
||
//gotoxy(31,12);
|
||
//cprintf("CLAVE:");
|
||
//captura(16,0,clave,37,12);
|
||
//if (strcmp(clave,"PROHIBIDOX")==0)
|
||
switch(subopcion)
|
||
{
|
||
case 1:visualizaag("toros");introduceag("toros");break;
|
||
case 2:visualizaag("proce");introduceag("proce");break;
|
||
case 3:visualizaag("conci");introduceag("conci");break;
|
||
case 4:visualizaag("vario");introduceag("vario");break;
|
||
// case 2:visualizadag();break;
|
||
// case 3:visualizaag("toros");break;
|
||
}
|
||
/*else
|
||
{
|
||
gotoxy(31,13);
|
||
cprintf("CLAVE INCORRECTA");
|
||
getch();
|
||
}*/
|
||
recuadro(30,10,53,14,1);
|
||
}
|
||
//INTRODUCE AGENDA
|
||
LET * introduceag(char nombre[8])
|
||
{
|
||
FILE *fp,*fp1;
|
||
LET *letra,*letrant,*pletra;
|
||
long espacio;
|
||
struct date d;
|
||
int x=3,y=3;
|
||
char a='0';
|
||
recuadro(2,2,79,24,0);
|
||
marco(2,2,79,24);
|
||
letra=(LET *)malloc(sizeof(LET));
|
||
pletra=letra;
|
||
letra->ant=NULL;
|
||
while(a!='\x1B')
|
||
{
|
||
x++;
|
||
if(x==79) {x=3;y=y+1;}
|
||
if(x==3&&y>3&&letra->letra=='\b') {x=78;y=y-1;}
|
||
if(y==20)
|
||
{
|
||
gotoxy(37,24);cprintf("[PULSE UNA TECLA]");
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
textattr(color1);recuadro(3,3,78,23,0);textattr(color2);x=3;y=3;
|
||
}
|
||
gotoxy(x,y);
|
||
cprintf("<EFBFBD>");
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
a=getch();
|
||
gotoxy(x,y);
|
||
cprintf("%c",a);
|
||
letra->letra=a;
|
||
letrant=letra;
|
||
letra->sig=(LET *)malloc(sizeof(LET));
|
||
if(letra->letra=='\b'&&y>2&&x>3)
|
||
{
|
||
gotoxy(x,y);cprintf(" ");
|
||
gotoxy(x-1,y);cprintf(" ");x=x-2;
|
||
letra->sig=NULL;
|
||
letra=letra->ant;
|
||
}
|
||
else if(letra->letra=='\b'&&y>2&&x==3) {x=2;}
|
||
else {
|
||
letra=letra->sig;
|
||
letra->ant=letrant;
|
||
}
|
||
}
|
||
letra->sig=NULL;
|
||
textattr(color1);
|
||
recuadro(2,2,79,24,1);
|
||
fp1=fopen("indiceag.dat","a+b");
|
||
//fp=fopen("agenda.dat","a+b");
|
||
fp=fopen(nombre,"a+b");
|
||
letra=pletra;
|
||
while(letra->sig!=NULL)
|
||
{
|
||
simbolo.letra=letra->letra;
|
||
fwrite(&simbolo.letra,sizeof(simbolo),1,fp);
|
||
letra=letra->sig;
|
||
}
|
||
getdate(&d);
|
||
espacio=ftell(fp);
|
||
fwrite(&d,sizeof(d),1,fp1);
|
||
fwrite(&espacio,sizeof(long),1,fp1);
|
||
fclose(fp1);
|
||
fclose(fp);
|
||
return pletra;
|
||
}
|
||
//VISUALIZA AGENDA DE UN DIA EN CONCRETO
|
||
void visualizadag(void)
|
||
{
|
||
FILE *fp,*fp1;
|
||
LET *letra,*pletra,*letrant;
|
||
struct date d;
|
||
long espacio=0;
|
||
long longitud=0;
|
||
char pegote[10];
|
||
int dia=0,mes=0,ano=0;
|
||
int x=3,y=4,encontrado=0;
|
||
recuadro(2,2,79,24,0);
|
||
marco(2,2,79,24);
|
||
gotoxy(4,3);
|
||
cprintf("Dia:");
|
||
captura(2,1,pegote,8,3);
|
||
dia=matriz1;
|
||
gotoxy(14,3);
|
||
cprintf("Mes:");
|
||
captura(2,1,pegote,18,3);
|
||
mes=matriz1;
|
||
gotoxy(24,3);
|
||
cprintf("A<EFBFBD>o:");
|
||
captura(4,1,pegote,28,3);
|
||
ano=matriz1;
|
||
letra=(LET *)malloc(sizeof(LET));
|
||
if((fp=fopen("agenda.dat","rb"))==NULL)
|
||
{gotoxy(3,3);cprintf(" NO HAY DATOS EN ESTA OPCION ");getch();}
|
||
else
|
||
{
|
||
fp1=fopen("indiceag.dat","rb");
|
||
while(!feof(fp1)&&encontrado==0)
|
||
{
|
||
fread(&d,sizeof(d),1,fp1);
|
||
if(dia==d.da_day&&mes==d.da_mon&&ano==d.da_year)
|
||
{
|
||
encontrado=1;
|
||
}
|
||
longitud=espacio;
|
||
fread(&espacio,sizeof(long),1,fp1);
|
||
}
|
||
if(encontrado==1)
|
||
{
|
||
fseek(fp,longitud,SEEK_SET);
|
||
pletra=letra;
|
||
fread(&simbolo.letra,sizeof(simbolo),1,fp);
|
||
letra->letra=simbolo.letra;
|
||
letra->ant=NULL;
|
||
fread(&simbolo.letra,sizeof(simbolo),1,fp);
|
||
while(simbolo.letra!='\x1B')
|
||
{
|
||
letrant=letra;
|
||
letra->sig=(LET *)malloc(sizeof(LET));
|
||
letra=letra->sig;
|
||
letra->letra=simbolo.letra;
|
||
letra->ant=letrant;
|
||
fread(&simbolo.letra,sizeof(simbolo),1,fp);
|
||
}
|
||
letra->sig=NULL;
|
||
letra=pletra;
|
||
while(letra->sig!=NULL)
|
||
{
|
||
x++;
|
||
if(x==79) {x=3;y=y+1;}
|
||
if(y==20)
|
||
{gotoxy(37,24);cprintf("[PULSE UNA TECLA]");
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
fflush(stdin);
|
||
textattr(color1);recuadro(3,3,78,23,0);textattr(color2);x=3;y=3;}
|
||
gotoxy(x,y);
|
||
cprintf("%c",letra->letra);
|
||
letra=letra->sig;
|
||
}
|
||
x++;
|
||
if(x==79) {x=3;y=y+1;}
|
||
gotoxy(x,y);
|
||
cprintf("%c",letra->letra);
|
||
}
|
||
else
|
||
{
|
||
gotoxy(4,4);
|
||
cprintf("NO SE ENCONTRO ESTA FECHA");
|
||
}
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
}
|
||
fflush(stdin);
|
||
textattr(color1);
|
||
recuadro(2,2,79,24,1);
|
||
fclose(fp);
|
||
fclose(fp1);
|
||
}
|
||
//VISUALIZA AGENDA DESDE EL PRINCIPIO
|
||
void visualizaag(char nombre[8])
|
||
{
|
||
FILE *fp,*fp1;
|
||
LET *letra,*pletra,*letrant;
|
||
struct date d;
|
||
long pego=0;
|
||
long espacio=0;
|
||
long longitud=0;
|
||
char pegote[10];
|
||
int dia=0,mes=0,ano=0;
|
||
int x=3,y=4,encontrado=0;
|
||
int salir=0;
|
||
recuadro(2,2,79,24,0);
|
||
marco(2,2,79,24);
|
||
letra=(LET *)malloc(sizeof(LET));
|
||
//if((fp=fopen("agenda.dat","rb"))==NULL)
|
||
if((fp=fopen(nombre,"rb"))==NULL)
|
||
{gotoxy(3,3);cprintf("[NO HAY DATOS EN LA AGENDA]");getch();}
|
||
else
|
||
{
|
||
fp1=fopen("indiceag.dat","rb");
|
||
while(salir!=1)
|
||
{
|
||
recuadro(3,3,78,23,0);
|
||
textattr(color2);
|
||
fseek(fp1,pego,SEEK_SET);
|
||
fread(&d,sizeof(d),1,fp1);
|
||
fread(&espacio,sizeof(espacio),1,fp1);
|
||
pego=ftell(fp1);
|
||
if(feof(fp1)) salir=1;
|
||
else
|
||
{
|
||
fseek(fp1,0,SEEK_SET);
|
||
dia=d.da_day;
|
||
mes=d.da_mon;
|
||
ano=d.da_year;
|
||
gotoxy(3,3);
|
||
cprintf("dia:%d mes:%d a<>o:%d",dia,mes,ano);
|
||
x=3;y=4;
|
||
espacio=0;
|
||
encontrado=0;
|
||
while(!feof(fp1)&&encontrado==0)
|
||
{
|
||
fread(&d,sizeof(d),1,fp1);
|
||
if(dia==d.da_day&&mes==d.da_mon&&ano==d.da_year)
|
||
{
|
||
encontrado=1;
|
||
}
|
||
longitud=espacio;
|
||
fread(&espacio,sizeof(long),1,fp1);
|
||
}
|
||
if(encontrado==1)
|
||
{
|
||
fseek(fp,longitud,SEEK_SET);
|
||
pletra=letra;
|
||
fread(&simbolo.letra,sizeof(simbolo),1,fp);
|
||
letra->letra=simbolo.letra;
|
||
letra->ant=NULL;
|
||
fread(&simbolo.letra,sizeof(simbolo),1,fp);
|
||
while(simbolo.letra!='\x1B')
|
||
{
|
||
letrant=letra;
|
||
letra->sig=(LET *)malloc(sizeof(LET));
|
||
letra=letra->sig;
|
||
letra->letra=simbolo.letra;
|
||
letra->ant=letrant;
|
||
fread(&simbolo.letra,sizeof(simbolo),1,fp);
|
||
}
|
||
letra->sig=NULL;
|
||
letra=pletra;
|
||
while(letra->sig!=NULL)
|
||
{
|
||
x++;
|
||
if(x==79) {x=3;y=y+1;}
|
||
if(y==20)
|
||
{gotoxy(37,24);cprintf("[PULSE UNA TECLA]");
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
while( kbhit() ) getch();
|
||
fflush(stdin);
|
||
textattr(color1);recuadro(3,3,78,23,0);textattr(color2);x=3;y=3;}
|
||
gotoxy(x,y);
|
||
cprintf("%c",letra->letra);
|
||
letra=letra->sig;
|
||
}
|
||
x++;
|
||
if(x==79) {x=3;y=y+1;}
|
||
gotoxy(x,y);
|
||
cprintf("%c",letra->letra);
|
||
}
|
||
else
|
||
{
|
||
gotoxy(4,4);
|
||
cprintf("NO SE ENCONTRO ESTA FECHA");
|
||
}
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
while( kbhit() ) getch();
|
||
}
|
||
}
|
||
}
|
||
fflush(stdin);
|
||
textattr(color1);
|
||
recuadro(2,2,79,24,1);
|
||
fclose(fp);
|
||
fclose(fp1);
|
||
}
|
||
/////////////////////////////////FICHEROS////////////////////////////////////
|
||
void ficheros(char nombre[8])
|
||
{
|
||
visualizaag(nombre);
|
||
introduceag(nombre);
|
||
}
|
||
///////////////////////////////////CAPTURA///////////////////////////////////
|
||
void captura(int tam,int elec,char nombre[80],int x,int y)
|
||
{
|
||
int i=0,c=0,c1=0;
|
||
matriz1=0;
|
||
if(elec==0)
|
||
{ do
|
||
{
|
||
gotoxy(x+i,y);
|
||
cprintf("<EFBFBD>");
|
||
if (i<tam) {
|
||
gotoxy(x+i+1,y);
|
||
cprintf(" ");
|
||
}
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
matriz2[i]=getch();
|
||
matriz2[i]=toupper(matriz2[i]);
|
||
if(matriz2[i]=='\b')
|
||
{
|
||
c--;
|
||
if(c==-1) c=0;
|
||
i--;
|
||
if(i==-1) i=0;
|
||
gotoxy(x+i,y);
|
||
cprintf(" ");
|
||
}
|
||
else
|
||
{
|
||
if ((isalpha(matriz2[i])!=0||matriz2[i]==' '||matriz2[i]=='<EFBFBD>'||matriz2[i]=='<EFBFBD>')&&(c!=tam))
|
||
{
|
||
gotoxy(x+i,y);
|
||
cprintf("%c",matriz2[i]);
|
||
i++;
|
||
c++;
|
||
}
|
||
}
|
||
}while(matriz2[i]!='\r');
|
||
matriz2[i]='\0';
|
||
strcpy(nombre,matriz2);
|
||
}
|
||
else { do
|
||
{
|
||
gotoxy(x+i,y);
|
||
cprintf("<EFBFBD>");
|
||
if (i<tam) {
|
||
gotoxy(x+i+1,y);
|
||
cprintf(" ");
|
||
}
|
||
while(!kbhit())
|
||
{
|
||
hora();
|
||
}
|
||
matriz2[i]=getch();
|
||
matriz2[i]=toupper(matriz2[i]);
|
||
if(matriz2[i]=='\b')
|
||
{
|
||
c--;
|
||
if(c==-1) c=0;
|
||
i--;
|
||
if(i==-1) i=0;
|
||
gotoxy(x+i,y);
|
||
cprintf(" ");
|
||
}
|
||
else
|
||
{
|
||
if (c!=tam&&matriz2[i]!='\r')
|
||
{
|
||
gotoxy(x+i,y);
|
||
cprintf("%c",matriz2[i]);
|
||
i++;
|
||
c++;
|
||
}
|
||
}
|
||
}while(matriz2[i]!='\r');
|
||
matriz2[i]='\0';
|
||
strcpy(nombre,matriz2);
|
||
}
|
||
if (elec==1)
|
||
{
|
||
c1=i;
|
||
while(c1!=0)
|
||
{
|
||
c1--;
|
||
matriz1=matriz1+((matriz2[c1])-48)*(pow(10,i-c1-1));
|
||
}
|
||
}
|
||
gotoxy(x+i,y);
|
||
cprintf(" ");
|
||
|
||
}
|
||
////////////////////////////////////RELOJ/////////////////////////////////////
|
||
//HORA
|
||
void hora()
|
||
{
|
||
struct time t;
|
||
gettime(&t);
|
||
gotoxy(72,25);
|
||
textattr(47);
|
||
cprintf("%2d:%02d:%02d",t.ti_hour, t.ti_min, t.ti_sec);
|
||
textattr(color2);
|
||
}
|
||
////////////////////////////GRABANDO DATOS ANTES DE SALIR/////////////////////
|
||
void graba()
|
||
{
|
||
PERSONAS *lista;
|
||
FILE *fp;
|
||
fp=fopen("MUSICO.dat","wb");
|
||
lista=plista;
|
||
while(lista->sig!=NULL)
|
||
{
|
||
strcpy(datos.apellidos,lista->apellidos);
|
||
strcpy(datos.nombre,lista->nombre);
|
||
strcpy(datos.direccion,lista->direccion);
|
||
strcpy(datos.localidad,lista->localidad);
|
||
strcpy(datos.provincia,lista->provincia);
|
||
strcpy(datos.cod_postal,lista->cod_postal);
|
||
strcpy(datos.edad,lista->edad);
|
||
strcpy(datos.tfno,lista->tfno);
|
||
strcpy(datos.dni,lista->tfno);
|
||
strcpy(datos.instrumento,lista->tfno);
|
||
fwrite(&datos,sizeof(datos),1,fp);
|
||
lista=lista->sig;
|
||
}
|
||
fclose(fp);
|
||
}
|
||
|
||
|
||
|
||
|
||
|