devo creare una rubrica telefonica in cui l'utente inserisce il nome,il cognome e il numero di telefono, dopodichè deve poter stampare la rubrica, modificare un elemento della rubrica, cercare un elemento nella rubrica e ordinare la rubrica in ordine alfabatico (in base al cognome)ogni volta. adesso vi scrivo il codice ( quello che ho fatto), x la modifica e la ricerca penso di farcela, ma x l'ordinamento non ho propio idea di come fare, mi potete dare una mano? grazie
tutto quello che posso usare è già nel programma ( come strutture fondamentali if while for ecc), se avete dei dubbi su quanche cosa ( se la posso usare o no) chiedete.
codice:
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
typedef struct rubrica{
char cognome[15];
char nome[15];
char numero[20];
}rubrica;
rubrica riga[20];
int scelta=0,a=0,cont=0,vuoto=0;
void inserimento(),stampa(),modifica(),cerca(),ordina();
char risp='s';
main()
{
do{
cout<< "(1)-(Inserisci un elemento nella rubrica)\n";
cout<< "(2)-(Stampa la rubrica)\n";
cout<< "(3)-(Modifica un numero nella rubrica)\n";
cout<< "(4)-(Cerca un numero nella rubrica)\n";
cout<< "(5)-(Esci)\n\n";
cin>>scelta;
switch (scelta)
{
case 1:
inserimento();
ordina();
break;
case 2:
if(vuoto==1)
{
stampa();
ordina();
}else{cout<<"La rubrica e' vuota"<<endl;
system("Pause");
system("cls");
break;}
break;
case 3:
modifica();
ordina();
break;
case 4:
cerca();
ordina();
break;
case 5:
break;
default:
cout<<"Scelta errata!\n\n";
system("Pause");
system("cls");
break;
}
}while(scelta!=5);
return 0;
getchar();
getchar();
}
void inserimento()
{
vuoto=1;
do{
system("cls");
cout<<"Cognome:"<<" "; cin>>riga[cont].cognome;
cout<<"Nome:"<<" "; cin>>riga[cont].nome;
cout<<"Numero di telefono:"<<" "; cin>>riga[cont].numero;
cout<<"Vuoi inserire un altro elemento? (s/n)";
cin>>risp;
cont++;
}while(risp=='s');
system("cls");
a=cont;
}
void stampa()
{
for(cont=0; cont<a; cont++)
{
cout<<"Cognome:"<<riga[cont].cognome<<endl;
cout<<"Nome:"<<riga[cont].nome<<endl;
cout<<"Numero di telefono:"<<riga[cont].numero<<endl;
}
system("Pause");
system("cls");
}
void ordina()
{
cout<<"In costruzione"<<endl;
}
void cerca()
{
cout<<"In costruzione"<<endl;
}
void modifica()
{
cout<<"In costruzione"<<endl;
}