Infiniti_Inter

Money

Nov 28th, 2019
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.52 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <fstream>
  4. #include <exception>
  5. using namespace std;
  6.  
  7.  
  8. ifstream in("input.txt");
  9. ofstream out("output.txt");
  10.  
  11. class Money {
  12.     int nominal;
  13.     int amount;
  14.  
  15. public:
  16.     void print()
  17.     {
  18.         out << "nominal : " << nominal << " amount : " << amount << endl;
  19.     }
  20.  
  21.     bool isEnough(int x)
  22.     {
  23.         return nominal * amount >= x;
  24.     }
  25.     int countProductWithCost(int y)
  26.     {
  27.         return nominal * amount / y;
  28.     }
  29.  
  30.     void setNominal(int nominal)
  31.     {
  32.         this->nominal = nominal;
  33.     }
  34.     void setAmount(int amount)
  35.     {
  36.         this->amount = amount;
  37.     }
  38.  
  39.     long long overall()
  40.     {
  41.         return amount * 1LL * nominal;// 1LL - приведение к типу long long
  42.     }
  43.  
  44.  
  45.     //префексная форма ++a
  46.     Money operator++()
  47.     {
  48.         this->amount++;
  49.         return *this;
  50.  
  51.     }
  52.     Money operator--()
  53.     {
  54.         this->amount--;
  55.         return *this;
  56.  
  57.     }
  58.     // постфиксная форма a++
  59.     Money operator++(int)
  60.     {
  61.         Money b;
  62.         b.setAmount(this->amount);
  63.         b.setNominal(this->nominal);
  64.         this->amount++;
  65.         return b;
  66.     }
  67.     Money operator--(int)
  68.     {
  69.         Money b;
  70.         b.setAmount(this->amount);
  71.         b.setNominal(this->nominal);
  72.         this->amount--;
  73.         return b;
  74.  
  75.     }
  76.     Money operator + (int k)
  77.     {
  78.         this->amount += k;
  79.         return *this;
  80.     }
  81.  
  82.  
  83. };
  84.  
  85. void Print(Money a)
  86. {
  87.     a.print();
  88. }
  89.  
  90. int main()
  91. {
  92.  
  93.     Money a;
  94.     a.setAmount(10);
  95.     a.setNominal(10);
  96.     a.print();
  97.     out << "overall: " << a.overall() << endl;
  98.     a = a + 10;
  99.     a.print();
  100.     out << "count Product With Cost 12 : " << a.countProductWithCost(12);
  101.  
  102.  
  103.  
  104. }
Add Comment
Please, Sign In to add comment