Return to Snippet

Revision: 36613
at November 24, 2010 03:55 by petspicko


Initial Code
#include<iostream>

using namespace std;

struct kli {
       char ime_prezime[20];
       int godina_rodjenja;
       int stanje;
       int transakcija;
}; 

#include"red_polje.h"
//#include"red_pokazivac.h"


int broj_unesenih=0; 


void unos_novih(queue* Q) { 
     kli klijent; 
     cout << "Ime i prezime klijenta: ";
     cin.ignore();
     cin.getline(klijent.ime_prezime,20);
     cout << "Godina rodjenja klijenta: ";
     cin >> klijent.godina_rodjenja;
     cout << "Stanje na racunu (u kn): ";
     cin >> klijent.stanje;
     cout << "Vrsta transakcije " << endl;
     cout << "1. Uplata / isplata" << endl;
     cout << "2. Placanje racuna" << endl;
     cout << "3. Kredit" << endl;
     cout << "Unos: ";
     cin >> klijent.transakcija;
     EnQueueQ(klijent, Q);  
     broj_unesenih++; 
}


void pusti_starije (queue *Q) {
     queue* P = InitQ(P); 
     kli klijent; 
     int br = broj_unesenih; 
     while (br) { 
           klijent = FrontQ(Q);
           DeQueueQ(Q); 
           cout << ".";  
           br--; 
           if(klijent.godina_rodjenja<1945) 
                EnQueueQ(klijent,Q);
           else 
                EnQueueQ(klijent,P);
     } 
 
     while (!IsEmptyQ(P)){ 
           klijent = FrontQ(P); 
           DeQueueQ(P);
           EnQueueQ(klijent,Q); 
     }
}


void izbaci_kredit(queue *Q) {
     kli klijent; 
     int br = broj_unesenih; 
     while (br) { 
       klijent = FrontQ(Q);  
       DeQueueQ(Q);  
       cout << ".";  
       br--;  
       if(klijent.stanje<100 && klijent.transakcija == 3){ 
           cout << endl << "Izbacujem: " << klijent.ime_prezime << endl; 
           broj_unesenih--; 
       }
     else EnQueueQ(klijent,Q);
     } 
}


void novi_salter(queue *Q) {
       kli rek_pom; 
       rek_pom = FrontQ(Q); 
       DeQueueQ(Q);
       if (!IsEmptyQ(Q)) novi_salter(Q); 
       EnQueueQ(rek_pom,Q); 
       cout << ".";  
}


void ispis(queue* Q) {
     kli klijent;
     int br = broj_unesenih;
     while (br) {
       klijent = FrontQ(Q);
       DeQueueQ(Q);
       cout << endl;
       cout << "Ime i prezime klijenta: " << klijent.ime_prezime << endl;
       cout << "Godina rodjenja klijenta: " <<  klijent.godina_rodjenja << endl;
       cout << "Stanje na racunu (u kunama): " << klijent.stanje << endl;
       cout << "Transakcija: ";
       if (klijent.transakcija==1)  
         cout << "Uplata/Isplata" << endl;
       else if (klijent.transakcija==2) 
         cout << "Placanje racuna" << endl;
       else if (klijent.transakcija==3) 
         cout << "Kredit" << endl;  
       cout << endl;
       EnQueueQ(klijent,Q);
       br--;
     }   
}


int main () {
   int izbor;
   queue* Q = InitQ(Q);
   do {
     cout << endl << "Izbornik" << endl;
     cout << "1. Dodavanje zapisa o klijentima banke u red" << endl;
     cout << "2. Propustanje starijih od 65 godina u pocetni red" << endl;
     cout << "3. Izbaci kreditno nesposobne " << endl;
     cout << "4. Zatvaranje jednog, otvaranje drugog saltera" << endl;
     cout << "9. Izlaz iz programa" << endl;
     cout << "Vas izbor: ";
     cin  >> izbor; cout << endl;
    
     switch (izbor) {
       case 1:
          int koliko;
          cout << "Koliko zelite unijeti: ";
          cin >> koliko;
          while (koliko) {
              unos_novih(Q);
                      koliko--;
                      cout << endl;
          }
          cout << endl;
          break;
       case 2:
          pusti_starije(Q);
              ispis(Q);
          cout << endl;
          break;
       case 3:
          izbaci_kredit(Q);
              ispis(Q);
          cout <<  endl;
          break;
       case 4:
          novi_salter(Q);
          ispis(Q);
          cout << endl;
          break;
          
       case 9: 
          break;     
     }   
  } while (izbor!=9); 
  return 0;  
}

Initial URL


Initial Description


Initial Title
strukture 3 main

Initial Tags


Initial Language
C++