Revision: 36442
Updated Code
at November 24, 2010 10:52 by FilipJ
Updated Code
#############################################################################
#################################red_polje.h#################################
#############################################################################
#include<iostream>
using namespace std;
struct zapis{
char prezime[20];
char ime[20];
int god;
float stanje;
char vrsta_transakcije;
};
struct qu{
zapis elements[10000];
int front,rear;
};
typedef qu red;
int AddOne(int n){
return((n+1)%10000);
}//fjas
zapis FrontQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
cout << "Red je pun" << endl;
}
return (*Q).elements[(*Q).front];
}//fja
void EnQueueQ(zapis x, red *Q){
(*Q).rear=AddOne((*Q).rear);
(*Q).elements[(*Q).rear] = x;
}//fja
void DeQueueQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
cout << "Red je pun" << endl;
}
(*Q).front=AddOne((*Q).front);
}//fja
void InitQ(red *Q){
(*Q).rear=9999;
(*Q).front=0;
}//fja
bool IsEmptyQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
return true;
}
else {
return false;
}
}//fja
#############################################################################
################################zadatak3.cpp#################################
#############################################################################
#include<iostream>
#include "red_polje.h"
using namespace std;
zapis klijent;
int br=0;
void dodavanje_zapisa(qu *Q){
cout << "Unesite ime: ";
cin >> klijent.ime;
cout << endl << "Unesite prezime: ";
cin >> klijent.prezime;
cout << endl << "Godina rodjenja: ";
cin >> klijent.god;
cout << endl << "Stanje na bankovnom racunu (kn): ";
cin >> klijent.stanje;
cout << endl << "Vrsta transakcije (u/i,p,k): ";
cin >> klijent.vrsta_transakcije;
cout << endl;
EnQueueQ(klijent, Q);
br++;
}
void ispis(qu *Q, qu *trenutni){
zapis klijent;
while(!IsEmptyQ(Q)){
klijent=FrontQ(Q);
DeQueueQ(Q);
cout << "Ime: " << klijent.ime << endl;
cout << "Prezime: " << klijent.prezime << endl;
cout << "Godiste: " << klijent.god << endl;
cout << "Stanje na racunu: " << klijent.stanje << endl;
cout << "Vrsta transakcije: " << klijent.vrsta_transakcije << endl;
cout << "----------------------------" << endl;
///////
EnQueueQ(klijent, trenutni);
}//while
while(!IsEmptyQ(trenutni)){
klijent=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(klijent, Q);
}//while
}//fja
void provjera(qu *Q, qu *trenutni){
zapis pom;
int jos=br;
while(jos){
pom=FrontQ(Q);
DeQueueQ(Q);
if(pom.god < 1945) {
EnQueueQ(pom, Q);
}//if
else {
EnQueueQ(pom, trenutni);
}//else
jos--;
}//while
while(!IsEmptyQ(trenutni)){
pom=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(pom, Q);
}//while
ispis(Q,trenutni);
}//fja
void brisanje(qu *Q, qu *trenutni){
zapis klijent;
int jos=br;
while(jos){
klijent=FrontQ(Q);
DeQueueQ(Q);
if(klijent.stanje > 100 || klijent.vrsta_transakcije=='u' || klijent.vrsta_transakcije=='p'){
EnQueueQ(klijent, trenutni);
}//if
jos--;
}//while
while(!IsEmptyQ(trenutni)){
klijent=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(klijent, Q);
}//while
ispis(Q,trenutni);
}//fja
void otvaranje_zatvaranje(qu *Q){
zapis klijent;
klijent=FrontQ(Q);
DeQueueQ(Q);
if(!IsEmptyQ(Q)){
otvaranje_zatvaranje(Q); }//if
EnQueueQ(klijent, Q);
}//fja
int main(){
int izbor;
qu q;
InitQ(&q);
qu trenutni;
InitQ(&trenutni);
cout << endl;
do{
cout << "---------------IZBORNIK--------------" << endl;
cout << "1. Dodavanje zapisa o klinetima u red" << endl;
cout << "2. Ispis starijih od 65 na pocetak reda" << endl;
cout << "3. Izbacivanje klijenata (stanje < 100kn)" << endl;
cout << "4. Simulacija saltera u banci" << endl;
cout << "9. Izlaz iz programa" << endl;
cout << "--------------------------------------" << endl;
cout << "Unesite vas izbor: ";
cin >> izbor;
cout << endl;
switch(izbor){
case 1:
dodavanje_zapisa(&q);
break;
case 2: provjera(&q,&trenutni);
break;
case 3: brisanje(&q,&trenutni);
break;
case 4: otvaranje_zatvaranje(&q);
ispis(&q,&trenutni);
break;
}//switch
}while(izbor!=9);
system("PAUSE");
return 0;
}
Revision: 36441
Updated Code
at November 22, 2010 07:05 by FilipJ
Updated Code
#############################################################################
#################################red_polje.h#################################
#############################################################################
#include<iostream>
using namespace std;
struct zapis{
char prezime[20];
char ime[20];
int god;
float stanje;
char vrsta_transakcije;
};
struct qu{
zapis elements[10000];
int front,rear;
};
typedef qu red;
int AddOne(int n){
return((n+1)%10000);
}//fjas
zapis FrontQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
cout << "Red je prazan" << endl;
}
return (*Q).elements[(*Q).front];
}//fja
void EnQueueQ(zapis x, red *Q){
(*Q).rear=AddOne((*Q).rear);
(*Q).elements[(*Q).rear] = x;
}//fja
void DeQueueQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
cout << "Red je prazan" << endl;
}
(*Q).front=AddOne((*Q).front);
}//fja
void InitQ(red *Q){
(*Q).rear=9999;
(*Q).front=0;
}//fja
bool IsEmptyQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
return true;
}
else {
return false;
}
}//fja
#############################################################################
################################zadatak3.cpp#################################
#############################################################################
#include<iostream>
#include "red_polje.h"
using namespace std;
zapis klijent;
int br=0;
void dodavanje_zapisa(qu *Q){
cout << "Unesite ime: ";
cin >> klijent.ime;
cout << endl << "Unesite prezime: ";
cin >> klijent.prezime;
cout << endl << "Godina rodjenja: ";
cin >> klijent.god;
cout << endl << "Stanje na bankovnom racunu (kn): ";
cin >> klijent.stanje;
cout << endl << "Vrsta transakcije (u/i,p,k): ";
cin >> klijent.vrsta_transakcije;
cout << endl;
EnQueueQ(klijent, Q);
br++;
}
void ispis(qu *Q, qu *trenutni){
zapis klijent;
while(!IsEmptyQ(Q)){
klijent=FrontQ(Q);
DeQueueQ(Q);
cout << "Ime: " << klijent.ime << endl;
cout << "Prezime: " << klijent.prezime << endl;
cout << "Godiste: " << klijent.god << endl;
cout << "Stanje na racunu: " << klijent.stanje << endl;
cout << "Vrsta transakcije: " << klijent.vrsta_transakcije << endl;
cout << "----------------------------" << endl;
///////
EnQueueQ(klijent, trenutni);
}//while
while(!IsEmptyQ(trenutni)){
klijent=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(klijent, Q);
}//while
}//fja
void provjera(qu *Q, qu *trenutni){
zapis pom;
int jos=br;
while(jos){
pom=FrontQ(Q);
DeQueueQ(Q);
if(pom.god < 1945) {
EnQueueQ(pom, Q);
}//if
else {
EnQueueQ(pom, trenutni);
}//else
jos--;
}//while
while(!IsEmptyQ(trenutni)){
pom=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(pom, Q);
}//while
ispis(Q,trenutni);
}//fja
void brisanje(qu *Q, qu *trenutni){
zapis klijent;
int jos=br;
while(jos){
klijent=FrontQ(Q);
DeQueueQ(Q);
if(klijent.stanje > 100 || klijent.vrsta_transakcije=='u' || klijent.vrsta_transakcije=='p'){
EnQueueQ(klijent, trenutni);
}//if
jos--;
}//while
while(!IsEmptyQ(trenutni)){
klijent=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(klijent, Q);
}//while
ispis(Q,trenutni);
}//fja
void otvaranje_zatvaranje(qu *Q){
zapis klijent;
klijent=FrontQ(Q);
DeQueueQ(Q);
if(!IsEmptyQ(Q)){
otvaranje_zatvaranje(Q); }//if
EnQueueQ(klijent, Q);
}//fja
int main(){
int izbor;
qu q;
InitQ(&q);
qu trenutni;
InitQ(&trenutni);
cout << endl;
do{
cout << "---------------IZBORNIK--------------" << endl;
cout << "1. Dodavanje zapisa o klinetima u red" << endl;
cout << "2. Ispis starijih od 65 na pocetak reda" << endl;
cout << "3. Izbacivanje klijenata (stanje < 100kn)" << endl;
cout << "4. Simulacija saltera u banci" << endl;
cout << "9. Izlaz iz programa" << endl;
cout << "--------------------------------------" << endl;
cout << "Unesite vas izbor: ";
cin >> izbor;
cout << endl;
switch(izbor){
case 1:
dodavanje_zapisa(&q);
break;
case 2: provjera(&q,&trenutni);
break;
case 3: brisanje(&q,&trenutni);
break;
case 4: otvaranje_zatvaranje(&q);
ispis(&q,&trenutni);
break;
}//switch
}while(izbor!=9);
system("PAUSE");
return 0;
}
Revision: 36440
Updated Code
at November 22, 2010 02:26 by FilipJ
Updated Code
#############################################################################
#################################red_polje.h#################################
#############################################################################
#include<iostream>
using namespace std;
struct zapis{
char prezime[20];
char ime[20];
int god;
float stanje;
char vrsta_transakcije;
};
struct qu{
zapis elements[10000];
int front,rear;
};
typedef qu red;
int AddOne(int n){
return((n+1)%10000);
}//fjas
zapis FrontQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
cout << "Red je prazan" << endl;
}
return (*Q).elements[(*Q).front];
}//fja
void EnQueueQ(zapis x, red *Q){
(*Q).rear=AddOne((*Q).rear);
(*Q).elements[(*Q).rear] = x;
}//fja
void DeQueueQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
cout << "Red je prazan" << endl;
}
(*Q).front=AddOne((*Q).front);
}//fja
void InitQ(red *Q){
(*Q).rear=9999;
(*Q).front=0;
}//fja
bool IsEmptyQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
return true;
}
else {
return false;
}
}//fja
#############################################################################
################################zadatak3.cpp#################################
#############################################################################
#include<iostream>
#include "red_polje.h"
using namespace std;
zapis klijent;
int br=0;
void dodavanje_zapisa(qu *Q){
cout << "Unesite ime: ";
cin >> klijent.ime;
cout << endl << "Unesite prezime: ";
cin >> klijent.prezime;
cout << endl << "Godina rodjenja: ";
cin >> klijent.god;
cout << endl << "Stanje na bankovnom racunu (kn): ";
cin >> klijent.stanje;
cout << endl << "Vrsta transakcije (u/i,p,k): ";
cin >> klijent.vrsta_transakcije;
cout << endl;
EnQueueQ(klijent, Q);
br++;
}
void ispis(qu *Q, qu *trenutni){
zapis klijent;
while(!IsEmptyQ(Q)){
klijent=FrontQ(Q);
DeQueueQ(Q);
cout << "Ime: " << klijent.ime << endl;
cout << "Prezime: " << klijent.prezime << endl;
cout << "Godiste: " << klijent.god << endl;
cout << "Stanje na racunu: " << klijent.stanje << endl;
cout << "Vrsta transakcije: " << klijent.vrsta_transakcije << endl;
cout << "----------------------------" << endl;
///////
EnQueueQ(klijent, trenutni);
}//while
while(!IsEmptyQ(trenutni)){
klijent=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(klijent, Q);
}//while
}//fja
void provjera(qu *Q, qu *trenutni){
zapis pom;
int jos=br;
while(jos){
pom=FrontQ(Q);
DeQueueQ(Q);
if(pom.god < 1945) {
EnQueueQ(pom, Q);
}//if
else {
EnQueueQ(pom, trenutni);
}//else
jos--;
}//while
while(!IsEmptyQ(trenutni)){
pom=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(pom, Q);
}//while
ispis(Q,trenutni);
}//fja
void brisanje(qu *Q, qu *trenutni){
zapis klijent;
int jos=br;
while(jos){
klijent=FrontQ(Q);
DeQueueQ(Q);
if(klijent.stanje > 100 || klijent.vrsta_transakcije=='u' || klijent.vrsta_transakcije=='p'){
EnQueueQ(klijent, trenutni);
}//if
jos--;
}//while
while(!IsEmptyQ(trenutni)){
klijent=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(klijent, Q);
}//while
ispis(Q,trenutni);
}//fja
void otvaranje_zatvaranje(qu *Q){
zapis klijent;
klijent=FrontQ(Q);
DeQueueQ(Q);
if(!IsEmptyQ(Q)){
otvaranje_zatvaranje(Q); }//if
EnQueueQ(klijent, Q);
}//fja
int main(){
int izbor;
qu q;
InitQ(&q);
qu trenutni;
InitQ(&trenutni);
cout << endl;
cout << "===================NAPOMENA=================" << endl;
cout << "Za svaku novu tocku (2,3,4), molim ponovo pokrenut program" << endl;
cout << "============================================" << endl;
cout << endl;
do{
cout << "---------------IZBORNIK--------------" << endl;
cout << "1. Dodavanje zapisa o klinetima u red" << endl;
cout << "2. Ispis starijih od 65 na pocetak reda" << endl;
cout << "3. Izbacivanje klijenata (stanje < 100kn)" << endl;
cout << "4. Simulacija saltera u banci" << endl;
cout << "9. Izlaz iz programa" << endl;
cout << "--------------------------------------" << endl;
cout << "Unesite vas izbor: ";
cin >> izbor;
cout << endl;
switch(izbor){
case 1:
dodavanje_zapisa(&q);
break;
case 2: provjera(&q,&trenutni);
break;
case 3: brisanje(&q,&trenutni);
break;
case 4: otvaranje_zatvaranje(&q);
ispis(&q,&trenutni);
break;
}//switch
}while(izbor!=9);
system("PAUSE");
return 0;
}
Revision: 36439
Updated Code
at November 22, 2010 02:24 by FilipJ
Updated Code
#############################################################################
#############################################################################
//red_polje.h
#include<iostream>
using namespace std;
struct zapis{
char prezime[20];
char ime[20];
int god;
float stanje;
char vrsta_transakcije;
};
struct qu{
zapis elements[10000];
int front,rear;
};
typedef qu red;
int AddOne(int n){
return((n+1)%10000);
}//fjas
zapis FrontQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
cout << "Red je prazan" << endl;
}
return (*Q).elements[(*Q).front];
}//fja
void EnQueueQ(zapis x, red *Q){
(*Q).rear=AddOne((*Q).rear);
(*Q).elements[(*Q).rear] = x;
}//fja
void DeQueueQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
cout << "Red je prazan" << endl;
}
(*Q).front=AddOne((*Q).front);
}//fja
void InitQ(red *Q){
(*Q).rear=9999;
(*Q).front=0;
}//fja
bool IsEmptyQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
return true;
}
else {
return false;
}
}//fja
#############################################################################
#############################################################################
//glavni program
#include<iostream>
#include "red_polje.h"
using namespace std;
zapis klijent;
int br=0;
void dodavanje_zapisa(qu *Q){
cout << "Unesite ime: ";
cin >> klijent.ime;
cout << endl << "Unesite prezime: ";
cin >> klijent.prezime;
cout << endl << "Godina rodjenja: ";
cin >> klijent.god;
cout << endl << "Stanje na bankovnom racunu (kn): ";
cin >> klijent.stanje;
cout << endl << "Vrsta transakcije (u/i,p,k): ";
cin >> klijent.vrsta_transakcije;
cout << endl;
EnQueueQ(klijent, Q);
br++;
}
void ispis(qu *Q, qu *trenutni){
zapis klijent;
while(!IsEmptyQ(Q)){
klijent=FrontQ(Q);
DeQueueQ(Q);
cout << "Ime: " << klijent.ime << endl;
cout << "Prezime: " << klijent.prezime << endl;
cout << "Godiste: " << klijent.god << endl;
cout << "Stanje na racunu: " << klijent.stanje << endl;
cout << "Vrsta transakcije: " << klijent.vrsta_transakcije << endl;
cout << "----------------------------" << endl;
///////
EnQueueQ(klijent, trenutni);
}//while
while(!IsEmptyQ(trenutni)){
klijent=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(klijent, Q);
}//while
}//fja
void provjera(qu *Q, qu *trenutni){
zapis pom;
int jos=br;
while(jos){
pom=FrontQ(Q);
DeQueueQ(Q);
if(pom.god < 1945) {
EnQueueQ(pom, Q);
}//if
else {
EnQueueQ(pom, trenutni);
}//else
jos--;
}//while
while(!IsEmptyQ(trenutni)){
pom=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(pom, Q);
}//while
ispis(Q,trenutni);
}//fja
void brisanje(qu *Q, qu *trenutni){
zapis klijent;
int jos=br;
while(jos){
klijent=FrontQ(Q);
DeQueueQ(Q);
if(klijent.stanje > 100 || klijent.vrsta_transakcije=='u' || klijent.vrsta_transakcije=='p'){
EnQueueQ(klijent, trenutni);
}//if
jos--;
}//while
while(!IsEmptyQ(trenutni)){
klijent=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(klijent, Q);
}//while
ispis(Q,trenutni);
}//fja
void otvaranje_zatvaranje(qu *Q){
zapis klijent;
klijent=FrontQ(Q);
DeQueueQ(Q);
if(!IsEmptyQ(Q)){
otvaranje_zatvaranje(Q); }//if
EnQueueQ(klijent, Q);
}//fja
int main(){
int izbor;
qu q;
InitQ(&q);
qu trenutni;
InitQ(&trenutni);
cout << endl;
cout << "===================NAPOMENA=================" << endl;
cout << "Za svaku novu tocku (2,3,4), molim ponovo pokrenut program" << endl;
cout << "============================================" << endl;
cout << endl;
do{
cout << "---------------IZBORNIK--------------" << endl;
cout << "1. Dodavanje zapisa o klinetima u red" << endl;
cout << "2. Ispis starijih od 65 na pocetak reda" << endl;
cout << "3. Izbacivanje klijenata (stanje < 100kn)" << endl;
cout << "4. Simulacija saltera u banci" << endl;
cout << "9. Izlaz iz programa" << endl;
cout << "--------------------------------------" << endl;
cout << "Unesite vas izbor: ";
cin >> izbor;
cout << endl;
switch(izbor){
case 1:
dodavanje_zapisa(&q);
break;
case 2: provjera(&q,&trenutni);
break;
case 3: brisanje(&q,&trenutni);
break;
case 4: otvaranje_zatvaranje(&q);
ispis(&q,&trenutni);
break;
}//switch
}while(izbor!=9);
system("PAUSE");
return 0;
}
Revision: 36438
Updated Code
at November 22, 2010 02:23 by FilipJ
Updated Code
#
#############################################################################
#
#############################################################################
#
//red_polje.h
#include<iostream>
using namespace std;
struct zapis{
char prezime[20];
char ime[20];
int god;
float stanje;
char vrsta_transakcije;
};
struct qu{
zapis elements[10000];
int front,rear;
};
typedef qu red;
int AddOne(int n){
return((n+1)%10000);
}//fjas
zapis FrontQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
cout << "Red je prazan" << endl;
}
return (*Q).elements[(*Q).front];
}//fja
void EnQueueQ(zapis x, red *Q){
(*Q).rear=AddOne((*Q).rear);
(*Q).elements[(*Q).rear] = x;
}//fja
void DeQueueQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
cout << "Red je prazan" << endl;
}
(*Q).front=AddOne((*Q).front);
}//fja
void InitQ(red *Q){
(*Q).rear=9999;
(*Q).front=0;
}//fja
bool IsEmptyQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
return true;
}
else {
return false;
}
}//fja
#############################################################################
#############################################################################
//glavni program
#include<iostream>
#include "red_polje.h"
using namespace std;
zapis klijent;
int br=0;
void dodavanje_zapisa(qu *Q){
cout << "Unesite ime: ";
cin >> klijent.ime;
cout << endl << "Unesite prezime: ";
cin >> klijent.prezime;
cout << endl << "Godina rodjenja: ";
cin >> klijent.god;
cout << endl << "Stanje na bankovnom racunu (kn): ";
cin >> klijent.stanje;
cout << endl << "Vrsta transakcije (u/i,p,k): ";
cin >> klijent.vrsta_transakcije;
cout << endl;
EnQueueQ(klijent, Q);
br++;
}
void ispis(qu *Q, qu *trenutni){
zapis klijent;
while(!IsEmptyQ(Q)){
klijent=FrontQ(Q);
DeQueueQ(Q);
cout << "Ime: " << klijent.ime << endl;
cout << "Prezime: " << klijent.prezime << endl;
cout << "Godiste: " << klijent.god << endl;
cout << "Stanje na racunu: " << klijent.stanje << endl;
cout << "Vrsta transakcije: " << klijent.vrsta_transakcije << endl;
cout << "----------------------------" << endl;
///////
EnQueueQ(klijent, trenutni);
}//while
while(!IsEmptyQ(trenutni)){
klijent=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(klijent, Q);
}//while
}//fja
void provjera(qu *Q, qu *trenutni){
zapis pom;
int jos=br;
while(jos){
pom=FrontQ(Q);
DeQueueQ(Q);
if(pom.god < 1945) {
EnQueueQ(pom, Q);
}//if
else {
EnQueueQ(pom, trenutni);
}//else
jos--;
}//while
while(!IsEmptyQ(trenutni)){
pom=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(pom, Q);
}//while
ispis(Q,trenutni);
}//fja
void brisanje(qu *Q, qu *trenutni){
zapis klijent;
int jos=br;
while(jos){
klijent=FrontQ(Q);
DeQueueQ(Q);
if(klijent.stanje > 100 || klijent.vrsta_transakcije=='u' || klijent.vrsta_transakcije=='p'){
EnQueueQ(klijent, trenutni);
}//if
jos--;
}//while
while(!IsEmptyQ(trenutni)){
klijent=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(klijent, Q);
}//while
ispis(Q,trenutni);
}//fja
void otvaranje_zatvaranje(qu *Q){
zapis klijent;
klijent=FrontQ(Q);
DeQueueQ(Q);
if(!IsEmptyQ(Q)){
otvaranje_zatvaranje(Q); }//if
EnQueueQ(klijent, Q);
}//fja
int main(){
int izbor;
qu q;
InitQ(&q);
qu trenutni;
InitQ(&trenutni);
cout << endl;
cout << "===================NAPOMENA=================" << endl;
cout << "Za svaku novu tocku (2,3,4), molim ponovo pokrenut program" << endl;
cout << "============================================" << endl;
cout << endl;
do{
cout << "---------------IZBORNIK--------------" << endl;
cout << "1. Dodavanje zapisa o klinetima u red" << endl;
cout << "2. Ispis starijih od 65 na pocetak reda" << endl;
cout << "3. Izbacivanje klijenata (stanje < 100kn)" << endl;
cout << "4. Simulacija saltera u banci" << endl;
cout << "9. Izlaz iz programa" << endl;
cout << "--------------------------------------" << endl;
cout << "Unesite vas izbor: ";
cin >> izbor;
cout << endl;
switch(izbor){
case 1:
dodavanje_zapisa(&q);
break;
case 2: provjera(&q,&trenutni);
break;
case 3: brisanje(&q,&trenutni);
break;
case 4: otvaranje_zatvaranje(&q);
ispis(&q,&trenutni);
break;
}//switch
}while(izbor!=9);
system("PAUSE");
return 0;
}
Revision: 36437
Updated Code
at November 22, 2010 02:22 by FilipJ
Updated Code
#include<iostream>
using namespace std;
struct zapis{
char prezime[20];
char ime[20];
int god;
float stanje;
char vrsta_transakcije;
};
struct qu{
zapis elements[10000];
int front,rear;
};
typedef qu red;
int AddOne(int n){
return((n+1)%10000);
}//fjas
zapis FrontQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
cout << "Red je prazan" << endl;
}
return (*Q).elements[(*Q).front];
}//fja
void EnQueueQ(zapis x, red *Q){
(*Q).rear=AddOne((*Q).rear);
(*Q).elements[(*Q).rear] = x;
}//fja
void DeQueueQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
cout << "Red je prazan" << endl;
}
(*Q).front=AddOne((*Q).front);
}//fja
void InitQ(red *Q){
(*Q).rear=9999;
(*Q).front=0;
}//fja
bool IsEmptyQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
return true;
}
else {
return false;
}
}//fja
#############################################################################
#############################################################################
//glavni program
#include<iostream>
#include "red_polje.h"
using namespace std;
zapis klijent;
int br=0;
void dodavanje_zapisa(qu *Q){
cout << "Unesite ime: ";
cin >> klijent.ime;
cout << endl << "Unesite prezime: ";
cin >> klijent.prezime;
cout << endl << "Godina rodjenja: ";
cin >> klijent.god;
cout << endl << "Stanje na bankovnom racunu (kn): ";
cin >> klijent.stanje;
cout << endl << "Vrsta transakcije (u/i,p,k): ";
cin >> klijent.vrsta_transakcije;
cout << endl;
EnQueueQ(klijent, Q);
br++;
}
void ispis(qu *Q, qu *trenutni){
zapis klijent;
while(!IsEmptyQ(Q)){
klijent=FrontQ(Q);
DeQueueQ(Q);
cout << "Ime: " << klijent.ime << endl;
cout << "Prezime: " << klijent.prezime << endl;
cout << "Godiste: " << klijent.god << endl;
cout << "Stanje na racunu: " << klijent.stanje << endl;
cout << "Vrsta transakcije: " << klijent.vrsta_transakcije << endl;
cout << "----------------------------" << endl;
///////
EnQueueQ(klijent, trenutni);
}//while
while(!IsEmptyQ(trenutni)){
klijent=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(klijent, Q);
}//while
}//fja
void provjera(qu *Q, qu *trenutni){
zapis pom;
int jos=br;
while(jos){
pom=FrontQ(Q);
DeQueueQ(Q);
if(pom.god < 1945) {
EnQueueQ(pom, Q);
}//if
else {
EnQueueQ(pom, trenutni);
}//else
jos--;
}//while
while(!IsEmptyQ(trenutni)){
pom=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(pom, Q);
}//while
ispis(Q,trenutni);
}//fja
void brisanje(qu *Q, qu *trenutni){
zapis klijent;
int jos=br;
while(jos){
klijent=FrontQ(Q);
DeQueueQ(Q);
if(klijent.stanje > 100 || klijent.vrsta_transakcije=='u' || klijent.vrsta_transakcije=='p'){
EnQueueQ(klijent, trenutni);
}//if
jos--;
}//while
while(!IsEmptyQ(trenutni)){
klijent=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(klijent, Q);
}//while
ispis(Q,trenutni);
}//fja
void otvaranje_zatvaranje(qu *Q){
zapis klijent;
klijent=FrontQ(Q);
DeQueueQ(Q);
if(!IsEmptyQ(Q)){
otvaranje_zatvaranje(Q); }//if
EnQueueQ(klijent, Q);
}//fja
int main(){
int izbor;
qu q;
InitQ(&q);
qu trenutni;
InitQ(&trenutni);
cout << endl;
cout << "===================NAPOMENA=================" << endl;
cout << "Za svaku novu tocku (2,3,4), molim ponovo pokrenut program" << endl;
cout << "============================================" << endl;
cout << endl;
do{
cout << "---------------IZBORNIK--------------" << endl;
cout << "1. Dodavanje zapisa o klinetima u red" << endl;
cout << "2. Ispis starijih od 65 na pocetak reda" << endl;
cout << "3. Izbacivanje klijenata (stanje < 100kn)" << endl;
cout << "4. Simulacija saltera u banci" << endl;
cout << "9. Izlaz iz programa" << endl;
cout << "--------------------------------------" << endl;
cout << "Unesite vas izbor: ";
cin >> izbor;
cout << endl;
switch(izbor){
case 1:
dodavanje_zapisa(&q);
break;
case 2: provjera(&q,&trenutni);
break;
case 3: brisanje(&q,&trenutni);
break;
case 4: otvaranje_zatvaranje(&q);
ispis(&q,&trenutni);
break;
}//switch
}while(izbor!=9);
system("PAUSE");
return 0;
}
Revision: 36436
Updated Code
at November 22, 2010 01:30 by FilipJ
Updated Code
#include<iostream>
using namespace std;
struct zapis{
char prezime[20];
char ime[20];
int god;
float stanje;
char vrsta_transakcije;
};
struct qu{
zapis elements[10000];
int front,rear;
};
typedef qu red;
int AddOne(int n){
return((n+1)%10000);
}//fjas
zapis FrontQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
cout << "Red je prazan" << endl;
}
return (*Q).elements[(*Q).front];
}//fja
void EnQueueQ(zapis x, red *Q){
(*Q).rear=AddOne((*Q).rear);
(*Q).elements[(*Q).rear] = x;
}//fja
void DeQueueQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
cout << "Red je prazan" << endl;
}
(*Q).front=AddOne((*Q).front);
}//fja
void InitQ(red *Q){
(*Q).rear=9999;
(*Q).front=0;
}//fja
bool IsEmptyQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
return true;
}
else {
return false;
}
}//fja
#############################################################################
#############################################################################
//glavni program
#include<iostream>
#include "red_polje.h"
using namespace std;
zapis klijent;
int br=0;
void dodavanje_zapisa(qu *Q){
cout << "Unesite ime: ";
cin >> klijent.ime;
cout << endl << "Unesite prezime: ";
cin >> klijent.prezime;
cout << endl << "Godina rodjenja: ";
cin >> klijent.god;
cout << endl << "Stanje na bankovnom racunu (kn): ";
cin >> klijent.stanje;
cout << endl << "Vrsta transakcije (u/i,p,k): ";
cin >> klijent.vrsta_transakcije;
cout << endl;
EnQueueQ(klijent, Q);
br++;
}
void ispis(qu *Q){
zapis klijent;
while(!IsEmptyQ(Q)){
klijent=FrontQ(Q);
DeQueueQ(Q);
cout << "Ime: " << klijent.ime << endl;
cout << "Prezime: " << klijent.prezime << endl;
cout << "Godiste: " << klijent.god << endl;
cout << "Stanje na racunu: " << klijent.stanje << endl;
cout << "Vrsta transakcije: " << klijent.vrsta_transakcije << endl;
cout << "----------------------------" << endl;
}//while
}//fja
void provjera(qu *Q, qu *trenutni){
zapis pom;
int jos=br;
while(jos){ //dok ima zapisa
pom=FrontQ(Q);
DeQueueQ(Q);
if(pom.god < 1945) {
EnQueueQ(pom, Q);
}//if
else {
EnQueueQ(pom, trenutni);
}//else
jos--;
}//while
while(!IsEmptyQ(trenutni)){
pom=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(pom, Q);
}//while
ispis(Q);
}//fja
void brisanje(qu *Q, qu *trenutni){
zapis klijent;
int jos=br;
while(jos){
klijent=FrontQ(Q);
DeQueueQ(Q);
if(klijent.stanje > 100 || klijent.vrsta_transakcije=='u' || klijent.vrsta_transakcije=='p'){
EnQueueQ(klijent, trenutni);
}//if
jos--;
}//while
while(!IsEmptyQ(trenutni)){
klijent=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(klijent, Q);
}//while
ispis(Q);
}//fja
void otvaranje_zatvaranje(qu *Q){
zapis klijent;
klijent=FrontQ(Q);
DeQueueQ(Q);
if(!IsEmptyQ(Q)){
otvaranje_zatvaranje(Q); }//if
EnQueueQ(klijent, Q);
}//fja
int main(){
int izbor;
qu q;
InitQ(&q);
qu trenutni;
InitQ(&trenutni);
cout << endl;
cout << "===================NAPOMENA=================" << endl;
cout << "Za svaku novu tocku (2,3,4), molim ponovo pokrenut program" << endl;
cout << "============================================" << endl;
cout << endl;
do{
cout << "---------------IZBORNIK--------------" << endl;
cout << "1. Dodavanje zapisa o klinetima u red" << endl;
cout << "2. Ispis starijih od 65 na pocetak reda" << endl;
cout << "3. Izbacivanje klijenata (stanje < 100kn)" << endl;
cout << "4. Simulacija saltera u banci" << endl;
cout << "9. Izlaz iz programa" << endl;
cout << "--------------------------------------" << endl;
cout << "Unesite vas izbor: ";
cin >> izbor;
cout << endl;
switch(izbor){
case 1:
dodavanje_zapisa(&q);
break;
case 2: provjera(&q,&trenutni);
break;
case 3: brisanje(&q,&trenutni);
break;
case 4: otvaranje_zatvaranje(&q);
ispis(&q);
break;
}//switch
}while(izbor!=9);
system("PAUSE");
return 0;
}
Revision: 36435
Updated Code
at November 22, 2010 01:29 by FilipJ
Updated Code
#include<iostream>
using namespace std;
struct zapis{
char prezime[20];
char ime[20];
int god;
float stanje;
char vrsta_transakcije;
};
struct qu{
zapis elements[10000];
int front,rear; //FRONT prvi izlazi, REAR upisuje (ulazi) se prvi
};
typedef qu red;
int AddOne(int n){
return((n+1)%10000);
}//fjas
zapis FrontQ(red *Q){ //vraca vrijednost prvo na redu
if(AddOne((*Q).rear)==(*Q).front){
cout << "Red je prazan" << endl;
}
return (*Q).elements[(*Q).front];
}//fja
void EnQueueQ(zapis x, red *Q){
(*Q).rear=AddOne((*Q).rear);
(*Q).elements[(*Q).rear] = x;
}//fja
void DeQueueQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
cout << "Red je prazan" << endl;
}
(*Q).front=AddOne((*Q).front); //Addone -> jer po��inje od praznog elementa
}//fja
void InitQ(red *Q){
(*Q).rear=9999;
(*Q).front=0;
}//fja
bool IsEmptyQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
return true;
}
else {
return false;
}
}//fja
#############################################################################
#############################################################################
//glavni program
#include<iostream>
#include "red_polje.h"
using namespace std;
zapis klijent;
int br=0;
void dodavanje_zapisa(qu *Q){
cout << "Unesite ime: ";
cin >> klijent.ime;
cout << endl << "Unesite prezime: ";
cin >> klijent.prezime;
cout << endl << "Godina rodjenja: ";
cin >> klijent.god;
cout << endl << "Stanje na bankovnom racunu (kn): ";
cin >> klijent.stanje;
cout << endl << "Vrsta transakcije (u/i,p,k): ";
cin >> klijent.vrsta_transakcije;
cout << endl;
EnQueueQ(klijent, Q);
br++;
}
void ispis(qu *Q){
zapis klijent;
while(!IsEmptyQ(Q)){
klijent=FrontQ(Q);
DeQueueQ(Q);
cout << "Ime: " << klijent.ime << endl;
cout << "Prezime: " << klijent.prezime << endl;
cout << "Godiste: " << klijent.god << endl;
cout << "Stanje na racunu: " << klijent.stanje << endl;
cout << "Vrsta transakcije: " << klijent.vrsta_transakcije << endl;
cout << "----------------------------" << endl;
}//while
}//fja
void provjera(qu *Q, qu *trenutni){
zapis pom;
int jos=br;
while(jos){ //dok ima zapisa
pom=FrontQ(Q);
DeQueueQ(Q);
if(pom.god < 1945) {
EnQueueQ(pom, Q);
}//if
else {
EnQueueQ(pom, trenutni);
}//else
jos--;
}//while
while(!IsEmptyQ(trenutni)){
pom=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(pom, Q);
}//while
ispis(Q);
}//fja
void brisanje(qu *Q, qu *trenutni){
zapis klijent;
int jos=br;
while(jos){
klijent=FrontQ(Q);
DeQueueQ(Q);
if(klijent.stanje > 100 || klijent.vrsta_transakcije=='u' || klijent.vrsta_transakcije=='p'){
EnQueueQ(klijent, trenutni);
}//if
jos--;
}//while
while(!IsEmptyQ(trenutni)){
klijent=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(klijent, Q);
}//while
ispis(Q);
}//fja
void otvaranje_zatvaranje(qu *Q){
zapis klijent;
klijent=FrontQ(Q);
DeQueueQ(Q);
if(!IsEmptyQ(Q)){
otvaranje_zatvaranje(Q); }//if
EnQueueQ(klijent, Q);
}//fja
int main(){
int izbor;
qu q;
InitQ(&q);
qu trenutni;
InitQ(&trenutni);
cout << endl;
cout << "===================NAPOMENA=================" << endl;
cout << "Za svaku novu tocku (2,3,4), molim ponovo pokrenut program" << endl;
cout << "============================================" << endl;
cout << endl;
do{
cout << "---------------IZBORNIK--------------" << endl;
cout << "1. Dodavanje zapisa o klinetima u red" << endl;
cout << "2. Ispis starijih od 65 na pocetak reda" << endl;
cout << "3. Izbacivanje klijenata (stanje < 100kn)" << endl;
cout << "4. Simulacija saltera u banci" << endl;
cout << "9. Izlaz iz programa" << endl;
cout << "--------------------------------------" << endl;
cout << "Unesite vas izbor: ";
cin >> izbor;
cout << endl;
switch(izbor){
case 1:
dodavanje_zapisa(&q);
break;
case 2: provjera(&q,&trenutni);
break;
case 3: brisanje(&q,&trenutni);
break;
case 4: otvaranje_zatvaranje(&q);
ispis(&q);
break;
}//switch
}while(izbor!=9);
system("PAUSE");
return 0;
}
Revision: 36434
Updated Code
at November 22, 2010 01:28 by FilipJ
Updated Code
#include<iostream>
using namespace std;
struct zapis{
char prezime[20];
char ime[20];
int god;
float stanje;
char vrsta_transakcije;
};
struct qu{
zapis elements[10000];
int front,rear; //FRONT prvi izlazi, REAR upisuje (ulazi) se prvi
};
typedef qu red;
int AddOne(int n){
return((n+1)%10000);
}//fjas
zapis FrontQ(red *Q){ //vraca vrijednost prvo na redu
if(AddOne((*Q).rear)==(*Q).front){
cout << "Red je prazan" << endl;
}
return (*Q).elements[(*Q).front];
}//fja
void EnQueueQ(zapis x, red *Q){
(*Q).rear=AddOne((*Q).rear);
(*Q).elements[(*Q).rear] = x;
}//fja
void DeQueueQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
cout << "Red je prazan" << endl;
}
(*Q).front=AddOne((*Q).front); //Addone -> jer po�inje od praznog elementa
}//fja
void InitQ(red *Q){
(*Q).rear=9999;
(*Q).front=0;
}//fja
bool IsEmptyQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
return true;
}
else {
return false;
}
}//fja
//glavni program
#include<iostream>
#include "red_polje.h"
using namespace std;
zapis klijent;
int br=0;
void dodavanje_zapisa(qu *Q){
cout << "Unesite ime: ";
cin >> klijent.ime;
cout << endl << "Unesite prezime: ";
cin >> klijent.prezime;
cout << endl << "Godina rodjenja: ";
cin >> klijent.god;
cout << endl << "Stanje na bankovnom racunu (kn): ";
cin >> klijent.stanje;
cout << endl << "Vrsta transakcije (u/i,p,k): ";
cin >> klijent.vrsta_transakcije;
cout << endl;
EnQueueQ(klijent, Q);
br++;
}
void ispis(qu *Q){
zapis klijent;
while(!IsEmptyQ(Q)){
klijent=FrontQ(Q);
DeQueueQ(Q);
cout << "Ime: " << klijent.ime << endl;
cout << "Prezime: " << klijent.prezime << endl;
cout << "Godiste: " << klijent.god << endl;
cout << "Stanje na racunu: " << klijent.stanje << endl;
cout << "Vrsta transakcije: " << klijent.vrsta_transakcije << endl;
cout << "----------------------------" << endl;
}//while
}//fja
void provjera(qu *Q, qu *trenutni){
zapis pom;
int jos=br;
while(jos){ //dok ima zapisa
pom=FrontQ(Q);
DeQueueQ(Q);
if(pom.god < 1945) {
EnQueueQ(pom, Q);
}//if
else {
EnQueueQ(pom, trenutni);
}//else
jos--;
}//while
while(!IsEmptyQ(trenutni)){
pom=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(pom, Q);
}//while
ispis(Q);
}//fja
void brisanje(qu *Q, qu *trenutni){
zapis klijent;
int jos=br;
while(jos){
klijent=FrontQ(Q);
DeQueueQ(Q);
if(klijent.stanje > 100 || klijent.vrsta_transakcije=='u' || klijent.vrsta_transakcije=='p'){
EnQueueQ(klijent, trenutni);
}//if
jos--;
}//while
while(!IsEmptyQ(trenutni)){
klijent=FrontQ(trenutni);
DeQueueQ(trenutni);
EnQueueQ(klijent, Q);
}//while
ispis(Q);
}//fja
void otvaranje_zatvaranje(qu *Q){
zapis klijent;
klijent=FrontQ(Q);
DeQueueQ(Q);
if(!IsEmptyQ(Q)){
otvaranje_zatvaranje(Q); }//if
EnQueueQ(klijent, Q);
}//fja
int main(){
int izbor;
qu q;
InitQ(&q);
qu trenutni;
InitQ(&trenutni);
cout << endl;
cout << "===================NAPOMENA=================" << endl;
cout << "Za svaku novu tocku (2,3,4), molim ponovo pokrenut program" << endl;
cout << "============================================" << endl;
cout << endl;
do{
cout << "---------------IZBORNIK--------------" << endl;
cout << "1. Dodavanje zapisa o klinetima u red" << endl;
cout << "2. Ispis starijih od 65 na pocetak reda" << endl;
cout << "3. Izbacivanje klijenata (stanje < 100kn)" << endl;
cout << "4. Simulacija saltera u banci" << endl;
cout << "9. Izlaz iz programa" << endl;
cout << "--------------------------------------" << endl;
cout << "Unesite vas izbor: ";
cin >> izbor;
cout << endl;
switch(izbor){
case 1:
dodavanje_zapisa(&q);
break;
case 2: provjera(&q,&trenutni);
break;
case 3: brisanje(&q,&trenutni);
break;
case 4: otvaranje_zatvaranje(&q);
ispis(&q);
break;
}//switch
}while(izbor!=9);
system("PAUSE");
return 0;
}
Revision: 36433
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 22, 2010 01:26 by FilipJ
Initial Code
#include<iostream>
using namespace std;
struct zapis{
char prezime[20];
char ime[20];
int god;
float stanje;
char vrsta_transakcije;
};
struct qu{
zapis elements[10000];
int front,rear; //FRONT prvi izlazi, REAR upisuje (ulazi) se prvi
};
typedef qu red;
int AddOne(int n){
return((n+1)%10000);
}//fjas
zapis FrontQ(red *Q){ //vraca vrijednost prvo na redu
if(AddOne((*Q).rear)==(*Q).front){
cout << "Red je prazan" << endl;
}
return (*Q).elements[(*Q).front];
}//fja
void EnQueueQ(zapis x, red *Q){
(*Q).rear=AddOne((*Q).rear);
(*Q).elements[(*Q).rear] = x;
}//fja
void DeQueueQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
cout << "Red je prazan" << endl;
}
(*Q).front=AddOne((*Q).front); //Addone -> jer poÄinje od praznog elementa
}//fja
void InitQ(red *Q){
(*Q).rear=9999;
(*Q).front=0;
}//fja
bool IsEmptyQ(red *Q){
if(AddOne((*Q).rear)==(*Q).front){
return true;
}
else {
return false;
}
}//fja
Initial URL
Initial Description
Initial Title
zadatak_3_strukture_podataka
Initial Tags
3
Initial Language
C++