#include<iostream.h>
#include<stdlib.h>
#include<fstream.h>
struct info
{
char nombre[50];
char telefono[10];
};
void buscarNombre(info []);
void buscarTelefono(info []);
int main()
{
int ch,i;
char opcion;
info personal[10];
ifstream archivo;
archivo.open("guia.txt");
if(archivo.fail())
{
cout<<"El archivo no se pudo abrir"<<endl;
exit(1);
}
while((ch=archivo.peek())!=EOF)
for(i=0;i<10;i++)
archivo>>personal[i].nombre>>personal[i].telefono;
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(personal);
break;
case 'b':
buscarTelefono(personal);
break;
default:
cout<<"Usted salio del programa"<<endl;
}
return 0;
}
void buscarNombre(info personal[])
{
int i;
info aux;
cout<<"Ingrese el nombre del telefono que desea averiguar: \n";
cin>>aux.nombre;
for(i=0;i<10;i++)
{
if((strcmp(aux.nombre,personal[i].nombre)==0))
cout<<"El numero de telefono es: "<<personal[i].telefono<<endl;
exit(1);
}
cout<<"Usuario inexistente"<<endl;
}
void buscarTelefono(info personal[])
{
int i;
info aux;
cout<<"Ingrese el numero de telefono para averiguar el usuario: \n";
cin>>aux.telefono;
for(i=0;i<10;i++)
{
if((strcmp(aux.telefono,personal[i].telefono)==0))
cout<<"El duenio de esa linea es: "<<personal[i].nombre<<endl;
exit(1);
}
cout<<"El numero ingresado no pertenese a un cliente en servicio";
}
El tema es el siguiente cuando no pongo el exit(1) en cada funcion el programa me anda perfecto pero un ejemplo de resultado es el siguiente:
El numero de telefono es: 4223325
Usuario inexistente
por la razon obvia que si el usuario exista o no se mostrara el mensaje
pero si pongo el exit(0)como esta en la fuente no me anda
lo compile con el dev-c++
y el archivo guia.txt contiene lo siguiente:
mode 4223325
marcos 4313325
mafu 4224492
euge 4211292
joaco 4213416
seba 4218844
joshe 4217485
erci 4313437
facu 4313484
juan 4212959