Salve a tutti, vi espongo il mio codice e di seguito l'errore in fase di compilazione![]()
cdt l'ambiente è il C++
#include <iostream>
using namespace std;
class Pila
{
//attributi
static const int MAX=10; //dimensione dell'array
int testa; //testa della pila
int vett[MAX]; //array della pila
public:
//metodi
Pila(){
testa = MAX;
}
int pop(); //estrazione di un elemento
void push(int val); //inserimento di un elementi
int top(); //legge elemento di testa
bool full(); //verifica pila piena
bool empty(); //verifica pila vuota
int get_num(); //restituisce numero elementi nella pila
//funzioni in più
void clearPila();
void menu();
};
int Pila:op(){
if(testa==MAX)
cout << "La pila è vuota. Impossibile estrarre un dato" << endl;
else{
cout << "Elemento estratto = " << vett[testa] << endl;
testa++;
}
}
void Pila:ush(int val){
int dato;
if(testa==0){
cout << "La pila è piena. Impossibile inserire dati" << endl;
}else{
cout << "dato da inserire = ";
cin >> dato;
testa--;
vett[testa]=dato;
}
}
int Pila::top(){
cout << vett[testa];
}
void Pila::clearPila(){
testa=MAX;
cout << "Pila svuotata" << endl;
}
int Pila::get_num(){
for(int i=testa; i<MAX; i++){
cout << vett[i] << endl;
}
}
void Pila::menu(){
cout << endl;
cout << "1. Pulisci pila" << endl;
cout << "2. Estrai un dato" << endl;
cout << "3. Aggiungi un dato" << endl;
cout << "4. Conta elementi pila" << endl;
cout << "5. Fine" << endl;
}
int main()
{
Pila stack;
int scelta;
stack.clearPila();
do{
stack.menu();
cout << "Seleziona una voce";
cin >> scelta;
}while(scelta>0 || scelta<5);
switch(scelta){
case 1:
stack.clearPila();
break;
case 2:
stack.pop();
break;
case 3:
stack.push(int val);
break;
case 4:
stack.get_num();
break;
case 5:
break;
}while(scelta!=5);
return 0;
}
100: error: expected primary-expression before ‘int’
questo è l'errore segnalato dal compilatore alla linea 100, ovvero nello switch-case, al "case 3" in corrispondenza della chiamata di stack.push(int val);
grazie mille per un eventuale aiuto![]()

op(){
Rispondi quotando
