#include<iostream>
#include<cstring>
using namespace std;
//estructura de la persona
struct persona{
char nombre[20], direccion[50];
int edad;
float telefono;
};
//estructura registro
struct registro{
persona per;
};
void mostrarNombres(registro nuevoRegistro[], int size) {
for(int i = 0; i < size; i++) {
cout << nuevoRegistro[i].per.nombre << endl;
}
}
void mostrarPorEdad(registro nuevoRegistro[], int size, int edad) {
for(int i = 0; i < size; i++) {
if(nuevoRegistro[i].per.edad == edad) {
cout << nuevoRegistro[i].per.nombre << " - " << nuevoRegistro[i].per.direccion << " - " << nuevoRegistro[i].per.edad << " - " << nuevoRegistro[i].per.telefono << endl;
}
}
}
void mostrarPorInicial(registro nuevoRegistro[], int size, char inicial) {
for(int i = 0; i < size; i++) {
if(nuevoRegistro[i].per.nombre[0] == inicial) {
cout << nuevoRegistro[i].per.nombre << " - " << nuevoRegistro[i].per.direccion << " - " << nuevoRegistro[i].per.edad << " - " << nuevoRegistro[i].per.telefono << endl;
}
}
}
int main() {
registro nuevoRegistro[50];
int opcion, edad;
char inicial;
for(int i = 0; i < 50; i++) {
fflush(stdin);
cout << "---REGISTRO " << i + 1 << "---" << endl;
cout << "Ingrese nombres: ";
cin.getline(nuevoRegistro[i].per.nombre, 20);
cout << "Ingrese direccion: ";
cin.getline(nuevoRegistro[i].per.direccion, 50);
cout << "Ingrese edad: ";
cin >> nuevoRegistro[i].per.edad;
cout << "Ingrese el telefono: ";
cin >> nuevoRegistro[i].per.telefono;
cout << endl << endl;
}
do {
cout << "Menu:" << endl;
cout << "1. Mostrar la lista de todos los nombres" << endl;
cout << "2. Mostrar las personas de una cierta edad" << endl;
cout << "3. Mostrar las personas cuya inicial sea la que el usuario indique" << endl;
cout << "4. Salir" << endl;
cout << "Ingrese una opcion: ";
cin >> opcion;
switch(opcion) {
case 1:
mostrarNombres(nuevoRegistro, 50);
break;
case 2:
cout << "Ingrese la edad: ";
cin >> edad;
mostrarPorEdad(nuevoRegistro, 50, edad);
break;
case 3:
cout << "Ingrese la inicial: ";
cin >> inicial;
mostrarPorInicial(nuevoRegistro, 50, inicial);
break;
case 4:
cout << "Saliendo del programa..." << endl;
break;
default:
cout << "Opcion invalida. Intente de nuevo." << endl;
}
} while(opcion != 4);
return 0;
}