Return to Snippet

Revision: 36290
at November 20, 2010 05:02 by renata


Initial Code
#include<iostream>
#include "red_polje.h"
//#include "red_pokazivaci.h"
using namespace std;
red *r = new red;
tred *rd = new tred;
tred *nov = new tred;
int br=0;
void unos(tred *a){
     char ip[30],vrsttr[20];
     int gdr;
     float sbr;
     char jos;
     do{
         cout << "Ime i prezime klijenta: ";
         cin.ignore();
         cin.getline(ip,30);
         cout << "Godina rodenja: ";
         cin >> gdr;
         cout << "Stanje na bankovnom racunu: ";
         cin >> sbr;
         cout << "Vrsta transakcije: ";
         cin.ignore();
         cin.getline(vrsttr,20);
         EnQueueQ(ip,gdr,sbr,vrsttr,a);
         br++;
         cout << "Zelite li jos unijeti? ";
         cin >> jos;
         }while(jos=='d');
     
     cout << "Klijenti stariji od 65 godina..." << endl;
         for(int i=0;i<br;i++){
                 memcpy(r,FrontQ(rd),sizeof(rd));
                 if(r->g_rodenja<1945){
                                      memcpy(r,FrontQ(rd),sizeof(rd));
                                      cout << r->ime_prezime << "\t" << r->g_rodenja << "\t" << r->stanje_racun << "\t" << r->stanje_racun << "\t" << r->transakcija << endl;
                                      }
                 else{
                      EnQueueQ(r->ime_prezime,r->g_rodenja,r->stanje_racun,r->transakcija,nov);
                      }
                 DeQueueQ(rd);
                 }
         while(IsEmptyQ(rd)==false){
                                    memcpy(r,FrontQ(rd),sizeof(rd));
                                    DeQueueQ(rd);
                                    cout << cout << r->ime_prezime << "\t" << r->g_rodenja << "\t" << r->stanje_racun << "\t" << r->stanje_racun << "\t" << r->transakcija << endl;
                                    EnQueueQ(r->ime_prezime,r->g_rodenja,r->stanje_racun,r->transakcija,rd);
                                    }
     }
     
void izbacivanje(tred *rd){
          for(int i=0;i<br;i++){
             memcpy(r,FrontQ(rd),sizeof(rd));
             if(r->stanje_racun<100 && strcmp(r->transakcija,"kredit")==0){
                                     DeQueueQ(rd);
                                     }
             else {
                  EnQueueQ(r->ime_prezime,r->g_rodenja,r->stanje_racun,r->transakcija,rd);
                  DeQueueQ(rd);
                  }
             }
     }
     
     
     
struct elem{
       char ime_prezime[30];
       int g_rodenja;
       float stanje_racun;
       char transakcija[20];
       };
elem e;
int brel=0;
void rekurzija(tred *rd){
     if(IsEmptyQ(rd)==true){
                           for(int i=brel;i>0;i--)
                                   cout << e.ime_prezime << "\t" << e.g_rodenja << "\t" << e.stanje_racun << "\t" << e.transakcija << endl;
                           return;}
     else{
          memcpy(r,FrontQ(rd),sizeof(rd));
          brel++;
          DeQueueQ(rd);
          rekurzija(rd);
          }
     }
int main(){
    int izbor;
    do{
        cout << endl;
        cout << "1.Unos klijenata u red" << endl;
        cout << "2.Izbacivanje klijenata" << endl;
        cout << "3.Zatvaranje/otvaranje saltera" << endl;
        cout << "--------------------------------" << endl;
        cout << "Vas izbor? ";
        cin >> izbor;
        switch(izbor){
                      case 1:unos(rd);break;
                      case 2:izbacivanje(rd);break;
                      case 3:rekurzija(rd);break;
                      case 4:break;
                      default: cout << "Unijeli ste krivi broj" << endl;
                      }
    }while(izbor!=4);
    system("pause");
    return 0;
}

Initial URL


Initial Description


Initial Title
RED_strukture_podataka

Initial Tags


Initial Language
C++