Revision: 36284
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 20, 2010 04:28 by redops28
Initial Code
#include <iostream>
struct tklijent {
int godina, stanje_na_racunu;
char ime_i_prezime[40], vrsta_transakcije[30];
};
//#include "red_polje.h"
#include "red_pokazivac.h"
using namespace std;
tklijent klijent, klijent2;
void dodaj (red *Q){
int izb;
cin.ignore();
cout << "Ime i prezime klijenta: ";
cin.getline(klijent.ime_i_prezime, 40);
cout << "Godina rodenja: ";
cin >> klijent.godina;
cout << "Stanje na bankovnom racunu: ";
cin >> klijent.stanje_na_racunu;
cout << "Vrsta transakcije koju klijent zeli obaviti" << endl;
do{
cout << "1. Uplate/isplate" << endl;
cout << "2. Placanje racuna" << endl;
cout << "3. Krediti" << endl;
cout << "Vrsta transakcije (1/2/3): ";
cin >> izb;
if (izb == 1) strcpy (klijent.vrsta_transakcije, "Uplate/isplate");
if (izb == 2) strcpy (klijent.vrsta_transakcije, "Placanje racuna");
if (izb == 3) strcpy (klijent.vrsta_transakcije, "Krediti");
}while(izb != 1 && izb !=2 && izb !=3);
EnQueueQ(klijent, Q);
};
void pusti (red *Q){
red *pr = new red;
red *pr2 = new red;
InitQ (pr);
InitQ (pr2);
do{
klijent = FrontQ(Q);
if (klijent.godina < 1945) EnQueueQ(klijent, pr);
else EnQueueQ(klijent, pr2);
DeQueueQ(Q);
}while(IsEmptyQ(Q) != -1);
while (IsEmptyQ(pr) != -1){
klijent = FrontQ(pr);
EnQueueQ(klijent, Q);
DeQueueQ(pr);
}
while (IsEmptyQ(pr2) != -1){
klijent = FrontQ(pr2);
EnQueueQ(klijent, Q);
DeQueueQ(pr2);
}
InitQ(pr);
cout << "Stanje na redu: " << endl;
do{
klijent = FrontQ(Q);
cout << "---------------------------" << endl;
cout << "Ime i prezime klijenta: " << klijent.ime_i_prezime << endl;
cout << "Godina rodenja: " << klijent.godina << endl;
cout << "Stanje na bankovnom racunu: " << klijent.stanje_na_racunu << " kn" << endl;
cout << "Vrsta transakcije: " << klijent.vrsta_transakcije << endl;
EnQueueQ(klijent, pr);
DeQueueQ(Q);
}while(IsEmptyQ(Q) != -1);
while (IsEmptyQ(pr) != -1){
klijent = FrontQ(pr);
EnQueueQ(klijent, Q);
DeQueueQ(pr);
}
delete pr, pr2;
};
void izbaci (red *Q){
red *pr = new red;
InitQ(pr);
do{
klijent = FrontQ(Q);
if (klijent.stanje_na_racunu < 100 && strcmp(klijent.vrsta_transakcije, "Krediti")==0) DeQueueQ(Q);
else{
EnQueueQ(klijent, pr);
DeQueueQ(Q);
}
}while(IsEmptyQ(Q) != -1);
cout << "Stanje na redu: " << endl;
do{
klijent = FrontQ(pr);
cout << "---------------------------" << endl;
cout << "Ime i prezime klijenta: " << klijent.ime_i_prezime << endl;
cout << "Godina rodenja: " << klijent.godina << endl;
cout << "Stanje na bankovnom racunu: " << klijent.stanje_na_racunu << " kn" << endl;
cout << "Vrsta transakcije: " << klijent.vrsta_transakcije << endl;
EnQueueQ(klijent, Q);
DeQueueQ(pr);
}while(IsEmptyQ(pr) != -1);
delete pr;
};
void zatvori(red *Q){
tklijent klijent = FrontQ(Q);
DeQueueQ(Q);
if (IsEmptyQ(Q) != -1) zatvori (Q);
EnQueueQ(klijent, Q);
};
void stanje(red *Q){
red *pr = new red;
InitQ(pr);
cout << "Stanje na redu: " << endl;
do{
klijent = FrontQ(Q);
cout << "---------------------------" << endl;
cout << "Ime i prezime klijenta: " << klijent.ime_i_prezime << endl;
cout << "Godina rodenja: " << klijent.godina << endl;
cout << "Stanje na bankovnom racunu: " << klijent.stanje_na_racunu << " kn" << endl;
cout << "Vrsta transakcije: " << klijent.vrsta_transakcije << endl;
EnQueueQ(klijent, pr);
DeQueueQ(Q);
}while(IsEmptyQ(Q) != -1);
while (IsEmptyQ(pr) != -1){
klijent = FrontQ(pr);
EnQueueQ(klijent, Q);
DeQueueQ(pr);
}
delete pr;
};
int main(){
int izb;
char jos;
red *Q = new red;
InitQ(Q);
do{
cout << endl << "--Izbornik--" << endl;
cout << "1. Dodaj zapis o klijentu" << endl;
cout << "2. Pusti klijente rodene prije 1945. godine na pocetak reda" << endl;
cout << "3. Izbaci klijente iz reda koji na racunu imaju manje od 100 kn i zele kredit" << endl;
cout << "4. Zatvori jedan salter i otvoriti drugi" << endl;
cout << "9. Izlaz iz programa" << endl;
cout << "Izbor: ";
cin >> izb;
switch(izb){
case 1: do{
dodaj(Q);
cout << endl << "Novi zapis (d/n): ";
cin >> jos;
}while(jos == 'd');
break;
case 2: pusti (Q); break;
case 3: izbaci(Q);break;
case 4: zatvori(Q);
stanje(Q);break;
}
}while(izb != 9);
}
Initial URL
Initial Description
SP_Z3
Initial Title
SP_Z3_glavni_program_jz.cpp
Initial Tags
Initial Language
C++