#include struct { //creamos estructura char name[50]; char perso[50]; char tipo[50]; }animal; FILE *fanimal,*fae,*fap; void menu(); void addanimal(int x); void cleanbuffers(); void searchani(); void seefiles(int x); void openclosef(char c[2],int x); void getocfnull(); main() { int *password; char *code[5]; getpassword(password); cheklogin(password); getocfnull(); menu(); openclosef("c+",0); } void menu(){ char opc; do { system("CLS"); printf("\n[1] Introducir animal perdido"); printf("\n[2] Introducir animal encontrado"); printf("\n[3] Ver animales perdidos y luego encontrados"); printf("\n[4] Ver animales perdidos"); printf("\n[5] Ver animales encontrados"); printf("\n[6] Ver resultados anteriores"); printf("\n[7] Imprimir resultados"); printf("\n[*] Salir del programa"); printf("\nIntroduce una opci¢n "); opc=getch(); switch(opc){ case '1':{addanimal(1);break;} case '2':{addanimal(2);break;} case '3':{searchani();break;} case '4':{seefiles(1);break;} case '5':{seefiles(2);break;} case '6':{seefiles(3);break;} case '*':{break;} default:{clrscr();printf("\nIntroduce una opci¢n valida.");getch();} } } while (opc!='*'); } void addanimal(int x){ cleanbuffers(); if(x==1){ printf("\nTipo de animal: ");gets(animal.tipo); printf("\nNombre del animal: ");gets(animal.name); printf("\nNombre del due¤o: ");gets(animal.perso); openclosef("w+",1); fwrite(&animal,sizeof(animal),1,fap);printf("ia lo hizo");getch(); openclosef("c",1); } if(x==2){ printf("\nTipo de animal: ");gets(animal.tipo); printf("\nNombre del animal: ");gets(animal.name); printf("\nNombre del due¤o: ");gets(animal.perso); openclosef("w+",2); fwrite(&animal,sizeof(animal),1,fae); openclosef("c",2); } } void searchani() { char strani1[50],strani2[50]; printf("\nProcesando busqueda..."); openclosef("r",1); openclosef("r",2); openclosef("w",3); clrscr(); while(feof(fap)==0){ rewind(fae); strcpy(strani1,"NULL");strcpy(strani2,strani1); if(fread(&animal,sizeof(animal),1,fap)){strcpy(strani1,animal.name);} while(feof(fae)==0){ if(fread(&animal,sizeof(animal),1,fae)){strcpy(strani2,animal.name);} if((strcmp(strani1,strani2)==0)&&(strcmp(strani1,"NULL")!=0)){ printf("\nAnimal: %s ~ Nombre: %s ~ Amo: %s",animal.tipo,animal.name,animal.perso); fprintf(fanimal,"\nAnimal: %s ~ Nombre: %s ~ Amo: %s",animal.tipo,animal.name,animal.perso); openclosef("c+",0); break; } else{printf("\nFin de la busqueda");getch();return;} } } getch(); openclosef("c+",0); } void cleanbuffers(){fflush(stdin);fflush(stdout);} void seefiles(int x){ char strfileread[15]; if(x==1){strcpy(strfileread,"a-p.txt");} if(x==2){strcpy(strfileread,"a-e.txt");} if(x==3){system("more a-r.txt");printf("\nFin del listado");getch();return;} fanimal=fopen(strfileread,"r"); while(feof(fanimal)==0) { if(fread(&animal,sizeof(animal),1,fanimal)){printf("\nAnimal: %s ~ Nombre: %s ~ Amo: %s",animal.tipo,animal.name,animal.perso);} } printf("\nFin del listado"); openclosef("c",3); getch(); } void openclosef(char c[2],int x){ char opc[2]; if(strcmp(c,"r")==0){strcpy(opc,"r");} if(strcmp(c,"w+")==0){strcpy(opc,"w+");} if(strcmp(c,"w")==0){strcpy(opc,"w");} if(strcmp(c,"c")==0){printf("aquinta el error");getch();strcpy(opc,"c");} if(strcmp(c,"c+")==0){fclose(fap);fclose(fae);fclose(fanimal);return;} if(x==1){printf("dentro fap %s",opc);fap=fopen("a-p.txt",opc);} if(x==2){fae=fopen("a-e.txt",opc);} if(x==3){fanimal=fopen("a-r.txt",opc);} } void getocfnull(){ openclosef("r",1);openclosef("r",2);openclosef("r",3); if (fap==NULL||fae==NULL||fanimal==NULL){ printf("\nAlgun fichero no existe en su directorio."); printf("\nPresione una tecla para crearlo y continuar con el programa"); openclosef("w",1); openclosef("w",2); openclosef("w",3); } openclosef("c+",0); getch(); } void cheklogin(int *password){ char c; int userpass; system("CLS"); printf("\n\n\n\n\n\n\n\n\n Enter password: "); scanf("%d",&userpass); textbackground(0);textcolor(4); if(*password!=userpass){ system("CLS");printf("\n\n");cprintf(" User_Password invalido"); printf("\n\n\n\n\n\n\n\n\n"); exit(0); } void getpassword(int *password){ int num; ftienda=fopen("password.$cb","rb"); if(ftienda==NULL){printf("\nERROR al abrir el fichero");} num=getw(ftienda); *password=num; fclose(ftienda); } void setpassword() { int num; system("CLS"); ftienda=fopen("password.$cb","wb"); if(ftienda==NULL){printf("\nERROR al abrir el fichero");} printf("\nDebe ser un numero entero"); printf("\nNo debe empezar por cero\n"); printf("\nIntroduce la nueva password: "); scanf("%d",&num); putw(num,ftienda); fclose(ftienda); } void final() { char c; clrscr(); _setcursortype(0); textcolor(11); printf("\n\n\n\n\n\n\n\n"); cprintf(" ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ "); printf("\n"); cprintf(" ÉÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͻÿ "); printf("\n"); cprintf(" º ²²²±±±°°° juego de los dados °°°±±±²²² º³³ "); printf("\n"); cprintf(" ÌÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĹ³³ "); printf("\n"); cprintf(" º ¸2001 by Quasi ³ quasi@wanadoo.es º³³ "); printf("\n"); cprintf(" º www.ircorion.cjb.net ³ inet@wanadoo.es º³³ "); printf("\n"); cprintf(" ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÁÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÁÙ "); printf("\n\n\n\n\n\n"); system("CLS"); _setcursortype(2); getch(); exit(0); }