Problema:
Crear un programa que gestiona un elenco de personas que van ingresadas por el cliente, el cliente ingresa un nombre, apellido y edad para tres personas diferentes.
El programa, una vez ingresados los datos, imprime el elenco ordenado por apellido y sucessivamente por edad.
hasta el momento tengo esto, que me ordena por edad(El mayor)
Código
Código C++:
Ver originalstruct persone
{
string nome;
string cognome;
int edad;
};
int main ()
{
persone arreglo[3];
for (int i =0; i < 3; i++)
{
cout<<"Inserte Nombre " <<i+1 <<endl;
cin>> arreglo[i].nome;
cout<<"Inserte Cognome " <<i+1 <<endl;
cin>> arreglo[i].cognome;
cout<<"Inserte Edad " <<i+1 <<endl;
cin>> arreglo[i].edad;
}
//ordenar metodo burbuja por edades
int temp = 0;
for (int i =0; i < 3; i++)
for (int j =i+1; j < 3; j++)
if ( arreglo[i].edad < arreglo[j].edad )
{
temp = arreglo[i].edad;
arreglo[i].edad = arreglo[j].edad;
arreglo[j].edad = temp;
}
//ordenar metodo burbuja por nombres
string temp1 = "";
for (int i =0; i < 3; i++)
for (int j =i+2; j < 3; j++)
if ( arreglo[i].nome < arreglo[j].nome )
{
temp1 = arreglo[i].nome;
arreglo[i].nome = arreglo[j].nome;
arreglo[j].nome = temp1;
}
string temp2 = "";
for (int i =0; i < 3; i++)
for (int j =i+2; j < 3; j++)
if ( arreglo[i].cognome < arreglo[j].cognome )
{
temp1 = arreglo[i].cognome;
arreglo[i].cognome= arreglo[j].cognome;
arreglo[j].cognome = temp2;
}
for (int i =0; i < 3; i++)
{
cout<<i+1<<": Nome " <<arreglo[i].nome<<endl;
cout<<i+1<<": Cognome " <<arreglo[i].cognome<<endl;
cout<<i+1<<": Età " <<arreglo[i].edad<<endl;
}
return 0;
}
Grazie!