Advertisement
Josif_tepe

Untitled

Dec 28th, 2023
752
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.04 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. class HotelskaRezervacija {
  5. private:
  6.     int denovi, lica;
  7.     string ime;
  8.    
  9. public:
  10.     HotelskaRezervacija() {}
  11.     HotelskaRezervacija(int _denovi, int _lica, string _ime) {
  12.         denovi = _denovi;
  13.         lica = _lica;
  14.         ime = _ime;
  15.     }
  16.     virtual int vratiCena() {
  17.         return denovi * lica * 25;
  18.     }
  19.     virtual int vratiCena(int uplata) {
  20.         if(uplata >= vratiCena()) {
  21.             return uplata - vratiCena();
  22.         }
  23.         else {
  24.             cout << "Ne se dovolno parite, treba da se plati: " << vratiCena() << endl;
  25.             return -1;
  26.         }
  27.     }
  28.     int get_lica() {
  29.         return lica;
  30.     }
  31.     int get_denovi() {
  32.         return denovi;
  33.     }
  34. };
  35. class Polupansion : public HotelskaRezervacija {
  36. private:
  37. public:
  38.     Polupansion() : HotelskaRezervacija(){}
  39.     Polupansion(int _denovi, int _lica, string _ime) : HotelskaRezervacija(_denovi, _lica, _ime){
  40.        
  41.     }
  42.     int vratiCena() override {
  43.         return HotelskaRezervacija::vratiCena() + get_lica() * get_denovi() * 5;
  44.     }
  45.     int vratiCena(int uplata) override {
  46.         if(uplata >= vratiCena()) {
  47.             return uplata - vratiCena();
  48.         }
  49.         else {
  50.             cout << "Treba da se plati: " << vratiCena() << endl;
  51.             return -1;
  52.         }
  53.     }
  54. };
  55. class Hotel {
  56. private:
  57.     string ime;
  58.     int saldo;
  59. public:
  60.     Hotel() {}
  61.     Hotel(string _ime, int _saldo) {
  62.         ime = _ime;
  63.         saldo = _saldo;
  64.        
  65.     }
  66.     void uplatiRezervacija(HotelskaRezervacija &hr, int uplata) {
  67.         int cena = hr.vratiCena(uplata);
  68.         if(cena == -1) {
  69.             cout << "NE USPESNA REZERVACIJA" << endl;
  70.         }
  71.         else {
  72.             cout << "USPESNA REZERVACIJA" << endl;
  73.             cout << cena << endl;
  74.             saldo += uplata;
  75.         }
  76.     }
  77. };
  78. int main() {
  79.     HotelskaRezervacija *hr = new Polupansion(5, 5, "Josif");
  80.     Hotel h("marriot", 0);
  81.     h.uplatiRezervacija(*hr, 1000);
  82.    
  83.    return 0;
  84. }
  85.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement