Hola. Es mi primer post, al parecer es un gran foro, debo felicitarlos.
Bien, al grano. Estoy siguiendo el curso de c.conclase, estoy en la parte de estructuras y me gustaría que revisen este código para ver si es el correcto, y si me pueden dar recomendaciones.
Código HTML:
Escribir un programa que almacene en un array los nombres y números de teléfono de 10 personas. El programa debe leer los datos introducidos por el usuario y guardarlos en memoria. Después debe ser capaz de buscar el nombre correspondiente a un número de teléfono y el teléfono correspondiente a una persona. Ambas opciones deben se accesibles a través de un menú, así como la opción de salir del programa. El menú debe tener esta forma, más o menos:
a) Buscar por nombre
b) Buscar por número de teléfono
c) Salir
Código:
#include <iostream>
#include <cstring>
using namespace std;
int b_nom(char name[10]);
int b_tel(char phone[10]);
struct Persona
{
char Nom[10];
char Tel[10];//Ver composicion telefono tipo int
}Cliente[5];
int main()
{
char option;
char e_nom[10];
char e_tel[10];
for(int i=0;i<5;i++)
{
cout<<"Nombre:"<<endl;
cin>>Cliente[i].Nom;
cout<<"Telefono:"<<endl;
cin>>Cliente[i].Tel;
}
cout << "a) Buscar por nombre" << endl;
cout << "b) Buscar por numero de telefono" <<endl;
cout << "c) Salir" <<endl;
cin >>option;
switch(option)
{
case 'a':
{
cout<<"Ingresa nombre:"<<endl;
cin>>e_nom;
if(b_nom(e_nom)<5)
{
int pos=b_nom(e_nom);
cout<<"Nombre encontrado"<<endl;
cout<<"Cliente N:"<<pos+1<<" nombre: "<<Cliente[pos].Nom<<"Tel: "<<Cliente[pos].Tel<<endl;//Devolucion de los datos de cliente encontrado
}
else{cout<<"No se encuentra"<<endl;}
}
break;
case 'b':
{
cout<<"Ingresa telefono:"<<endl;
cin>>e_tel;
if(b_tel(e_tel)<5)
{
int pos=b_tel(e_tel);
cout<<"Nombre encontrado"<<endl;
cout<<"Cliente N:"<<pos+1<<" nombre: "<<Cliente[pos].Nom<<"Tel: "<<Cliente[pos].Tel<<endl;//Devolucion de los datos de cliente encontrado.
}
else{cout<<"No se encuentra"<<endl;}
}
break;
case 'c':cout<<"Adios"<<endl;
break;
default:break;
}
system("pause");
return 0;
}
int b_nom(char name[10])//Funcion buscar por nombre
{
bool encontrado=0;
int i=0;
while(i<5&&!encontrado)
{
if(strcmp(name,Cliente[i].Nom)==0)
{
encontrado=1;
}
i++;
}
if(i<5){return --i;}
else{return 6;}
}
int b_tel(char phone[10])//Funcion buscar por telefono
{
bool encontrado=0;
int i=0;
while(i<5&&!encontrado)
{
if(strcmp(phone,Cliente[i].Tel)==0)
{
encontrado=1;
}
i++;
}
if(i<5){return --i;}
else{return 6;}
}
Muchas gracias