Return to Snippet

Revision: 36446
at November 22, 2010 02:14 by zvon123


Initial Code
#include<iostream>

using namespace std;

#include"red_polje.h"

queue* Q = InitQ(Q);
int br = 0;
tklijent klijent;

void unos_novog_u_red (){
  int br_unosa;   
  cout << "Koliko klijenata zelite unijeti: ";
  cin >> br_unosa;
  br = br + br_unosa;
  cout << endl << endl;
  for (int i=0; i<br_unosa; i++) {
    cout << "Ime i prezime: ";
    cin.ignore();
    cin.getline(klijent.ime,30);
    cout << "Godina rodjenja: ";
    cin >> klijent.god;
    cout << "Stanje na racunu: ";
    cin >> klijent.stanje;
    do {  
      cout << "Vrsta transakcije (u - uplata/isplata, p - placanje racuna, k - kredit): ";
      cin >> klijent.vrsta_trans;
    } while (klijent.vrsta_trans!='u' && klijent.vrsta_trans!='p' && klijent.vrsta_trans!='k');
    cout << endl;
    EnQueueQ(klijent, Q);
  }
}

void ispis_iz_reda() {
  for (int i=0; i<br; i++) {
    klijent = FrontQ(Q);
    DeQueueQ(Q);  
    cout << "Ime i prezime: " << klijent.ime << endl;
    cout << "Godina rodjenja: " << klijent.god << endl;
    cout << "Stanje na racunu: " << klijent.stanje << endl;
    cout << "Vrsta transakcije: ";
    if (klijent.vrsta_trans=='u') cout << "Uplata/isplata" << endl;
    if (klijent.vrsta_trans=='p') cout << "Placanje racuna" << endl;
    if (klijent.vrsta_trans=='k') cout << "Kredit" << endl;
    cout << endl;
    EnQueueQ(klijent, Q);
  }
}

void zbrini_starije() {
   queue *pom_R = InitQ(pom_R);
   for (int i=0; i<br; i++) {
    klijent = FrontQ(Q);
    DeQueueQ(Q);  
    if (klijent.god > 1945) EnQueueQ(klijent, pom_R);
    if (klijent.god <= 1945) EnQueueQ(klijent, Q);
   }
   
   while (!IsEmptyQ(pom_R)) {
     klijent = FrontQ(pom_R);
     DeQueueQ(pom_R);      
     EnQueueQ(klijent, Q);    
   }
}

void nema_uvjete_za_kredit () {
  int br_kredit = br;
  for (int i=0; i<br_kredit; i++) {
    tklijent pom = FrontQ(Q);
    DeQueueQ(Q);  
    if(pom.stanje < 100 && pom.vrsta_trans=='k') {
        br--;
    }
    else EnQueueQ(pom, Q);
  }    
}

void salter () {
   tklijent pom = FrontQ(Q);
   DeQueueQ(Q);
   if (!IsEmptyQ(Q))
      salter();
   EnQueueQ(pom, Q);     
}

int main () {
  int izbor;
  
  do {
    cout << "---- Izbornik ----" << endl
         << "1. Unos novih klijenata u red" << endl
         << "2. Zbrinjavanje starijih" << endl
         << "3. Izbaci one koji nemaju uvjete za kredit" << endl
         << "4. Otvaranje novog saltera" << endl
         << "9. Izlaz " << endl
         << "Vas izbor: ";
    cin  >> izbor; 
    cout << endl;
    
    
    switch (izbor) {
     case 0: 
      ispis_iz_reda();
      break; 
      
     case 1:
      unos_novog_u_red();
      cout << endl;
      break;
      
     case 2:
      zbrini_starije();
      ispis_iz_reda();
      cout << endl;
      break;
      
     case 3:
      nema_uvjete_za_kredit();
      ispis_iz_reda();
      cout << endl;
      break;   
            
     case 4:
      salter();
      ispis_iz_reda();
      cout << endl;
      break;
       
     default:
      cout << "Krivi izbor" << endl << endl;
    }   
  } while (izbor!=9); 
  return 0;  
}

Initial URL


Initial Description


Initial Title
Turina_Zvonimir_glavni program

Initial Tags


Initial Language
C++