Stos - LIFO, wczytanie danych, mała modyfikacja

0

Witam, nie wiem, w którym miejscu wstawić wczytanie elementu 'x', aby program działał. Ten switch powinien być chyba jeszcze w pętli do wielokrotnego wyboru opcji 1. i 2.
Proszę o pomoc

 #include <iostream>

using namespace std;

struct el_LIFO
{
    int dane;
    struct el_LIFO *nast;
};

struct el_LIFO *push(struct el_LIFO *w, int el)
{
    struct el_LIFO *rob;
    rob=new el_LIFO;
    rob->dane=el;
    rob->nast=w;
    w=rob;
    return w;
};

struct el_LIFO *pop(struct el_LIFO *w, int *el)
{
    struct el_LIFO *rob;
    if(w!=NULL)
    {
        *el=w->dane;
        rob=w;
        w=w->nast;
        delete rob;
    }
    return w;
};

void show(struct el_LIFO *w)
{
    struct el_LIFO *rob;
    rob=w;
    if(rob==NULL) cout<<("Stos pusty.");
    else
    {
        cout<<"Stos: \n";
        while(rob!=NULL)
        {
            cout<<rob->nast<<endl;
            rob=rob->nast;
        }
    }
}

int main()
{
    struct el_LIFO *ws;
    ws=NULL;
    int c,x;
    cout<<"WYBIERZ OPERACJE: \n\n1. Dodac element \n2. Zdjac element \n3. Wyswietl stos \n4. Koniec programu\n"<<endl;
    cin>>c;
    cout<<endl;
    switch(c)
    {
        case 1:
            ws=push(ws,x);
            break;

        case 2:
            ws=pop(ws,&x);
            break;

        case 3:
            show(ws);

        case 4:
            break;

        default:
            return 0;
    };
    cout<<endl;

    return 0;
}

0

Masz na to trzy opcje:

  1. Przeczytać pierwsze kilka stron z byle jakiego kursu i zrobić to samodzielnie.
  2. Zadać te pytania autorowi programu.
  3. Wynająć fachowca do rozwiązania zadania.
0

Jakby ktoś chciał to wstawiam:

int main()
{
    struct el_LIFO *ws;
    ws=NULL;
    int c=1,x;
    cout<<"WYBIERZ OPERACJE: \n\n1. Dodac element \n2. Zdjac element \n3. Wyswietlic stos \n4. Koniec programu"<<endl;
    while(c!=4)
    {
        cout<<"\nOPCJA: ";
        cin>>c;
        switch(c)
        {
            case 1:
                cout<<"Element: ";
                cin>>x;
                ws=push(ws,x);
                cout<<"Dodano element "<<x<<endl;
                break;

            case 2:
                ws=pop(ws,&x);
                break;

            case 3:
                show(ws);
                break;

            case 4:
                cout<<"Koniec programu"<<endl;
                break;
    };
    }
    return 0;
} 
1

to ja też dla potomnych: http://ideone.com/58kH6C prosty w C na podstawie wikipedii

1 użytkowników online, w tym zalogowanych: 0, gości: 1