Salve a tutti!
Sono uno studente di informatica al primo anno e sto riscontrando difficoltà a programmare uno stack con più variabili (premetto che ad una mi riesce tranquillamente).
Non capisco come mai in questo codice Dev C++ mi dia errori sui dati di tipo long int e float!
Una mano sarebbe molto apprezzata!!!!
Ecco il codice:
codice:#include<iostream> #include<stdlib.h> #include<string> using namespace std; class Libro{ public: int top; char titolo[30]; char autore[20]; float prezzo; long int data; }libro; void creastack (Libro &libro){ libro.top= -1; } void distruggistack (Libro &libro){ libro.top= -1; } int push(Libro &libro, char &nuovotitolo, char &nuovoautore, float &nuovoprezzo, long int &nuovodata){ libro.top++; libro.titolo[libro.top] = nuovotitolo; libro.autore[libro.top] = nuovoautore; libro.prezzo[libro.top] = nuovoprezzo; libro.data[libro.top] = nuovodata; } void pop(Libro &libro, char &apparsotitolo, char &apparsoautore, float &apparsoprezzo, long int &apparsodata){ apparsotitolo = libro.titolo[libro.top]; apparsoautore = libro.autore[libro.top]; apparsoprezzo = libro.prezzo[libro.top]; apparsodata = libro.data[libro.top]; libro.top--; } int main() { Libro libro; void creastack(); char apparsotitolo[30], nuovotitolo[30]; char apparsoautore[20], nuovoautore[20]; float apparsoprezzo, nuovoprezzo; long int apparsodata, nuovodata; char quest, d; cout<<"Vuoi inserire i dati (s/n) ?\n"; cin>>quest; while(quest=='s' || quest =='S') { cout<<"Inserisci i dati di ogni libro secondo l'ordine titolo, autore, prezzo e data: "; cin >> nuovotitolo; cin >> nuovoautore; cin >> nuovoprezzo; cin >> nuovodata; push (libro, nuovotitolo[30], nuovoautore[20], nuovoprezzo, nuovodata); cout<<"Vuoi inserire ancora altri dati (s/n) ?\n"; cin>>quest; } cout<<"Vuoi cancellare l'ultimo elemento? s/n \n"; cin>>d; if(d=='s' || d=='S'){ pop(libro, apparsotitolo[30], apparsoautore[20], apparsoprezzo, apparsodata); cout<<apparsotitolo<<"\n"<<apparsoautore; cout<<apparsoprezzo<<"\n"<<apparsodata; } else{ system("pause"); } system("pause"); }

Rispondi quotando


