Return to Snippet

Revision: 36363
at November 21, 2010 04:15 by danacc


Initial Code
#include <iostream>
#include<cstring>
//#include "red_polje.h"
#include "red_pokazivac.h"
using namespace std;
red Q;
void unos(){
     klijentiP novi;    
    cout<<"Unesi ime i prezime klijenta: ";
    cin.ignore();
    cin.getline(novi.ime_prez,40);
    cout<<"Unesi godinu rodjenja: ";
    cin>>novi.godina;
     cout<<"Unesi stanje na racunu: ";
    cin>>novi.stanje;
    cout<<"u-Uplata/Isplata; p-Placanje racuna; k-kreditiranje"<<endl;
    cout<<"Odaberite transakciju: ";
    cin>>novi.transakcija;
    EnQueueQ(novi, &Q);
};
void premjesti(){
     red mladi;
     red stariji;
     InitQ(&mladi);
     InitQ(&stariji);
     klijentiP klijent = FrontQ(&Q);
     while(1){
         if(klijent.godina > 1945){
              EnQueueQ(klijent, &mladi);
              DeQueueQ(&Q);         
              }
         else{
              EnQueueQ(klijent, &stariji);
              DeQueueQ(&Q);          
              }       
         if(IsEmptyQ(&Q)){
               break;            
               } 
         klijent = FrontQ(&Q);                    
         }
     cout<<"\nIspis reda:\n";
     if(!IsEmptyQ(&stariji)){
     klijent = FrontQ(&stariji);
     while(1){
        EnQueueQ(klijent, &Q);
        cout<<"\nIme i prezime: "<<klijent.ime_prez<<endl;   
        cout<<"Godina rodenja: "<<klijent.godina<<endl;   
        cout<<"Stanje na racunu: "<<klijent.stanje<<endl;   
        cout<<"Vrsta transakcije: "<<klijent.transakcija<<endl;   
        cout<<"------------------------"<<endl;   
        DeQueueQ(&stariji);
        if(IsEmptyQ(&stariji)){
               break;            
               } 
         klijent = FrontQ(&stariji);
         }//while
     }//if
     if(!IsEmptyQ(&mladi)){
     klijent = FrontQ(&mladi);
     while(1){
        EnQueueQ(klijent, &Q);
        cout<<"\nIme i prezime: "<< klijent.ime_prez<<endl;   
        cout<<"Godina rodenja: "<< klijent.godina<<endl;   
        cout<<"Stanje na racunu: "<< klijent.stanje<<endl;   
        cout<<"Vrsta transakcije: "<< klijent.transakcija<<endl;   
        cout<<"------------------------"<<endl;   
        DeQueueQ(&mladi);
        if(IsEmptyQ(&mladi)){
               break;            
         } 
         klijent = FrontQ(&mladi);
         }//while 
     }//if
};
void kredit(){
     red pomocni;
     InitQ(&pomocni);
     klijentiP klijent = FrontQ(&Q);
     while(1){
         if(klijent.stanje < 100 && klijent.transakcija == 'k'){
              DeQueueQ(&Q);         
         }else{
              EnQueueQ(klijent, &pomocni);
              DeQueueQ(&Q);   
          }   
         if(IsEmptyQ(&Q)){
               break;            
         } 
         klijent = FrontQ(&Q);                    
     }
      cout<<"\nIspis reda: \n";
     klijent = FrontQ(&pomocni);
      while(1){
        EnQueueQ(klijent, &Q);
        cout<<"\nIme i prezime: "<< klijent.ime_prez<<endl;    
        cout<<"Godina rodenja: "<< klijent.godina<<endl;   
        cout<<"Stanje na racunu: "<< klijent.stanje<<endl;   
        cout<<"Vrsta transakcije: "<< klijent.transakcija<<endl;   
        cout<<"------------------------"<<endl;   
        DeQueueQ(&pomocni);
        if(IsEmptyQ(&pomocni)){
               break;            
               } 
         klijent = FrontQ(&pomocni);               
         }     
};

void novi_red(){
     klijentiP klijent = FrontQ(&Q);  
      DeQueueQ(&Q);
     if(!IsEmptyQ(&Q)){        
         novi_red();
         }
        EnQueueQ(klijent, &Q);
        cout<<"\nIme i prezime: "<< klijent.ime_prez<<endl; 
        cout<<"Godina rodenja: "<< klijent.godina<<endl;   
        cout<<"Stanje na racunu: "<< klijent.stanje<<endl;   
        cout<<"Vrsta transakcije: "<< klijent.transakcija<<endl;   
        cout<<"------------------------"<<endl; 
     return;     
};

int main(){
int iz,n;
    InitQ(&Q);  
	do{
		cout<<"\n1. Dodaj klijenta\n";
		cout<<"2. Pusti starije od 65 naprijed\n";
		cout<<"3. Izbaci one koji ne mogu dobit kredit\n";
		cout<<"4. Zamjeni salter\n";
		cout<<"9. izlaz\nIzbor: ";
		cin>>iz;
		switch(iz){
        case 1:
	         unos();
			break;
		case 2:
             premjesti();
			break;
		case 3:
             kredit();
			break;
		case 4: cout<<"\nObrnuti redoslijed: " << endl;
             novi_red();
             break;
        case 9: cout<<"Kraj! ";
        break;     
        default: cout<<"Pogresan izbor!\n";     
		}
	}while(iz!=9);
system("pause");
return 0;
}

Initial URL


Initial Description


Initial Title
red_u_banci.cpp

Initial Tags


Initial Language
C++