#include<iostream.h>
#include<stdio.h>
struct info
{
char nombre[50];
char telefono[10];
};
void buscarNombre(FILE*);
void buscarNumero(FILE*);
int main()
{
char opcion;
FILE*archivo;
archivo=fopen("guia.txt","rb");
if(archivo==NULL)
{
cout<<"El archivo no se pudo abrir"<<endl;
exit(1);
}
cout<<"Elija una opcion: \n"
<<"a) Buscar por nombre \n"
<<"b) Buscar por numero de telefono \n"
<<"c) Salir \n";
cin>>opcion;
switch(opcion)
{
case 'a':
buscarNombre(archivo);
break;
case 'b':
buscarNumero(archivo);
break;
default:
cout<<"Usted salio del programa"<<endl;
}
return 0;
}
void buscarNombre(FILE*guia)
{
char buscar[25];
int i;
info aux;
cout<<"Ingrese el nombre del usuario: \n";
cin>>buscar;
fseek(guia,0,0);
fread(&aux,sizeof(info),1,guia);
while(feof(guia)==0)
{
if((strcmp(aux.nombre,buscar)==0))
{
cout<<"El numero de telefono es: "<<aux.telefono<<endl;
exit(1);
}
fread(&aux,sizeof(info),1,guia);
}
cout<<"***Usuario inexistente***"<<endl;
}
void buscarNumero(FILE*guia)
{
char buscar[25];
int i;
info aux;
cout<<"Ingrese el numero que desea rastrear: \n";
cin>>buscar;
fseek(guia,0,0);
fread(&aux,sizeof(info),1,guia);
while(feof(guia)==0)
{
if((strcmp(aux.telefono,buscar)==0))
{
cout<<"El numero pertenece a: "<<aux.nombre<<endl;
exit(1);
}
fread(&aux,sizeof(info),1,guia);
}
cout<<"***Numero no encontrado***"<<endl;
}
el archivo guia.txt tiene lo siguiente:
mode 4223325
marcos 4313325
mafu 4224492
euge 4211292
joaco 4213416
seba 4218844
joshe 4217485
erci 4313437
facu 4313484
juan 4212959
Me ayudaria mucho si me dijeran que es lo que hize mal, desde ya muchas gracias