Advertisement
forest98

Articolo

Mar 22nd, 2015
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <cstdlib>
  3. #define MAX 100
  4. using namespace std;
  5.  
  6. int c=0;
  7.  
  8. struct art{
  9.     int codice;
  10.     string titolo;
  11.     string autore;
  12.     string genere;
  13.     int numero_pagine;
  14. };
  15.  
  16. bool Controlla(art a[],int x)
  17. {
  18.     bool d=false;
  19.     for (int i=0;i<c;i++)
  20.         if (a[i].codice==x)
  21.         {
  22.             d=true;
  23.             i=c;
  24.         }
  25.     return d;
  26. }
  27.  
  28. void Carica(art a[])
  29. {
  30.     char risp;
  31.     int x;
  32.     do
  33.     {
  34.         cout << "Articolo numero " << c+1 << "\n\n";
  35.         do
  36.         {
  37.             cout << "Inserisci codice:";
  38.             cin >> x;
  39.             if (Controlla(a,x)==true)
  40.                 cout << "Gia' inserito\n";
  41.             else
  42.                 a[c].codice=x;
  43.         }
  44.         while (Controlla(a,x)==true);
  45.         cout << "Inserisci titolo:";
  46.         cin >> a[c].titolo;
  47.         cout << "Inserisci autore:";
  48.         cin >> a[c].autore;
  49.         cout << "Inserisci genere:";
  50.         cin >> a[c].genere;
  51.         cout << "Inserisci numero pagine:";
  52.         cin >> a[c].numero_pagine;
  53.         cout << "\nVuoi inserire un'altro articolo?<s/n>";
  54.         cin >> risp;
  55.         cout << endl;
  56.         c++;
  57.     }
  58.     while (risp=='s');
  59. }
  60.  
  61. void Ricerca(art a[])
  62. {
  63.     int cod;
  64.     do
  65.     {
  66.         cout << "Inserisci codice dell'articolo da cercare:";
  67.         cin >> cod;
  68.         if (Controlla(a,cod)==false)
  69.             cout << "Non esiste nessun articolo con codice " << cod << endl;
  70.     }
  71.     while (Controlla(a,cod)==false);
  72.     for (int i=0;i<c;i++)
  73.         if (a[i].codice==cod)
  74.         {
  75.             cout << "\n\nInfo libro codice " << cod << endl;
  76.             cout << "\nTitolo:" << a[i].titolo;
  77.             cout << "\nAutore:" << a[i].autore;
  78.             cout << "\nGenere:" << a[i].genere;
  79.             cout << "\nNumero pagine:" << a[i].numero_pagine << endl;
  80.         }
  81. }
  82.  
  83. void Ricerca2(art a[])
  84. {
  85.     string g;
  86.     do
  87.     {
  88.         cout << "\nInserisci genere:";
  89.         cin >> g;
  90.     }
  91.     while (g!="politica" && g!="cronaca" && g!="scienza");
  92.     for (int i=0;i<c;i++)
  93.     {
  94.         if (a[i].genere==g)
  95.         {
  96.             cout << "\n\nInfo libro genere " << g;
  97.             cout << "\nCodice:" << a[i].codice;
  98.             cout << "\nTitolo:" << a[i].titolo;
  99.             cout << "\nAutore:" << a[i].autore;
  100.             cout << "\nNumero_pagine:" << a[i].numero_pagine;
  101.         }
  102.     }
  103. }
  104.  
  105. void Ordina(art a[])
  106. {
  107.     art t;
  108.     for (int i=0;i<c-1;i++)
  109.     {
  110.         for (int j=i+1;j<c;j++)
  111.             if (a[i].codice>a[j].codice)
  112.             {
  113.                 t=a[i];
  114.                 a[i]=a[j];
  115.                 a[j]=t;
  116.             }
  117.     }
  118.     for (int i=0;i<c;i++)
  119.     {
  120.         cout << "\n\nArticolo " << i+1 << endl;
  121.         cout << "\nCodice:" << a[i].codice;
  122.         cout << "\nTitolo:" << a[i].titolo;
  123.         cout << "\nAutore:" << a[i].autore;
  124.         cout << "\nGenere:" << a[i].genere;
  125.         cout << "\nNumero pagine:" << a[i].numero_pagine << endl;
  126.     }
  127. }
  128.  
  129. int main()
  130. {
  131.     system("color a");
  132.     art articolo[MAX];
  133.     Carica(articolo);
  134.     Ricerca(articolo);
  135.     Ricerca2(articolo);
  136.     Ordina(articolo);
  137.     return 0;
  138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement