Return to Snippet

Revision: 36454
at November 22, 2010 02:55 by maja90


Initial Code
#include<iostream>
#include<cstring>
#include "red_polje.h"
using namespace std;

int brojac=0;

void ispis(red *A){
     tbanka ba;
     int broj = brojac;
     while(broj){
                 ba=FrontQ(A);
                 DeQueueQ(A);
                 cout << endl << "Ime i prezime: " << ba.imeprez << endl;
                 cout << "Godina rodenja: " << ba.god << endl;
                 cout << "Stanje na bankovnom racunu (kn): " << ba.stanje << endl;
                 cout << "Transakcija: " << ba.trans << endl;
                 EnQueueQ(ba,A);
                 broj--;
}}

void premjesti(red *A){
     red *pom = InitQ(pom);
     tbanka ba;
     int broj = brojac;
     while(broj){
                 ba = FrontQ(A);
                 DeQueueQ(A);
                 if(ba.god >1945)
                           EnQueueQ(ba,pom);
                 else
                      EnQueueQ(ba,A);
                 broj--;
     }
     while(!IsEmptyQ(pom)){
                           ba = FrontQ(pom);
                           DeQueueQ(pom);
                           EnQueueQ(ba,A); 
     }
     ispis(A);
}
   
void dodaj(red *A){
     char jos = 'd';
     tbanka ba;
     cout << "Dodavanje klijenata: " << endl;
     while (jos == 'd' || jos == 'D'){
           cout << "Ime i prezime: ";
           cin.getline(ba.imeprez, 50);
           if (cin.gcount()==1)
  	           cin.getline (ba.imeprez, 50);
   	       cout << "Godina rodjenja: ";
   	       cin >> ba.god;
   	       cout << "Stanje na bankovnom racunu (kn): ";
   	       cin >> ba.stanje;
   	       cout<< "Transakcija (uplata/isplata, placanje, kredit): ";
   	       cin.getline(ba.trans, 50);
           if (cin.gcount()==1)
  	           cin.getline (ba.trans, 50);
   	       EnQueueQ(ba,A);
   	       brojac++;
           cout << "Zelite dodati jos klijenata (d/n)? ";
           cin >> jos;         
     } 
     premjesti (A);        
} 
    


void izbacivanje(red *A){
     if(IsEmptyQ(A)==0){
             red *pom = InitQ(pom);     
             tbanka ba;
             int broj = brojac;
             while(broj){
                  ba = FrontQ(A);
                  DeQueueQ(A);
                  if(ba.stanje < 100 && strcmp(ba.trans, "kredit") == 0)
                                        brojac--;
                  else 
                      EnQueueQ(ba,A); 
                  broj--;
             }
             ispis(A);
     }
     else 
          cout << "Red je prazan" << endl;
}     
           
void novired(red *A){
     if(IsEmptyQ(A)==0){
               tbanka ba;
               ba = FrontQ(A);
               DeQueueQ(A);
               if(!IsEmptyQ(A)) 
                         novired(A);
               EnQueueQ(ba,A);
     }
     else 
          cout << "Red je prazan" << endl;
}
               
int main(){
   int i;
   red *A = InitQ(A);
   do{ 
       cout << endl << "Izbornik" << endl;
       cout << "1. Dodati klijenta u red " << endl;
       cout << "2. Izbacivanje klijenata iz reda " << endl;
       cout << "3. Zatvaranje saltera " << endl;
       cout << "9. Izlaz " <<endl;    
       cin >> i;
       cout << endl;
       switch(i){
                 case 1:
                      dodaj(A);
                      break;
                 case 2:
                      izbacivanje(A);
                      break;
                 case 3:
                      novired(A);
                      ispis (A);
                      break;
                 case 9: break;
                 default: cout << "Pogresan unos" << endl;
       }
   }while(i!=9); 
    return 0;
}

Initial URL


Initial Description


Initial Title
Glavni dio - Red u banci

Initial Tags


Initial Language
C++