Return to Snippet

Revision: 36391
at November 21, 2010 09:12 by kresimir20


Updated Code
#include <cstdlib>
#include "red_polje.h"
//#include "red_pokazivac.h"
using namespace std;
int broj=0;
void dodaj_zapis(red *Q) {
     zapis klijent;
     int A,B;
     cout << "Koliko klijenata zelite unijeti? ";
     cin >> A;
     for(int i=0;i<A;i++) {
             cin.ignore();
             cin.clear();
             cout << "Ime i prezime: ";
             getline(cin,klijent.preime,'\n');
             cout << "Godina rodjenja: ";
             cin >> klijent.god;
             cout << "Stanje na racunu: ";
             cin >> klijent.stanje_racuna;
             do {
                 cout << "VRSTA TRANSAKCIJE:\n1. uplate/isplate\n2. placanje racuna\n3. krediti" << endl;
                 cin >> B;
             } while(B<1&&B>3);
             if(B==1) 
             klijent.transakcija=1;
             if(B==2) 
             klijent.transakcija=2;
             if(B==3)
             klijent.transakcija=3;
             EnQueueQ(klijent,Q);
             cout << "Klijent je dodan u red!" << endl;
             broj++;
     }
};
void prednost_umirovljenici(red *Q,red *stariji) {
     if (!IsEmptyQ(Q)) {
        int br_unosa=broj;
        while (br_unosa!=0) {
              zapis pom=FrontQ(Q);
              DeQueueQ(Q);
              if (pom.god>1945)
              EnQueueQ(pom,stariji);
              else 
              EnQueueQ(pom,Q);
              br_unosa--;
        }
        while (!IsEmptyQ(stariji)) {
              zapis umirovljenik=FrontQ(stariji);
              DeQueueQ(stariji);
              EnQueueQ(umirovljenik,Q);
        }
        cout << endl;
        cout << "Ispis stanja reda:" << endl;
        while (br_unosa!=broj) {
              zapis klijent=FrontQ(Q);
              DeQueueQ(Q);
              cout << endl;
              cout << "Ime i prezime: " << klijent.preime << endl;
              cout << "Godina rodjena: " << klijent.god << endl;
              cout << "Stanje na racunu: " << klijent.stanje_racuna << endl;
              if (klijent.transakcija==1)
              cout << "Transakcija: uplata/isplata" << endl;
              else if (klijent.transakcija==2)
              cout << "Transakcija: placanje racuna" << endl;
              else
              cout << "Transakcija: kredit" << endl;
              EnQueueQ (klijent,Q);
              br_unosa++;
        }
     }
     else cout << "Red je prazan!" << endl;
};
void krediti100(red *Q) {
     if (!IsEmptyQ(Q)) {
        int stanje_reda=broj;
        while (stanje_reda!=0) {
              zapis klijent=FrontQ(Q);
              DeQueueQ(Q);
              if (klijent.stanje_racuna<100&&klijent.transakcija==3)
              broj--;
              else EnQueueQ(klijent,Q);
              stanje_reda--;
        }
        while (broj!=stanje_reda) {
              zapis klijent=FrontQ(Q);
              DeQueueQ(Q);
              cout << endl;
              cout << "Ime i prezime: " << klijent.preime << endl;
              cout << "Godina rodjena: " << klijent.god << endl;
              cout << "Stanje racuna: " << klijent.stanje_racuna << endl;
              if(klijent.transakcija==1)
              cout << "Transakcija: uplata/isplata" << endl;
              else if (klijent.transakcija==2)
              cout << "Transakcija: placanje racuna" << endl;
              else
              cout << "Transakcija: kredit" << endl;
              EnQueueQ(klijent,Q);
              stanje_reda++;
        }
     }
     else cout << "Red je prazan!" << endl;
};
int salterska_rekurzija(red *Q) {
    zapis klijent=FrontQ(Q);
    DeQueueQ(Q);
    if(!IsEmptyQ(Q))
    salterska_rekurzija(Q);
    EnQueueQ(klijent,Q);
    cout << "Ime i prezime: " << klijent.preime << endl;
    cout << "Godina rodjena: " << klijent.god << endl;
    cout << "Stanje racuna: " << klijent.stanje_racuna << endl;
    if(klijent.transakcija==1)
    cout << "Transakcija: uplata/isplata" << endl;
    else if (klijent.transakcija==2)
    cout << "Transakcija: placanje racuna" << endl;
    else
    cout << "Transakcija: kredit" << endl;
    cout << endl;
};
int main() {
    int A;
    red *Q=InitQ(Q);
    red *Qpom=InitQ(Qpom);
    do {
       cout << "1. Dodaj zapis o klijentu\n2. Propusti umirovljenike" << endl;
       cout << "3. Izbaci klijenate koji imaju manje od 100 kn na racunu i zele kredit" << endl;
       cout << "4. Otvaranje novog saltera\n9. Izlaz iz programa" << endl;
       cin >> A; 
       switch(A) {
                 case 1: dodaj_zapis(Q);
                 break;
                 case 2: prednost_umirovljenici(Q,Qpom);
                 break;
                 case 3: cout << "Izbacivanje klijenata koji imaju manje od 100 kn na racunu i zele kredit" << endl;
                 krediti100(Q);
                 break;
                 case 4: cout << "Zatvranje jednog i otvaranje drugog saltera" << endl;
                 salterska_rekurzija(Q);
                 break;
                 case 9: break;
       }     
     } while (A!=9);
     system ("pause");
     return 0;
}

Revision: 36390
at November 21, 2010 09:05 by kresimir20


Initial Code
#include <cstdlib>
#include "red_polje.h"
//#include "red_pokazivac.h"
using namespace std;
int broj=0;
void dodaj_zapis(red *Q) {
     zapis klijent;
     int A,B;
     cout << "Koliko klijenata zelite unijeti? ";
     cin >> A;
     for(int i=0;i<A;i++) {
             cin.ignore();
             cin.clear();
             cout << "Ime i prezime: ";
             getline(cin,klijent.preime,'\n');
             cout << "Godina rodjenja: ";
             cin >> klijent.god;
             cout << "Stanje na racunu: ";
             cin >> klijent.stanje_racuna;
             do {
                 cout << "VRSTA TRANSAKCIJE:\n1. uplate/isplate\n2. placanje racuna\n3. krediti" << endl;
                 cin >> B;
             } while(B<1&&B>3);
             if(B==1) 
             klijent.transakcija=1;
             if(B==2) 
             klijent.transakcija=2;
             if(B==3)
             klijent.transakcija=3;
             EnQueueQ(klijent,Q);
             cout << "Klijent je dodan u red!" << endl;
             broj++;
     }
};
void prednost_umirovljenici(red *Q,red *stariji) {
     if (!IsEmptyQ(Q)) {
        int br_unosa=broj;
        while (br_unosa!=0) {
              zapis pom=FrontQ(Q);
              DeQueueQ(Q);
              if (pom.god>1945)
              EnQueueQ(pom,stariji);
              else 
              EnQueueQ(pom,Q);
              br_unosa--;
        }
        while (!IsEmptyQ(stariji)) {
              zapis umirovljenik=FrontQ(stariji);
              DeQueueQ(stariji);
              EnQueueQ(umirovljenik,Q);
        }
        cout << endl;
        cout << "Ispis stanja reda:" << endl;
        while (br_unosa!=broj) {
              zapis klijent=FrontQ(Q);
              DeQueueQ(Q);
              cout << endl;
              cout << "Ime i prezime: " << klijent.preime << endl;
              cout << "Godina rodjena: " << klijent.god << endl;
              cout << "Stanje na racunu: " << klijent.stanje_racuna << endl;
              if (klijent.transakcija==1)
              cout << "Transakcija: uplata/isplata" << endl;
              else if (klijent.transakcija==2)
              cout << "Transakcija: placanje racuna" << endl;
              else
              cout << "Transakcija: kredit" << endl;
              EnQueueQ (klijent,Q);
              br_unosa++;
        }
     }
     else cout << "Red je prazan!" << endl;
};
void krediti100(red *Q) {
     if (!IsEmptyQ(Q)) {
        int stanje_reda=broj;
        while (stanje_reda!=0) {
              zapis klijent=FrontQ(Q);
              DeQueueQ(Q);
              if (klijent.stanje_racuna<100&&klijent.transakcija==3)
              broj--;
              else EnQueueQ(klijent,Q);
              stanje_reda--;
        }
        while (broj!=stanje_reda) {
              zapis klijent=FrontQ(Q);
              DeQueueQ(Q);
              cout << endl;
              cout << "Ime i prezime: " << klijent.preime << endl;
              cout << "Godina rodjena: " << klijent.god << endl;
              cout << "Stanje racuna: " << klijent.stanje_racuna << endl;
              if(klijent.transakcija==1)
              cout << "Transakcija: uplata/isplata" << endl;
              else if (klijent.transakcija==2)
              cout << "Transakcija: placanje racuna" << endl;
              else
              cout << "Transakcija: kredit" << endl;
              EnQueueQ(klijent,Q);
              stanje_reda++;
        }
     }
     else cout << "Red je prazan!" << endl;
};
int salterska_rekurzija(red *Q) {
    zapis klijent=FrontQ(Q);
    DeQueueQ(Q);
    if(!IsEmptyQ(Q))
    salterska_rekurzija(Q);
    EnQueueQ(klijent,Q);
    cout << "Ime i prezime: " << klijent.preime << endl;
    cout << "Godina rodjena: " << klijent.god << endl;
    cout << "Stanje racuna: " << klijent.stanje_racuna << endl;
    if(klijent.transakcija==1)
    cout << "Transakcija: uplata/isplata" << endl;
    else if (klijent.transakcija==2)
    cout << "Transakcija: placanje racuna" << endl;
    else
    cout << "Transakcija: kredit" << endl;
    cout << endl;
};
int main() {
    int A;
    red *Q=InitQ(Q);
    red *Qpom=InitQ(Qpom);
    do {
       cout << "1. Dodaj zapis o klijentu\n2. Propusti umirovljenike" << endl;
       cout << "3. Izbaci klijenate koji imaju manje od 100 kn na racunu i zele kredit" << endl;
       cout << "4. Otvaranje novog saltera\n9. Izlazak iz programa" << endl;
       cin >> A; 
       switch(A) {
                 case 1: dodaj_zapis(Q);
                 break;
                 case 2: prednost_umirovljenici(Q,Qpom);
                 break;
                 case 3: cout << "Izbacivanje klijenata koji imaju manje od 100 kn na racunu i zele kredit" << endl;
                 krediti100(Q);
                 break;
                 case 4: cout << "Zatvranje jednog i otvaranje drugog saltera" << endl;
                 salterska_rekurzija(Q);
                 break;
                 case 9: break;
       }     
     } while (A!=9);
     system ("pause");
     return 0;
}

Initial URL

                                

Initial Description

                                

Initial Title
Glavni dio programa

Initial Tags

                                

Initial Language
C++