Salve ,

Da un pomeriggio circa sto cercando di capire come risolvere questo problema :

"inserire nome e data di nascita di due persone. Successivamente scegliere se ordinare le persone per ordine alfabetico usando come parametro il nome , o per ordine di data di nascita e stamparne il risultato."

Ora...io l'ordine alfabetico sono riuscito a farlo.. ma l'ordine per data di nascita proprio non capisco come procedere. Avevo pensato di fare tutte le combinazioni con degli if ma verrebbe troppo difficile e assai incasinato, non esiste qualcosa che faccia lo stesso lavoro ma in modo più semplice?
Di seguito metto il codice che sono riuscito a fare finora :

codice:
#include <iostream>#include <cstring>
#include <stdio.h>
using namespace std;
char nome[2][15];
int i=0, g[2],m[2],a[2];
void leggi_nomi_data(char nome[2][15],int g[2],int m[2],int a[2])
{
    do
    {
        cout<<"inserisci il nome:";
        cin>>nome[i];
        cout<<"inserisci il giorno:";
        cin>>g[i];
        cout<<"inserisci il mese:";
        cin>>m[i];
        cout<<"inserisci l'anno:";
        cin>>a[i];
        i++;
    } while(i<=1);
}
void visualizza_per_nomi(char nome[2][15])
{
    int j;
   if(j= strcmp (nome[0],nome[1])>0)
    cout<<nome[1]<<"\n"<<nome[0];
    else if(j= strcmp (nome[0],nome[1])<0)
    cout<<nome[0]<<"\n"<<nome[1];
    else
    cout<<"i nomi sono uguali!"<<endl;


}
void visualizza_per_data(char nome[2][15],int g[2],int m[2],int a[2])
{
    if(a[0]==a[1])
    {
        if(m[0]==m[1])
        {
            if(g[0]==g[1]) cout<<"le date sono uguali!"<<endl;
        }
    }
    else if(a[0]>a[1])
    {
        if(m[0]>m[1])
        {
            if(g[0]>g[1]) cout<<nome[1]<<"\n"<<nome[0]<<endl;
        }
    }
    else if(a[1]>a[0])
    {
        if(m[1]>m[0])
        {
            if(g[1]>g[0]) cout<<nome[0]<<"\n"<<nome[1]<<endl;
        }
    }
     
}
int main(){


    int scelta;
    leggi_nomi_data(nome,g,m,a);
    cout<<"Vuoi che ordini per nome o per data? [1=nomi  2=data]: ";
    cin>>scelta;
    switch(scelta)
    {
                        case 1:
                        visualizza_per_nomi(nome);
                        break;


                        case 2:
                        visualizza_per_data(nome,g,m,a);
                        break;


                        default:
                            cout<<"Errore! La tua scelta non è presente tra le opzioni!!"<<endl;
                            break;
    }


return 0;
        }
Grazie in anticipo .