Return to Snippet

Revision: 36470
at November 22, 2010 05:20 by alsobodic


Initial Code
#include<iostream>
#include "red_pokazivac.h"
//#include "red_polje.h"
using namespace std;
int brojac=0;
void dodaj_klijenta(tRed *Q) {
      tklijent novi;
      cout << "Ime: ";
      cin.ignore();
      cin.getline(novi.ime,50);
      cout << "Prezime: ";
      cin.getline(novi.prez,50);
      cout << "Godina rodjenja: ";
      cin >> novi.god;
      cout << "Stanje racuna: ";
      cin >> novi.stanje;
      cout << "Vrsta transakcije: "<<endl;
      cout << "('u' = uplate/isplate,'p' =placanje racuna,'k' = krediti): "<<endl;
      cout<< "Vas izbor je: ";
      do{
      cin >> novi.vrstatrans;
      if((novi.vrstatrans != 'u') && (novi.vrstatrans != 'p') && (novi.vrstatrans != 'k')) 
      cout<<"Pogresan unos\nVas izbor: ";
      }while((novi.vrstatrans != 'u') && (novi.vrstatrans != 'p') && (novi.vrstatrans != 'k'));
      EnQueueQ(novi, Q);
      cout<<"--------------------"<<endl<<endl;
      brojac++;
      };
void ispis_klijenata(tRed *Q) {
      cout<< "Ispis klijenata u redu:" <<endl;
      tklijent novi;
      int br=brojac;
      while (br) {
      novi = FrontQ(Q);
      DeQueueQ(Q);
      cout << "Ime: " << novi.ime << endl;
      cout << "Prezime: "<< novi.prez << endl;
      cout << "Godina rodjenja: " << novi.god << endl;
      cout << "Stanje na racunu: " << novi.stanje << endl;
      if(novi.vrstatrans == 'u') cout<<"Vrsta transakcije: Uplata/Isplata"<<endl;
      if(novi.vrstatrans == 'p') cout<<"Vrsta transakcije: Placanje racuna"<<endl;
      if(novi.vrstatrans == 'k') cout<<"Vrsta transakcije: Kreditiranje"<<endl;
      cout<<"-----------------"<<endl;
      EnQueueQ(novi,Q);
      br--;
      };
      };
void starijiod(tRed *Q) {                     //pomocni red
      tRed *pomocni = InitQ(pomocni);
      tklijent novi;
      int br=brojac;
      while (br) {
      novi = FrontQ(Q);
      DeQueueQ(Q);
      if (novi.god > 1945)
      EnQueueQ(novi,pomocni);
      else
      EnQueueQ(novi,Q);
      br--;
      };
      while (!IsEmptyQ(pomocni)) {
      novi = FrontQ(pomocni);
      DeQueueQ(pomocni);
      EnQueueQ(novi,Q);
      };
      //ispis_klijenata(Q);
      };
void izbaciti(tRed *Q) {
      tRed *pomocni = InitQ(pomocni);
      tklijent novi;
      int br=brojac;
      while (br) {
      novi = FrontQ(Q);
      DeQueueQ(Q);
      if (!(novi.stanje < 100 && novi.vrstatrans == 'k'))
      EnQueueQ(novi,Q);
      else brojac--;
      br--;
      };
      //ispis_klijenata(Q);
      };
void otvaranje_saltera(tRed *Q) {                 //rekurzija
      tklijent novi;
      novi = FrontQ(Q);
      DeQueueQ(Q);
      if (!IsEmptyQ(Q)) otvaranje_saltera(Q);
      EnQueueQ(novi,Q);
      };
int main(){
      bool ima = false;
      tRed *Q = InitQ(Q);
      int zapis, iz,br=1;
      do{
      cout<<"-----------------\nIZBRONIK\n-----------------"<<endl;
      cout<<"1. Dodavanje zapisa o klijentima banke u red."<<endl;
      cout<<"2. Premjestiti klijente starije od 65 godine na pocetak reda (pomocni red)."<<endl;
      cout<<"3. Izbaciti iz reda sve klijente koji imaju <100kn i zele transakciju kreditiranja."<<endl;
      cout<<"4. Zatvaranje jednog saltera i otvaranje drugog - Zamjena mjesta u redu (rekurzija)."<<endl;
      cout<<"5. Ispis stanja na redu."<<endl;
      cout<<"9. Izlaz iz programa"<<endl;
      cout<<"-----------------"<<endl;
      cout<<"Vas izbor je: ";
      cin>>iz;
      switch(iz){
      case 1:
           cout<<"Kolko klijenata zelite dodati: ";
           cin>>zapis;
           for (int i=0;i<zapis;i++){
           cout<<"Klijent broj "<<br<<". :"<<endl;
           dodaj_klijenta(Q);
           br++;
           }//for
           ima = true;
           break;     
      case 2:
           if(!ima){
           cout<<"Nema podataka!"<<endl;
           break;
           }
           starijiod(Q);
           break;
      case 3:
           if(!ima){
           cout<<"Nema podataka!"<<endl;
           break;
           }
           izbaciti(Q);
           break;
      case 4:
           if(!ima){
           cout<<"Nema podataka!"<<endl;
           break;
           }
           otvaranje_saltera(Q);
           break;
      case 5:
           ispis_klijenata(Q);
           break;
     
      }//switch
      }while(iz != 9);
      system("pause");
      return 0;
      };

Initial URL


Initial Description


Initial Title
simulacija_reda_u_banci.cpp

Initial Tags


Initial Language
C++