Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    pila!!! ma dove sbaglio!!!

    ho scritto questa pila con le principali istruzione ma dov'è che sbaglio ? visto che quando vado provarla mi funziona solo una volta se tutto va bene!! e la funzione stampa come si fa?
    grazie per il vostro aiuto! ve ne sarò riconoscente a vita!!!





    #include <cstdlib>
    #include <iostream>
    #include "pila.h"
    using namespace std;
    void menu();

    int main(int argc, char *argv[])
    {
    pila a;
    int scelta;
    int t;
    int e; //elemento da inserire

    do {
    menu();
    cout<<"inserisci scelta"<<endl;
    cin>>scelta;
    switch(scelta) {
    case 1: cout<<"inserisci elemento"<<endl; cin>>e; a.push(e); break;
    case 2: cout<<"gli elementi della pila sono"<<endl; a.stampa(e); break;
    case 3: cout<<"l'elemento in testa e': "<<endl; a.pop(e); break;
    case 4: cout<<"copia elemento in testa alla pila"<<endl; a.top(e); break;
    default : break;
    }
    } while(scelta <6);

    system("PAUSE");
    return EXIT_SUCCESS;
    }
    void menu() {
    cout<<"******************************************* **********************************"<<endl;
    cout<<"******************************************* ***********************************"<<endl;
    cout<<"1)inserisci elemento"<<endl;
    cout<<"2)stampa pila"<<endl;
    cout<<"3 prelevare elemento in testa alla pila"<<endl;
    cout<<"4) copia elemento in testa alla pila"<<endl;
    cout<<"******************************************* **********************************"<<endl;
    cout<<"******************************************* ***********************************"<<endl;
    }



    #ifndef _pila_h_
    #define _pila_h_

    typedef int E;
    class pila {
    public:
    pila(); //costruttore

    void push (const E e);
    void stampa(E & e);
    void pop (E & e);
    void top (E & e) const;
    bool empty () const ;
    bool full() const;
    private :
    enum{N=100}; //massimlo numero di elementi nella pila
    E p[N]; //p array di N elementi di tipo E
    int t; //t puntatore alla testa dell'array

    };





    #endif


    #include <cstdlib>
    #include <iostream>
    #include "pila.h"
    using namespace std;

    //prototipo

    pila :: pila() { (t=0);}
    // assegna a empty true se la pila e' vuota
    bool pila::empty() const {
    return (t==0); }
    //assegna a full true se la pila è piena
    bool pila :: full () const {
    return (t==N); }

    //inserisci elemento
    void pila:: push(const E e) {
    p[t]=e;
    t++;
    }
    //stampa pila
    void pila:: stampa(E & e){
    while(t!=0){
    e=p[t-1];
    t--;
    cout<<" "<<e<<endl;} }
    //preleva elemento in testa
    void pila:: pop (E & e){
    t--; e=p[t];
    cout<<" "<<e<<endl;
    }
    // copia elemento in testa alla pila
    void pila :: top (E & e) const {
    e=p[t-1];
    cout<<" "<<e<<endl;
    }

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466

    Moderazione

    Come già detto in questa occasione, leggi il Regolamento e applica le norme al suo interno, tra cui l'inserimento del linguaggio nel titolo, l'esclusione di escalamazioni inutili, l'uso di una descrizione significativa del problema nel titolo, l'uso del tag CODE per formattare correttamente il codice.

    Apri una nuova discussione seguendo quanto indicato sopra.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.