/ Published in: C++
URL: red_main
red_main.cpp
Expand |
Embed | Plain Text
#include <iostream> #include "red_polje.h" //#include "red_pokazivac.h" using namespace std; qu red; void unos(){ klijent k; cout << "\nime: "; cin.ignore(); cin.getline(k.ime, 35); cout << "godina rodjenja: "; cin >> k.god; cout << "stanje na racunu: "; cin >> k.stanje; do{ cout << "vrsta transakcije:\n\n 1. uplata/isplata\n 2. placanje racuna\n 3. kreditiranje\n : "; cin >> k.transakcija; }while(k.transakcija < 1 || k.transakcija > 3); EnQueueQ (k, red); } void next(bool print){ if (!IsEmptyQ(red)){ klijent k = FrontQ(red); DeQueueQ(red); // front++; if(print){ cout << "\nime: " << k.ime << endl; cout << "godina rodjenja: " << k.god << endl; cout << "stanje racuna: " << k.stanje << endl; cout << "vrsta transakcije: "; switch (k.transakcija){ case 1: cout << "uplata/isplata" << endl; break; case 2: cout << "placanje racuna" << endl; break; case 3: cout << "kreditiranje" << endl; } // switch } // if next(print); EnQueueQ(k, red); } // if } void stariji(){ qu pom1 = (qu)malloc(sizeof(struct queue)); InitQ(pom1); qu pom2 = (qu)malloc(sizeof(struct queue)); InitQ(pom2); while(!IsEmptyQ(red)){ klijent k = FrontQ(red); DeQueueQ(red); if(k.god < 1945) EnQueueQ(k, pom1); //spremanje starih u pom1 else EnQueueQ(k, pom2); // mladi idu u pom2 } while(!IsEmptyQ(pom1)){ klijent k = FrontQ(pom1); DeQueueQ(pom1); EnQueueQ(k, red); // vracanje starih ljudi natrag u red } while(!IsEmptyQ(pom2)){ klijent k = FrontQ(pom2); DeQueueQ(pom2); EnQueueQ(k, red); // vracanje mladih u red } } void ispis(){ cout << "\n Ispis reda:\n"; next(true); next(false); } void move_element(){ if(!IsEmptyQ(red)){ klijent k = FrontQ(red); DeQueueQ(red); move_element(); EnQueueQ(k, red); } } void move(){ cout << "\n Mjenjanje saltera\n\n"; move_element(); } void izbaci_element(){ bool izbaci = false; if(!IsEmptyQ(red)){ klijent k = FrontQ(red); DeQueueQ(red); if(k.stanje < 100 and k.transakcija == 3){ cout << "\nime: " << k.ime << endl; cout << "godina rodjenja: " << k.god << endl; cout << "stanje racuna: " << k.stanje << endl; cout << "vrsta transakcije: "; switch (k.transakcija){ case 1: cout << "uplata/isplata" << endl; break; case 2: cout << "placanje racuna" << endl; break; case 3: cout << "kreditiranje" << endl; } // switch izbaci = 1; } // if izbaci_element(); if(!izbaci) EnQueueQ(k, red); } // if } void izbaci(){ cout << "\n Izbacivanje...\n"; izbaci_element(); move_element(); } int main(){ int izbor; red = (qu)malloc(sizeof(struct queue)); InitQ(red); do{ cout << "\n1. Unos" << endl; cout << "2. Propustanje starijih" << endl; cout << "3. Izbacivanje iz reda" << endl; cout << "4. Otvaranje drugog saltera" << endl; cout << "9. Izlaz" << endl; cout << ": "; cin >> izbor; switch(izbor){ case 1: unos(); break; case 2: stariji(); ispis(); break; case 3: izbaci(); ispis(); break; case 4: move(); ispis(); }//switch }while(izbor != 9); return 0; }
You need to login to post a comment.
