Salve e tutti,
Per scuola sto realizzando un programma in C++ (una cosa semplice che tratta solo l'argomento delle funzioni e dei vettori). Il livello richiesto per aiutarmi è di base.
Gentilmente chiedo se c'è qualcuno che possa darmi una mano a capire dove ho sbagliato e correggere.
Vi posto il mio id skype così che possiate aggiungermi: benetton1998
Ho allegato il txt delle righe di codice.
Grazie per l'aiuto
Per scuola sto realizzando un programma in C++ (una cosa semplice che tratta solo l'argomento delle funzioni e dei vettori). Il livello richiesto per aiutarmi è di base.
Gentilmente chiedo se c'è qualcuno che possa darmi una mano a capire dove ho sbagliato e correggere.
Vi posto il mio id skype così che possiate aggiungermi: benetton1998
Ho allegato il txt delle righe di codice.
Grazie per l'aiuto
Codice:
#include <iostream>
#include <string>
#include <stdio.h>
using namespace std;
//DICHIARAZIONE STRUTTURA
struct libro
{
string titolo;
string autore;
int anno_edizione;
bool presente;
};
//DICHIARAZIONE VARIABILI
int posizione = 0;
int i = 0;
bool trovato;
const int dim = 100;
libro libreria[dim];
int scelta = 0;
int contalibri = 0;
//FUNZIONI
//INIZIALIZZAZIONE DI BOOL PRESENTE
void inizializza(libro vettore[])
{
for (int i=0; i<dim; i++)
{ vettore[i].presente = false; }
}
// DISPLAY MENU
int displaymenu(int &scelta)
{
cout << "Le azioni possibili sono: " << endl;
cout << "1) Inserisci una scheda " << endl << "2) Eliminare una scheda " << endl << "3) Modificare una scheda " << endl << "4) Visualizzare libri inseriti " << endl << "5) Uscire dal programma " << endl;
cout << "Inserisci il numero dell'azione da svolgere: "; cin >> scelta; cout << endl;
return scelta;
}
void errore()
{
cout << "Errore " << endl;
}
void inserimento(libro vettore[])
{
fflush(stdin);
cout << "Inserisci il titolo del libro: "; getline(cin, vettore[i].titolo);
cout << "Inserisci il nome dell'autore: "; getline(cin, vettore[i].autore);
cout << "Inserisci l'anno di edizione: "; cin >> vettore[i].anno_edizione;
vettore[i].presente = true;
}
int primalibera(libro vettore[])
{
int i = 0;
while ((vettore[i].presente == true) && (i<dim))
{i++;}
return i;
}
bool cercalibro(libro vettore[])
{
trovato = false;
string nomelibro; fflush(stdin);
cout << "Inserisci il nome del libro da cercare: ";
getline (cin, nomelibro);
cout << endl;
for (int i=0; i<dim; i++)
{
if (nomelibro == vettore[i].titolo && vettore[i].presente==true)
{
trovato = true;
}
}
return trovato;
}
void stampalibreria(libro vettore[])
{
cout << "I libri inseriti sono " << endl;
for (int i=0; i<contalibri; i++)
{
if (libreria[i].presente == true)
{
cout << "Titolo: " << vettore[i].titolo << endl;
cout << "Autore: " << vettore[i].autore << endl;
cout << "Anno Edizione: " << vettore[i].anno_edizione << endl << endl;
}
}
}
//INSERISCI SCHEDA
void inserisci(libro vettore[])
{
primalibera(vettore);
if (i == dim)
errore();
else
{
fflush(stdin);
inserimento(libreria);
contalibri++;
}
}
//ELIMINA SCHEDA
void elimina(libro vettore[])
{
if (contalibri == 0)
{ errore(); }
else
{
cercalibro(libreria);
if (trovato == true)
{
vettore[i].presente = false;
cout << "Scheda eliminata. " << endl;
contalibri--;
}
}
}
//MODIFICA SCHEDA
void modifica(libro vettore[])
{
if (contalibri == 0)
{ errore(); }
else
{
cercalibro(libreria);
if (trovato == true)
{
inserimento(libreria);
}
else
{ errore(); }
}
}
//STAMPA SCHEDE
void stampa(libro vettore[])
{
if (contalibri == 0)
errore();
else
stampalibreria(libreria);
}
//ESCI DAL PROGRAMMA
void esci()
{
cout << "Il programma viene terminato. " << endl;
system ("pause");
}
//MAIN
int main ()
{
inizializza(libreria);
while (scelta!=5)
{
displaymenu(scelta);
switch (scelta)
{
case 1: inserisci(libreria); break;
case 2: elimina(libreria); break;
case 3: modifica(libreria); break;
case 4: stampa(libreria); break;
case 5: esci(); break;
default: cout << "Numero non corrispondente. " << endl;
}
cout << endl;
}
return 0;
}
Allegati
Ultima modifica: