Advertisement
LiMIllusion

Untitled

May 31st, 2016
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.72 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. struct anagrafica
  5.     {
  6.         string nome;
  7.         string cognome;
  8.         int eta;
  9.         float altezza;
  10.     };
  11. int dimensione(int& n1)
  12. {
  13.     do {
  14.         cout<<"Inserisci il numero di elementi della classe:";
  15.         cin>>n1;
  16.     }while(n1<15||n1>30); }
  17. int let_vet(anagrafica v1[],int& n1)
  18. {
  19.     for (int i= 0; i <= n1-1; i++){
  20.         cout<<"Inserisci il nome dello studente:"<<endl;
  21.         cin>>v1[i].nome;
  22.         cout<<"Inserisci il cognome dello studente:"<<endl;
  23.         cin>>v1[i].cognome;
  24.         do{cout<<"Inserisci l'eta' dello studente:"<<endl;
  25.         cin>>v1[i].eta;
  26.         if (v1[i].eta<=0) {cout<<"Eta' non corretta"<<endl;}
  27.         }while (v1[i].eta<=0);
  28.         do{cout<<"Inserisci l'altezza dello studente in cm: "<<endl;
  29.         cin>>v1[i].altezza;
  30.         if (v1[i].altezza<=0.00) cout<<"Altezza non corretta"<<endl;
  31.         }while (v1[i].altezza<=0.00);}
  32. }
  33. int calc_eta(anagrafica studenti1[],int& n1)
  34. {
  35.     int max,min;
  36.     max=0;
  37.     min=0;
  38.     for (int i = 0; i <= n1-1; i++)
  39.     {if (v1[i].eta>=v1[max].eta)
  40.             {max=i;}
  41.      if (v1[i].eta<=v1[min].eta)
  42.                 {min=i;}}
  43.     cout<<"Lo studente di eta' massima e' ";
  44.     cout<<v1[max].nome;
  45.     cout<<" ";
  46.     cout<<v1[max].cognome;
  47.     cout<<", ha "<<v1[max].eta;
  48.     cout<<" anni."<<endl;
  49.     cout<<"Lo studente di eta' minima e' ";
  50.     cout<<v1[min].nome;
  51.     cout<<" ";
  52.     cout<<v1[min].cognome;
  53.     cout<<", ha";
  54.     cout<<v1[min].eta;
  55.     cout<<" anni"<<endl;
  56. }
  57. int calc_altezza(anagrafica v1[],int& n1)
  58. {
  59.     int max,min;
  60.     max=0;
  61.     min=0;
  62.     float s=0;
  63.     float med;
  64.     for (int i = 0; i <= n1-1; i++)
  65.         {if (v1[i].altezza>=v1[max].altezza)
  66.             {max=i;}
  67.         if (v1[i].altezza<=v1[min].altezza)
  68.             {min=i;}
  69.             s=s+v1[i].altezza;}
  70.     med=s/n1;
  71.     cout<<"Lo studente di altezza massima e' ";
  72.     cout<<v1[max].nome;
  73.     cout<<" ";
  74.     cout<<v1[max].cognome;
  75.     cout<<" ed e' alto "
  76.     cout<<v1[max].altezza;
  77.     cout<<" cm"<<endl;
  78.     cout<<"Lo studente di altezza minima e' ";
  79.     cout<<v1[min].nome;
  80.     cout<<" ";
  81.     cout<<v1[min].cognome;
  82.     cout<<" ed e' alto ";
  83.     cout<<v1[min].altezza;
  84.     cout<<" cm"<<endl;
  85.     cout<<"L'altezza media della classe e': ";
  86.     cout<<med<<endl;
  87. }
  88.  
  89. int main()
  90. {  
  91.     int n;
  92.     anagrafica v[10];
  93.     int scelta;
  94.     let_dim(n);
  95.     let_vet(v,n);
  96.     do{do{cout<<"Per calcolare eta' massima e minima digitare 1 "<<endl;
  97.     cout<<"per calcolare altezza massima,minima e media digitare  2 "<<endl;
  98.     cin>>scelta;
  99.     switch(scelta)
  100.        {
  101.        case (1):
  102.                  calc_eta(v,n);
  103.                  break;
  104.        case (2):
  105.                  calc_altezza(v,n);
  106.                  break;
  107.        default:
  108.                 cout<<"Scelta non valida."<<endl;
  109.                 break;
  110.        }
  111.     }while (scelta!=1 && scelta!=2);
  112.     cout<<"Vuoi affettuare un'altra operazione?"<<endl
  113.     cout<<"S=0 N=1"<<endl;
  114.     cin>>scelta;
  115.    }while(scelta!=1);
  116.     return 0;
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement