void fotoanimal (pNodo cabeza){
int id=0;
char start[MAX]={"start "};
printf("Ingrese el id del animal a mostrarn"); while(cabeza!=NULL){
if(cabeza->animal.identificador==id){
cabeza=NULL;
}
else{
cabeza=cabeza->sig;
if(cabeza==NULL){
printf("El Id ingresado no es validon");
}
}
}
}
/*muestra la foto del animal*/
void infconsultas(pNodo cabeza){
FILE *consultas;
sconsulta consulta;
struct tm *OurT=NULL;
int id=0;
char c[MIX]={"c"};
char txt[MIX]= {".txt"};
char nombre[MAX];
printf("ingrese id animal que realizo la consulta:n");
while(cabeza!=NULL){
if(cabeza->animal.identificador==id){
printf("Ingrese datos de la consulta");
printf("Ingrese motivo de la consulta:n"); printf("Ingrese diagnostico:n"); gets(consulta.
diagnostico); printf("Ingrese tratamiento:n"); gets(consulta.
tratamiento); printf("Ingrese veterinario que los reviso:n"); gets(consulta.
veterinario); consulta.fechacontrol.dd=OurT->tm_yday;
consulta.fechacontrol.mm=OurT->tm_mon;
consulta.fechacontrol.aa=OurT->tm_year;
sprintf(nombre
,"%d%s%d%d%d%d%d%s",id
,c
,OurT
->tm_yday
,OurT
->tm_mon
,OurT
->tm_year
,OurT
->tm_hour
,OurT
->tm_min
,txt
); consultas
=fopen("nombre","wt"); fprintf(consultas
,"%s,%s,%s,%s,%d,%d,%dn",consulta.
motivo,consulta.
diagnostico,consulta.
tratamiento,consulta.
veterinario,consulta.
fechacontrol.
dd,consulta.
fechacontrol.
mm,consulta.
fechacontrol.
aa); return;
}
else{
cabeza=cabeza->sig;
if(cabeza==NULL){
printf("El Id ingresado no es validon");
}
}
}
}
/*crea archivos de consulta por animal*/
void infalergias(pNodo cabeza){
FILE *alergias;
salergia alergia;
struct tm *OurT=NULL;
int id=0;
char c[MIX]={"a"};
char txt[MIX]= {".txt"};
char nombre[MAX];
printf("ingrese id animal con alergias:n");
while(cabeza!=NULL){
if(cabeza->animal.identificador==id){
printf("Ingrese datos de la alergia");
printf("Ingrese nombre de la alergia:n"); printf("Ingrese tratamiento:n"); printf("Ingrese observaciones:n"); alergia.fecha.dd=OurT->tm_yday;
alergia.fecha.mm=OurT->tm_mon;
alergia.fecha.aa=OurT->tm_year;
sprintf(nombre
,"%d%s%d%d%d%d%d%s",id
,c
,OurT
->tm_yday
,OurT
->tm_mon
,OurT
->tm_year
,OurT
->tm_hour
,OurT
->tm_min
,txt
); alergias
=fopen("nombre","wt"); fprintf(alergias
,"%s,%s,%s,%d,%d,%dn",alergia.
alergia,alergia.
trata,alergia.
observ,alergia.
fecha.
dd,alergia.
fecha.
mm,alergia.
fecha.
aa); return;
}
else{
cabeza=cabeza->sig;
if(cabeza==NULL){
printf("El Id ingresado no es validon");
}
}
}
}
/*crea archivos de alergias por animal*/
void infvacunacion(pNodo cabeza){
FILE *vacunas;
svacuna vacuna;
struct tm *OurT=NULL;
int id=0;
char c[MIX]={"v"};
char txt[MIX]= {".txt"};
char nombre[MAX];
printf("ingrese id animal que recibio vacunas:n");
while(cabeza!=NULL){
if(cabeza->animal.identificador==id){
printf("Ingrese datos de la vacuna");
printf("Ingrese nombre de la vacuna:n"); printf("Ingrese plan sanitario:n"); gets(vacuna.
plansatinario); printf("Ingrese plan de aplicacion:n"); gets(vacuna.
planaplicacion); printf("Ingrese observacions:n"); gets(vacuna.
observaciones); vacuna.fechavenc.dd=OurT->tm_yday;
vacuna.fechavenc.mm=OurT->tm_mon;
vacuna.fechavenc.aa=OurT->tm_year;
sprintf(nombre
,"%d%s%d%d%d%d%d%s",id
,c
,OurT
->tm_yday
,OurT
->tm_mon
,OurT
->tm_year
,OurT
->tm_hour
,OurT
->tm_min
,txt
); vacunas
=fopen("nombre","wt"); fprintf(vacunas
,"%s,%s,%s,%s,%d,%d,%dn",vacuna.
vacuna,vacuna.
plansatinario,vacuna.
planaplicacion,vacuna.
observaciones,vacuna.
fechavenc.
dd,vacuna.
fechavenc.
mm,vacuna.
fechavenc.
aa); return;
}
else{
cabeza=cabeza->sig;
if(cabeza==NULL){
printf("El Id ingresado no es validon");
}
}
}
}
/*crea archivos de vacunacion por animal*/
void hiscomp(pNodo cabeza){
imprimirvacunas(cabeza);
imprimiralergias(cabeza);
imprimirconsultas(cabeza);
}
/*imprime el historial completo de un animal*/
void guardararchivo(pNodo *cabeza){
FILE *animales;
pNodo auxiliar;
char aux[100];
char aux2[100];
auxiliar=*cabeza;
strcpy(aux2
,"veterinaria.dat"); animales
=fopen("aux","wb"); while(auxiliar!=NULL){
fwrite(&auxiliar
,sizeof(nodo
),1,animales
); auxiliar=auxiliar->sig;
}
}
/*guarda la lista en un archivo binario*/
void imprimirvacunas(pNodo cabeza){
FILE *vacunas;
HANDLE hFind;
WIN32_FIND_DATA FindData;
svacuna vacuna;
int ErrorCode;
int id;
char generico[MAX];
char asterisco[MAX]={"v*.txt"};
char nombre [MAX];
printf("Ingrese id del animaln"); sprintf(generico
,"%d%s",id
,asterisco
);
while(cabeza!=NULL){
if(cabeza->animal.identificador==id){
hFind = FindFirstFile(L"generico", &FindData);
if(hFind == INVALID_HANDLE_VALUE)
{
ErrorCode = GetLastError();
if (ErrorCode == ERROR_FILE_NOT_FOUND)
{
printf ("No existen vacunasn") ; }
}
else
{
vacunas
=fopen("FindData.cFileName","rt"); fscanf(vacunas
,"%s,%s,%s,%s,%d,%d,%dn",vacuna.
vacuna,vacuna.
plansatinario,vacuna.
planaplicacion,vacuna.
observaciones,vacuna.
fechavenc.
dd,vacuna.
fechavenc.
mm,vacuna.
fechavenc.
aa); printf( "%sn,%sn,%sn,%sn,%dn,%dn,%dn", vacuna.
vacuna,vacuna.
plansatinario,vacuna.
planaplicacion,vacuna.
observaciones,vacuna.
fechavenc.
dd,vacuna.
fechavenc.
mm,vacuna.
fechavenc.
aa);
}
while (FindNextFile(hFind, &FindData)){
if(hFind == INVALID_HANDLE_VALUE)
{
ErrorCode = GetLastError();
if (ErrorCode == ERROR_FILE_NOT_FOUND)
{
printf ("No se encontraron más archivos de vacunasn"); }
else{
/*Printf("Se encontro un error FindFirstFile() returned error code:%d",ErrorCode);
*/}
}
else
{
vacunas
=fopen("FindData.cFileName","rt"); fscanf(vacunas
,"%s,%s,%s,%s,%d,%d,%dn",vacuna.
vacuna,vacuna.
plansatinario,vacuna.
planaplicacion,vacuna.
observaciones,vacuna.
fechavenc.
dd,vacuna.
fechavenc.
mm,vacuna.
fechavenc.
aa); printf( "%sn,%sn,%sn,%sn,%dn,%dn,%dn", vacuna.
vacuna,vacuna.
plansatinario,vacuna.
planaplicacion,vacuna.
observaciones,vacuna.
fechavenc.
dd,vacuna.
fechavenc.
mm,vacuna.
fechavenc.
aa);
}
}
}
}
FindClose(hFind);
}
else{
cabeza=cabeza->sig;
if(cabeza==NULL){
printf("El Id ingresado no es validon"); }
}
}
}
/*imprimir todos los archivos de vacunas por animal*/
void imprimiralergias(pNodo cabeza){
FILE *alergias;
HANDLE hFind;
WIN32_FIND_DATA FindData;
salergia alergia;
int ErrorCode;
int id;
char generico[MAX];
char asterisco[MAX]={"a*.txt"};
char nombre [MAX];
printf("Ingrese id del animaln"); sprintf(generico
,"%d%s",id
,asterisco
);
while(cabeza!=NULL){
if(cabeza->animal.identificador==id){
hFind = FindFirstFile(L"generico", &FindData);
if(hFind == INVALID_HANDLE_VALUE)
{
ErrorCode = GetLastError();
if (ErrorCode == ERROR_FILE_NOT_FOUND)
{
printf ("No existen alergiasn") ; }
}
else
{
alergias
=fopen("FindData.cFileName","rt"); fscanf(alergias
,"%s,%s,%s,%d,%d,%dn",alergia.
alergia,alergia.
trata,alergia.
observ,alergia.
fecha.
dd,alergia.
fecha.
mm,alergia.
fecha.
aa); printf( "%sn,%sn,%sn,%dn,%dn,%dn",alergia.
alergia,alergia.
trata,alergia.
observ,alergia.
fecha.
dd,alergia.
fecha.
mm,alergia.
fecha.
aa);
}
while (FindNextFile(hFind, &FindData)){
if(hFind == INVALID_HANDLE_VALUE)
{
ErrorCode = GetLastError();
if (ErrorCode == ERROR_FILE_NOT_FOUND)
{
printf ("No se encontraron más archivos de alergiasn"); }
else{
/*Printf("Se encontro un error FindFirstFile() returned error code:%d",ErrorCode);
*/}
}
else
{
alergias
=fopen("FindData.cFileName","rt"); fscanf(alergias
,"%s,%s,%s,%d,%d,%dn",alergia.
alergia,alergia.
trata,alergia.
observ,alergia.
fecha.
dd,alergia.
fecha.
mm,alergia.
fecha.
aa); printf( "%sn,%sn,%sn,%dn,%dn,%dn",alergia.
alergia,alergia.
trata,alergia.
observ,alergia.
fecha.
dd,alergia.
fecha.
mm,alergia.
fecha.
aa);
}
}
}
}
FindClose(hFind);
}
else{
cabeza=cabeza->sig;
if(cabeza==NULL){
printf("El Id ingresado no es validon"); }
}
}
}
/*imprimir todos los archivos de alergias por animal*/
void imprimirconsultas(pNodo cabeza){
FILE *consultas;
HANDLE hFind;
WIN32_FIND_DATA FindData;
sconsulta consulta;
int ErrorCode;
int id;
char generico[MAX];
char asterisco[MAX]={"c*.txt"};
char nombre [MAX];
printf("Ingrese id del animaln"); sprintf(generico
,"%d%s",id
,asterisco
);
while(cabeza!=NULL){
if(cabeza->animal.identificador==id){
hFind = FindFirstFile(L"generico", &FindData);
if(hFind == INVALID_HANDLE_VALUE)
{
ErrorCode = GetLastError();
if (ErrorCode == ERROR_FILE_NOT_FOUND)
{
printf ("No existen consultasn") ; }
}
else
{
consultas
=fopen("FindData.cFileName","rt");
fscanf(consultas
,"%s,%s,%s,%s,%d,%d,%dn",consulta.
motivo,consulta.
diagnostico,consulta.
tratamiento,consulta.
veterinario,consulta.
fechacontrol.
dd,consulta.
fechacontrol.
mm,consulta.
fechacontrol.
aa); printf("%sn,%sn,%sn,%sn,%dn,%dn,%dn",consulta.
motivo,consulta.
diagnostico,consulta.
tratamiento,consulta.
veterinario,consulta.
fechacontrol.
dd,consulta.
fechacontrol.
mm,consulta.
fechacontrol.
aa);
}
while (FindNextFile(hFind, &FindData)){
if(hFind == INVALID_HANDLE_VALUE)
{
ErrorCode = GetLastError();
if (ErrorCode == ERROR_FILE_NOT_FOUND)
{
printf ("No se encontraron más archivos de consultasn"); }
else{
/*Printf("Se encontro un error FindFirstFile() returned error code:%d",ErrorCode);
*/}
}
else
{
consultas
=fopen("FindData.cFileName","rt");
fscanf(consultas
,"%s,%s,%s,%s,%d,%d,%dn",consulta.
motivo,consulta.
diagnostico,consulta.
tratamiento,consulta.
veterinario,consulta.
fechacontrol.
dd,consulta.
fechacontrol.
mm,consulta.
fechacontrol.
aa); printf("%sn,%sn,%sn,%sn,%dn,%dn,%dn",consulta.
motivo,consulta.
diagnostico,consulta.
tratamiento,consulta.
veterinario,consulta.
fechacontrol.
dd,consulta.
fechacontrol.
mm,consulta.
fechacontrol.
aa);
}
}
}
}
FindClose(hFind);
}
else{
cabeza=cabeza->sig;
if(cabeza==NULL){
printf("El Id ingresado no es validon"); }
}
}
}
/*imprimir todos los archivos de consultas por animal*/