Advertisement
LiMIllusion

Untitled

May 31st, 2016
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.65 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <algorithm>
  4. using namespace std;
  5.  
  6. struct struttura
  7.     {
  8.         string nome;
  9.         string cognome;
  10.         int eta;
  11.     };
  12.  
  13. void lettura(struttura lista1[])
  14. {
  15.     //ciclo predefinito che raccoglie tutte le informazioni richieste di ogni persona
  16.     for (int i= 0; i < 10; i++)
  17.     {
  18.         cout<<"-"<<i+1<<"-"<<endl;
  19.         cout<<"Inserisci il nome della persona numero "<<i+1<<" :";
  20.         cin>>lista1[i].nome;
  21.         cout<<"Inserisci il cognome della persona numero "<<i+1<<" :";
  22.         cin>>lista1[i].cognome;
  23.         //ciclo post condizionato per imporre che l'eta' non valga mai 0
  24.         do{
  25.         cout<<"Inserisci l'eta' della persona numero "<<i+1<<" :";
  26.         cin>>lista1[i].eta;
  27.         if (lista1[i].eta<=0) cout<<"Valore non valido. Riprovare"<<endl;
  28.         }while (lista1[i].eta<=0);
  29.     }
  30. }
  31. void sbs(struttura lista1[])
  32. {
  33.     struttura app;
  34.     do
  35.     {
  36.         int sca=0;
  37.         for (int i = 0; i < 10; ++i)
  38.         {
  39.             if( strcmp(lista1[i].cognome, lista1[i+1].cognome)==1 )
  40.                 {
  41.                     strcpy(app.cognome, lista1[i].cognome);
  42.                     strcpy(lista1[i].cognome, lista1[i+1].cognome);
  43.                     strcpy(lista1[i+1].cognome, app.cognome);
  44.                     strcpy(app.nome, lista1[i].nome);
  45.                     strcpy(lista1[i].nome, lista1[i+1].nome);
  46.                     strcpy(lista1[i+1].nome, app.nome);
  47.                     strcpy(app.eta, lista1[i].eta);
  48.                     strcpy(lista1[i].eta, lista1[i+1].eta);
  49.                     strcpy(lista1[i+1].eta, app.eta);
  50.                 }  
  51.         }
  52.  
  53.     }while(sca!=0);
  54. }
  55. void stampa(struttura lista1[])
  56. {
  57.     for (int i = 0; i < 10; ++i)
  58.     {
  59.         cout<<"-"<<i+1<<"-"<<endl<<lista1[i].nome<<endl<<lista1[i].cognome<<endl<<lista1[i].eta<<endl<<endl;
  60.     }
  61. }
  62.  
  63. int main()
  64. {
  65.     struttura lista[10];
  66.     lettura(lista);
  67.     sbs(lista);
  68.     stampa(lista);
  69.     return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement