/******************************************************************************
10) Realizzare un programma che preveda l’utilizzo di una struttura Libro. La struttura permette di descrivere un libro in base a:
– titolo (dato di tipo string)
– autore (dato di tipo string)
– prezzo (dato di tipo float)
– numero di pagine (dato di tipo int)
Il programma deve prevedere inoltre l’utilizzo di un array di tipo Libro (con dimensioni pari a 5) che consenta di gestire un archivio di libri. L’utente deve poter interagire con il programma tramite un menu, scegliendo tra le seguenti opzioni:
1. Inserire un nuovo libro (se ci sono ancora slot disponibili)
2. Ottenere le informazioni di un libro specifico (richiedendo l’indice dell’array)
3. Visualizzare l’elenco completo dei libri inseriti
4. Visualizzare tutti i libri con più di 100 pagine
5. Visualizzare tutti i libri che iniziano con la lettera ‘a’. (N.B. string è un tipo di dato derivato ottenuto come array di caratteri)
6. Uscire dal programma
(N.B. si utilizzi un ciclo indefinito per iterare sulle operazioni fino a quando l’utente sceglie di uscire).
(N.B. si utilizzino delle funzioni per implementare ogni singola azione di ogni singolo punto).
*******************************************************************************/
#include <iostream>
using namespace std;
struct libro{
string titolo = "";
string autore = "";
int prezzo = 0;
int pagine = 0;
};
int main()
{
libro libri[5];
int scelta = 0;
int n = 0;
while(scelta!=6)
{
cout << "1. Inserire un nuovo libro" << endl;
cout << "2. Ottenere le informazioni di un libro specifico" << endl;
cout << "3. Visualizzare l’elenco completo dei libri inseriti" << endl;
cout << "4. Visualizzare tutti i libri con più di 100 pagine" << endl;
cout << "5. Visualizzare tutti i libri che iniziano con la lettera ‘a’" << endl;
cout << "6. Uscire dal programma" << endl;
cin >> scelta;
if(scelta==1)
{
cout << "Inserisci titolo: " << endl;
cin >> libri[n].titolo;
cout << "Inserisci autore: " << endl;
cin >> libri[n].autore;
cout << "Inserisci prezzo: " << endl;
cin >> libri[n].prezzo;
cout << "Inserisci pagine: " << endl;
cin >> libri[n].pagine;
n++;
}
else if(scelta==2)
{
int indice;
cout << "Inserisci l'indice del libro";
cin >> indice;
cout << "Titolo: " << libri[indice].titolo << ", ";
cout << "Autore: " << libri[indice].autore << ", ";
cout << "Prezzo: " << libri[indice].prezzo << ", ";
cout << "Pagine: " << libri[indice].pagine << endl;
}
else if(scelta==3)
{
for(int i=0; i<n; i++){
cout << "Titolo: " << libri[i].titolo << ", ";
cout << "Autore: " << libri[i].autore << ", ";
cout << "Prezzo: " << libri[i].prezzo << ", ";
cout << "Pagine: " << libri[i].pagine << endl;
}
}
else if(scelta==4)
{
for(int i=0; i<n; i++){
if(libri[i].pagine>100)
{
cout << "Titolo: " << libri[i].titolo << ", ";
cout << "Autore: " << libri[i].autore << ", ";
cout << "Prezzo: " << libri[i].prezzo << ", ";
cout << "Pagine: " << libri[i].pagine << endl;
}
}
}
else if(scelta==5)
{
for(int i=0; i<n; i++){
if(libri[i].titolo[0]=='a' || libri[i].titolo[0]=='A')
{
cout << "Titolo: " << libri[i].titolo << ", ";
cout << "Autore: " << libri[i].autore << ", ";
cout << "Prezzo: " << libri[i].prezzo << ", ";
cout << "Pagine: " << libri[i].pagine << endl;
}
}
}
}
return 0;
}