zad

mail@pastecode.io avatar
unknown
c_cpp
3 years ago
2.0 kB
2
Indexable
Never
#include <iostream>
#include <ctime>
using namespace std;

struct element{
    int val;
    element *next = nullptr;
};

struct kolejka{
    element *head = nullptr;
    element *tail = nullptr;
};

void push(kolejka &obj, int value){
    element *el = new element;
    el->val = value;

    if( obj.tail != nullptr){
        obj.tail->next = el;
    }
    else{
        obj.head = el;
    }
    obj.tail = el;
}

void pop(kolejka &obj){
    element *el = obj.head;
    obj.head = obj.head->next;
    delete el;
    if( obj.head == nullptr ){
        obj.tail = nullptr;
    }
}

int main(){
    srand(time(NULL));
    kolejka test;
    int wybor;

    while(wybor != 6){
        cout << "----MENU----\n1. Sprawdz zawartosc\n2. Dodaj element do kolejki\n3. Usun element z kolejki\n4. Wyswietl glowe kolejki\n5. Usun zawartosc kolejki\n6. Wyjscie z programu" << endl;
        cout << "->";   cin >> wybor;

        switch(wybor){

            case 1:
                if (test.head == nullptr){
                    cout << "\t\tSTATUS: Kolejka jest pusta" << endl;
                }
                else{
                    cout << "\t\tSTATUS: Kolejka jest NIEpusta" << endl;
                }
            break;

            case 2:
                int val = rand()%10+1;
                push(test, val);
                cout << "\t\tSTATUS: Poprawnie dodano element" << endl;
            break;

            case 3:
                if( test.tail == nullptr){
                    cout << "\t\tSTATUS: Nie mozna usunac elementu. Kolejka jest pusta" << endl;
                }
                else{
                    pop(test);
                    cout << "\t\tSTATUS: Poprawnie usuenieto element" << endl;
                }
            break;

            // case 4:
            // break;

            // case 5:
            // break;

            // case 6:
            // break;
        }
    }
    return 0;
}