Advertisement
AnaGocevska

DonaciskaSmetka

May 14th, 2015
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.41 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4. using namespace std;
  5.  
  6. class Isklucok {
  7.     /* Vasiot Kod Tuka!!! */
  8. protected:
  9.  
  10.     char poraka[100];
  11.  
  12. public:
  13.  
  14.     Isklucok(char *poraka) {
  15.         strcpy(this->poraka, poraka);
  16.     }
  17.  
  18.  
  19.     void pecati() {
  20.         cout<<poraka<<endl;
  21.     }
  22. };
  23.  
  24.  
  25. class DonaciskaSmetka {
  26.     /* Vasiot Kod Tuka!!! */
  27. protected:
  28.     char broj[15];
  29.  
  30. public:
  31.  
  32.     static float balance;
  33.     static float num_donations;
  34.  
  35.  
  36.     DonaciskaSmetka() {
  37.         this->broj[0]='\0';
  38.     }
  39.    
  40.     DonaciskaSmetka(char *broj)
  41.     {
  42.         strcpy(this->broj,broj);
  43.     }
  44.  
  45.     void setBrojSmetka(char *broj) {
  46.         strcpy(this->broj, broj);
  47.     }
  48.  
  49.  
  50.     void PrimiDonacija(int suma) {
  51.         try {
  52.             if(suma<0) throw Isklucok("Isklucok: Nevalidna suma za donacija!");
  53.             balance+=suma;
  54.             num_donations++;
  55.         }
  56.  
  57.         catch (Isklucok i)
  58.         {
  59.             i.pecati();
  60.         }
  61.     }
  62.  
  63.     static void Sostojba() {
  64.         cout<<"Balans: "<<balance<<", broj na donacii: "<<num_donations<<endl;
  65.     }
  66.  
  67. };
  68.  
  69.     float DonaciskaSmetka::balance=0;
  70.     float DonaciskaSmetka::num_donations=0;
  71.  
  72. class ZiroSmetka {
  73.     /* Vasiot Kod Tuka!!! */
  74. protected:
  75.  
  76.     char brSmetka[15];
  77.     float balans;
  78.  
  79. public:
  80.  
  81.     ZiroSmetka() {
  82.         this->brSmetka[0]='\0';
  83.         this->balans=0;
  84.     }
  85.  
  86.     ZiroSmetka(const char *brSmetka, float balans) {
  87.         strcpy(this->brSmetka, brSmetka);
  88.         this->balans=balans;
  89.     }
  90.  
  91.     void setBrSmetka(char *brSmetka) {
  92.         strcpy(this->brSmetka, brSmetka);
  93.     }
  94.  
  95.     void setBalans(float balans) {
  96.         this->balans=balans;
  97.     }
  98.  
  99.     void Doniraj(DonaciskaSmetka d, int suma) {
  100.         try {
  101.             if(suma<0)
  102.                 throw Isklucok("Isklucok: Nevalidna suma za donacija!");
  103.             if(balans < suma)
  104.                 throw 1;
  105.             d.PrimiDonacija(suma);
  106.             balans-=suma;
  107.             cout<<"Donirani "<<suma<<" denari!"<<endl;
  108.         }
  109.  
  110.         catch(int) {
  111.             cout<<"Nemate dovolno sredstva za da izvrsite donacija!"<<endl;
  112.         }
  113.         catch(Isklucok i)
  114.         {
  115.             i.pecati();
  116.         }
  117.     }
  118. };
  119.  
  120. /* Vasiot Kod Tuka!!! */
  121.  
  122. int main() {
  123.     int d, k, t;
  124.     char tb[15];
  125.  
  126.     float s, b;
  127.  
  128.     DonaciskaSmetka smetki[3];
  129.     ZiroSmetka ziro_smetki[10];
  130.  
  131.     //cout<<"Vnesi go brojot na donaciski smetki"<<endl;
  132.     cin>>d;
  133.  
  134.     for (int i=0; i<d; i++) {
  135.         //cout<<"Vnesi go brojot na "<< i << "-tata donaciska smetka: ";
  136.         cin>>tb;
  137.         //cout<<endl;
  138.         smetki[i].setBrojSmetka(tb);
  139.     }
  140.  
  141.     //cout<<"Vnesi go brojot na ziro smetki"<<endl;
  142.     cin>>d;
  143.  
  144.     for (int i=0; i<d; i++) {
  145.         //cout<<"Vnesi go broj na "<< i << "-tata ziro smetka: ";
  146.         cin>>tb;
  147.         //cout<<"Vnesi go balansot na "<< i << "-tata ziro smetka: ";
  148.         cin>>b;
  149.         ziro_smetki[i].setBrSmetka(tb);
  150.         ziro_smetki[i].setBalans(b);
  151.     }
  152.  
  153.     while (true) {
  154.         //cout<<"Vnesi na koja Donaciska Smetka kje se donira (-1 za kraj): ";
  155.         cin>>t;
  156.         if (t==-1) {
  157.             break;
  158.         }
  159.  
  160.         //cout<<"Vnesi od koja ziro smetka kje se donira: ";
  161.         cin>>k;
  162.         //cout<<"Vnesi ja sumata koja kje se donira: ";
  163.         cin>>s;
  164.  
  165.         ziro_smetki[k].Doniraj(smetki[k], s);
  166.  
  167.         DonaciskaSmetka::Sostojba();
  168.     }
  169.  
  170.     return 0;
  171. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement