Sei sulla pagina 1di 7

#include<iostream> using namespace std;

struct libro { string titolo, autore; double prezzo; int num_pag; };

libro elenco[100]; int n,i, scelta; int k=0; string nome_autore; string tabella[100];

void carica() { cout << "Quanti libri vuoi inserire?\n"; cin >> n;

for (i=0; i<n; i++) { cout << "Inserire titolo " << i+1 <<endl; cin >> elenco[i].titolo; cout << "Inserire autore " << i+1 <<endl; cin >> elenco[i].autore; cout << "Inserire prezzo " << i+1 <<endl; cin >> elenco[i].prezzo;

cout << "Inserire numero di pagine " << i+1 <<endl; cin >> elenco[i].num_pag; } }

void visualizza() { for(i=0;i<n;i++) { cout << elenco[i].titolo << " " << elenco[i].autore << " " << elenco[i].prezzo << " " << elenco[i].num_pag << " " << endl; } system("pause"); }

int conta_libri() { int ris=0;

for(i=0;i<n;i++) { if(elenco[i].autore == nome_autore) ris++; }

return ris; system("pause"); }

string prezzo_mag() { double max=0; string nome_libro; for(i=0;i<n;i++) { if(elenco[i].prezzo > max) { max = elenco[i].prezzo; nome_libro = elenco[i].titolo; } }

return nome_libro; }

double media() { double tot, media; for(i=0;i<n;i++) { tot=tot+elenco[i].prezzo; } media=tot/n;

return media; }

void prezzo_media() { k=0; double med=media(); for(i=0;i<=n;i++) { if( elenco[i].prezzo > med ) { tabella[k]=elenco[i].titolo; k++; } }

cout << "\n"; for(i=0;i<=k;i++) cout << tabella[i] << "\t" ; cout << "\n"; system("pause"); }

void sposta() { int pos=n; for(pos=n-1;pos>=0;pos--) elenco[pos+1]= elenco[pos];

n++;

elenco[0].titolo=""; elenco[0].autore=""; elenco[0].prezzo=0; elenco[0].num_pag=0;

visualizza();

cout << "Inserire nuovo libro e relativi dati nella prima posizione\n"; cout << "Inserire titolo \n"; cin >> elenco[0].titolo; cout << "Inserire autore \n"; cin >> elenco[0].autore; cout << "Inserire prezzo \n"; cin >> elenco[0].prezzo; cout << "Inserire numero di pagine \n"; cin >> elenco[0].num_pag;

visualizza(); system("pause"); }

void inserire_libro() { int pos1, x; cout << "In che posizione vuoi inserire il libro?\n"; cin >> pos1;

pos1= pos1-1;

for(x=n-1;x>=pos1;x--) elenco[x+1]= elenco[x]; n++;

cout << "Inserire nuovo libro e relativi dati nella prima posizione\n"; cout << "Inserire titolo \n"; cin >> elenco[pos1].titolo; cout << "Inserire autore \n"; cin >> elenco[pos1].autore; cout << "Inserire prezzo \n"; cin >> elenco[pos1].prezzo; cout << "Inserire numero di pagine \n"; cin >> elenco[pos1].num_pag;

visualizza(); }

int main() { do { system("cls"); cout << "1 - Carica dati\n"; cout << "2 - Numero di libri scritti da un autore\n"; cout << "3 - Libro con prezzo piu' alto\n"; cout << "4 - Libri maggiore di media\n";

cout << "5 - Visualizza\n"; cout << "6 - Sposta a sinistra di uno\n"; cout << "7 - Inserisci nuovo libro in posizione stabilita\n"; cout << "8 - Esci\n"; cout << "Fai la tua scelta\n"; cin >> scelta;

switch(scelta) { case 1 : carica(); break; case 2 : cout << "Inserire l'autore\n"; cin >> nome_autore; cout << "L'autore " << nome_autore << " ha scritto " << conta_libri() << " libri\n"; system("pause"); break; case 3 : cout << "Il libro con prezzo maggiore e' " << prezzo_mag() ; system("pause"); break; case 4 : prezzo_media(); break; case 5 : visualizza(); break; case 6 : sposta(); break; case 7 : inserire_libro(); break; } } while (scelta >=1 && scelta <= 7); }

Potrebbero piacerti anche