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 original- struct 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!