Revision: 36494
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 22, 2010 09:07 by Nikolak
Initial Code
//Nikola Karimovic
//Strukture podataka zadatak 3
//Glavni dio programa
#include<iostream>
#include<cstring>
#include "implementacija_pokazivaci.h"
using namespace std;
int z=0;
void ispis_stanja(red *R){
tbanka b;
int broj=z;
while(broj){
b=FrontQ(R);
DeQueueQ(R);
cout<<"\n Ime i prezime klijenta : "<<b.ime_prezime<<endl;
cout<<" Godine rodjenja : "<<b.godine<<endl;
cout<<" Stanje na bankovnom racunu : "<<b.racun<<" HRK "<<endl;
cout<<" Vrsta zeljene transakcije : "<<b.transakcije<<endl;
EnQueueQ(b,R);
broj--;
}
}
void dodavanje_zapisa(red *R){
char jos = 'd';
tbanka b;
int t;
cout<<"Dodavanje klijenata u red... "<<endl;
while (jos == 'd' || jos == 'D'){
cout<<"\n Ime i prezime klijenta : ";
cin.ignore();
cin.getline(b.ime_prezime, 50);
cout<<" Godina rodjenja : ";
cin>>b.godine;
cout<<" Stanje bankovnog racuna (u HRK) : ";
cin>>b.racun;
cout<<" Odabrati vrstu transakcije : "<<endl;
cout<<" 1. Uplata/Isplata "<<endl;
cout<<" 2. Placanje racuna "<<endl;
cout<<" 3. Kredit "<<endl;
cout<<" Vas izbor : ";
cin>>t;
if(t==1) strcpy(b.transakcije, "Uplata/Isplata");
if(t==2) strcpy(b.transakcije, "Placanje racuna");
if(t==3) strcpy(b.transakcije, "Kredit");
EnQueueQ(b,R);
z++;
cout << "\nZelite dodati jos klijenata (d/n) ? ";
cin >> jos;
}
}
void pomicanje(red *R){
red *pom = InitQ(pom);
tbanka b;
int broj=z;
while(broj){
b=FrontQ(R);
DeQueueQ(R);
if(b.godine >1945)
EnQueueQ(b,pom);
else{
EnQueueQ(b,R);}
broj--;
}
while(!IsEmptyQ(pom)){
b=FrontQ(pom);
DeQueueQ(pom);
EnQueueQ(b,R);
}
ispis_stanja(R);
}
void izbacivanje(red *R){
if(IsEmptyQ(R)==0){
red *pom=InitQ(pom);
tbanka b;
int broj=z;
while(broj){
b=FrontQ(R);
DeQueueQ(R);
if(b.racun<100 && strcmp(b.transakcije, "kredit")==0 )
z--;
else EnQueueQ(b,R);
broj--;
}
ispis_stanja(R);
}
else cout<<"Red je prazan"<<endl;
}
void otvaranje(red *R){
if(IsEmptyQ(R)==0){
tbanka b;
b=FrontQ(R);
DeQueueQ(R);
if(!IsEmptyQ(R)) otvaranje(R);
EnQueueQ(b,R);
}
else cout<<"Red je prazan"<<endl;
}
int main(){
int izbor;
red *R = InitQ(R);
do{
cout<<"============IZBORNIK==============="<<endl;
cout<<"\n1. Dodavanje novih zapisa o klijentu "<<endl;
cout<<"2. Izbacivanje klijenata "<<endl;
cout<<"3. Zatvaranje/Otvaranje saltera "<<endl;
cout<<"9. Izlaz ih programa "<<endl;
cout<<" \nVas izbor ? "<<endl;
cout<<"==================================="<<endl;
cin>>izbor;
cout<<endl;
switch(izbor){
case 1: {
dodavanje_zapisa(R);
pomicanje(R);
break;
}
case 2: {
izbacivanje(R);
break;
}
case 3: {
otvaranje(R);
ispis_stanja(R);
break;
}
case 9: { cout<<" Izlazim iz programa "<<endl;
break;
}
default: cout<<" Pogresan unos ! "<<endl;
break;
}
}while(izbor!=9);
system("pause");
return 0;
}
Initial URL
Initial Description
Initial Title
Strukture podataka zadatak 3 main
Initial Tags
Initial Language
C++