Grupo de C++
Este grupo esta relacionado con nuestro curso profesional de C++. Aquí se comparten temas... View more
Ayuda en ejercicio 2. Módulo Estructuras.
Ayuda en ejercicio 2. Módulo Estructuras.
Hola, les comparto mi código del ejercicio 2 de estructuras es que tengo una duda en la última parte ya que solicita que indique al usuario que elija una letra y el código busque a todas las personas que su nombre empiece con dicha letra. (Esta en el caso 3 del código). En fin, no se como hacer que solo tome la primer letra de cada nombre en la estructura y si me pudieran ayudar en eso se los agradecería mucho.
/*Ejercicio 2 (Estructuras). Programa capaz de almacenar datos de 50 personas: nombre, direccion, telefono, edad (usando una
tabla de structs).*/
#include<iostream>
#include<cstdlib>
#include<string.h>
using namespace std;
//Estructura de la persona.
struct persona{
char nombre[30], edad[3];
long int telefono;
};
//Estructura de la direccion.
struct direccion{
char calle[20], colonia[20], delegacion[20];
int cp;
};
//Estructura del registro.
struct registro{
persona per;
direccion dir;
};
int main(){
registro nRegistro[3];
for(int i = 0; i < 3; i++){
fflush(stdin);
cout<<“– Registro”<<i+1<<” –“<<endl<<endl;
cout<<“Nombre: “;
cin.getline(nRegistro[i].per.nombre,20);
cout<<“Edad: “;
cin.getline(nRegistro[i].per.edad,4);
fflush(stdin);
cout<<“Telefono: “;
cin>>nRegistro[i].per.telefono;
fflush(stdin);
cout<<“Calle donde vive: “;
cin.getline(nRegistro[i].dir.calle,20);
cout<<“Colonia: “;
cin.getline(nRegistro[i].dir.colonia,20);
cout<<“Delegacion: “;
fflush(stdin);
cin.getline(nRegistro[i].dir.delegacion,20);
cout<<“Codigo postal: “;
cin>>nRegistro[i].dir.cp;
cout<<endl<<endl;
}
char respuesta = ‘s’;
int opcion;
do{
cout<<“————————————————————————–“<<endl;
cout<<“Si desea ver la lista de todos los nombres pulse 1.”<<endl;
cout<<“Si desea mostrar todas las personas de una cierta edad pulse 2.”<<endl;
cout<<“Si quiere ver todas las personas cuya inicial sea la que ud desee pulse 3.”<<endl;
cin>>opcion;
cout<<“————————————————————————–“<<endl<<endl;
switch(opcion){
case 1:
for( int i = 0; i < 3; i++){
cout<<nRegistro[i].per.nombre<<endl;
}
break;
case 2:
int Edad[3], buscar ;
char resultados[3];
for(int i = 0; i < 3; i ++){
resultados[i] = ‘F’;
}
for( int i = 0; i < 3; i++){
Edad[i] = atoi(nRegistro[i].per.edad);
}
cout<<endl<<“Ingrese edad: “;
cin>>buscar;
for(int i = 0; i < 3; i++){
if(Edad[i] == buscar){
resultados[i] = ‘V’;
}
}
cout<<endl<<“Las personas encontradas con la edad de “<<buscar<<” son: “<<endl<<endl;
for(int j = 0; j < 3; j++){
if(resultados[j] == ‘V’){
cout<<nRegistro[j].per.nombre<<endl;
}
}
cout<<endl;
break;
case 3:
char inicial[2], bandera = ‘F’;
cout<<“Escriba letra inicial: “;
cin>>inicial;
cout<<“Las personas: “<<endl;
for(int i = 0; i < 3; i++){
if(strcmpi(nRegistro[i].per.nombre,inicial) == 0){
bandera = ‘V’;
cout<<nRegistro[i].per.nombre<<endl;
}
}
if(bandera == ‘V’){
cout<<endl<<“Tienen la inicial “<<inicial;
}else{
cout<<endl<<“No hay coincidencias.”;
}
break;
}
cout<<endl<<“Desea regresar al menu? (S/N):”;
cin>>respuesta;
cout<<endl;
}while(respuesta == ‘s’ || respuesta == ‘S’);
return 0;
}
Inicia sesión para responder.