Advertisement
Sanlover

Untitled

Oct 7th, 2020
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.06 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. #include <string>
  4. #include <windows.h>
  5. using namespace std;
  6.  
  7. class Money
  8. {
  9. int rub10 = 0; // 10 рублей
  10. int rub50 = 0; // 50 рублей
  11. int rub100 = 0; // 100 рублей
  12. int rub500 = 0; // 500 рублей
  13. int rub1000 = 0; // 1000 рублей
  14. int rub5000 = 0; // 5000 рублей
  15. int kop10 = 0.0; // 10 копеек
  16. int kop50 = 0.0; // 50 копеек
  17. public:
  18.  
  19. Money() // конструктор
  20. {
  21. rub10 = 0;
  22. rub50 = 0;
  23. rub100 = 0;
  24. rub500 = 0;
  25. rub1000 = 0;
  26. rub5000 = 0;
  27. kop10 = 0;
  28. kop50 = 0;
  29. }
  30.  
  31. Money(int r10, int r50, int r100, int r500, int r1000, int r5000, int k10, int k50) // конструктор
  32. {
  33. if ((rub10 > 0) || (rub50 > 0) || (rub100 > 0) || (rub500 > 0) || (rub1000 > 0) || (rub5000 > 0) || (kop10 > 0) || (kop50 > 0))
  34. {
  35. rub10 = r10;
  36. rub50 = r50;
  37. rub100 = r100;
  38. rub500 = r500;
  39. rub1000 = r1000;
  40. rub5000 = r5000;
  41. kop10 = k10;
  42. kop50 = k50;
  43. }
  44. }
  45.  
  46. void set_rub10(int r10)
  47. {
  48. rub10 = r10;
  49. }
  50.  
  51. void set_rub50(int r50)
  52. {
  53. rub50 = r50;
  54. }
  55.  
  56. void set_rub100(int r100)
  57. {
  58. rub100 = r100;
  59. }
  60.  
  61. void set_rub500(int r500)
  62. {
  63. rub500 = r500;
  64. }
  65.  
  66. void set_rub1000(int r1000)
  67. {
  68. rub1000 = r1000;
  69. }
  70.  
  71. void set_rub5000(int r5000)
  72. {
  73. rub5000 = r5000;
  74. }
  75.  
  76. void set_kop10(int k10)
  77. {
  78. kop10 = k10;
  79. }
  80.  
  81. void set_kop50(int k50)
  82. {
  83. kop50 = k50;
  84. }
  85.  
  86. int get_rub10()
  87. {
  88. return rub10;
  89. }
  90.  
  91. int get_rub50()
  92. {
  93. return rub50;
  94. }
  95.  
  96. int get_rub100()
  97. {
  98. return rub100;
  99. }
  100.  
  101. int get_rub500()
  102. {
  103. return rub500;
  104. }
  105.  
  106. int get_rub1000()
  107. {
  108. return rub1000;
  109. }
  110.  
  111. int get_rub5000()
  112. {
  113. return rub5000;
  114. }
  115.  
  116. int get_kop10()
  117. {
  118. return kop10;
  119. }
  120.  
  121. int get_kop50()
  122. {
  123. return kop50;
  124. }
  125.  
  126. double TotalSumm()
  127. {
  128. return (rub10 * 10 + rub50 * 50 + rub100 * 100 + rub500 * 500 + rub1000 * 1000 + rub5000 * 5000 + kop10 * 10 / 100.0 + kop50 * 50 / 100.0);
  129. }
  130.  
  131. void read();
  132. void add(Money&);
  133. void sub(Money&);
  134. void div(Money&);
  135. double div_sum_on_fraction(double ch);
  136. double multiplication_on_fraction(double ch);
  137. bool comparison(Money&, Money&);
  138. };
  139.  
  140.  
  141. int main()
  142. {
  143. SetConsoleCP(1251);
  144. SetConsoleOutputCP(1251);
  145.  
  146. Money a, b, sht;
  147.  
  148. cout << "ВВОДИТЕ СВОИ ДАННЫЕ: " << endl;
  149. cout << "Ввод суммы A: " << endl;
  150. a.read();
  151. cout << endl << "Total summary: " << a.TotalSumm();
  152.  
  153. cout << endl;
  154. cout << "Ввод cуммы B: " << endl;
  155. b.read();
  156. cout << endl << "Total summary: " << b.TotalSumm();
  157.  
  158. a.div(b);
  159. cout << endl << "AFTER / : " << a.TotalSumm();
  160. //
  161. //cout << endl;
  162. //cout << "Ввод cуммы B: " << endl;
  163. //b.read();
  164. //b.TotalSumm();
  165. //cout << endl;
  166.  
  167. //int choice;
  168. //do {
  169. // cout << "Выберите номер действия\n";
  170. // cout << "1. Сложение сумм\n";
  171. // cout << "2. Вычитание сумм\n";
  172. // cout << "3. Деление сумм\n";
  173. // cout << "4. Деление суммы на дробное число\n";
  174. // cout << "5. Умножение суммы на дробное числ\n";
  175. // cout << "6. Сравнение сумм\n";
  176. // cout << "0. Выйти\n";
  177.  
  178. // cin >> choice;
  179.  
  180. // switch (choice) {
  181.  
  182. // case 1:
  183. // {
  184. // cout << "A + B = " << sht.add(a, b) << endl;
  185. // break;
  186. // }
  187. // case 2:
  188. // {
  189. // cout << "A - B = " << sht.sub(a, b) << endl;
  190. // break;
  191. // }
  192. // case 3:
  193. // {
  194. // //cout << "A / B = " << sht.div(a, b) << endl;
  195. // break;
  196. // }
  197. // case 4:
  198. // {
  199. // double chislo;
  200. // cout << "введите дробное число\n";
  201. // cin >> chislo;
  202. // cout << "A / число = " << sht.div_sum_on_fraction(chislo, a) << endl;
  203. // cout << "B / число = " << sht.div_sum_on_fraction(chislo, b) << endl;
  204. // break;
  205. // }
  206. // case 5:
  207. // {
  208. // double chislo;
  209. // cout << "введите дробное число\n";
  210. // cin >> chislo;
  211. // cout << "A * число = " << sht.multiplication_on_fraction(chislo, a) << endl;
  212. // cout << "B * число = " << sht.multiplication_on_fraction(chislo, b) << endl;
  213. // break;
  214. // }
  215. // case 6:
  216. // {
  217. // cout << "Сравнение : ";
  218. // cout << sht.comparison(a, b) << endl;
  219. // break;
  220. // }
  221. // default:
  222. // {
  223. // cout << "Программа завершена\n";
  224. // break;
  225. // }
  226. // }
  227. //} while (choice);
  228.  
  229.  
  230. system("pause");
  231. }
  232.  
  233.  
  234.  
  235. void
  236. Money::read()
  237. {
  238.  
  239. cout << "РУБЛИ" << endl;
  240. cout << "Введите количество купюр номиналом 10 рублей: "; cin >> rub10;
  241. cout << "Введите количество купюр номиналом 50 рублей: "; cin >> rub50;
  242. cout << "Введите количество купбр номиналом 100 рублей: "; cin >> rub100;
  243. cout << "Введите количество купюр номиналом 500 рублей: "; cin >> rub500;
  244. cout << "Введите количество купюр номиналом 1000 рублей: "; cin >> rub1000;
  245. cout << "Введите количество купюр номиналом 5000 рублей: "; cin >> rub5000;
  246. cout << "КОПЕЙКИ" << endl;
  247. cout << "Введите количесвто копеек номиналом 10: "; cin >> kop10;
  248. cout << "Введите количество копеек номиналом 50: "; cin >> kop50;
  249.  
  250. }
  251.  
  252. void Money::add(Money& b)
  253. {
  254. kop10 += b.kop10;
  255. kop50 += b.kop50;
  256. rub10 += b.rub10;
  257. rub50 += b.rub50;
  258. rub100 += b.rub100;
  259. rub500 += b.rub500;
  260. rub1000 += b.rub1000;
  261. rub5000 += b.rub5000;
  262. }
  263.  
  264. void Money::sub(Money& b)
  265. {
  266. if (b.kop10 > kop10 || b.kop50 > kop50 || b.rub10 > rub10 || b.rub50 > rub50 || b.rub100 > rub100
  267. || b.rub500 > rub500 || b.rub1000 > rub1000 || b.rub5000 > rub5000)
  268. return;
  269. kop10 -= b.kop10;
  270. kop50 -= b.kop50;
  271. rub10 -= b.rub10;
  272. rub50 -= b.rub50;
  273. rub100 -= b.rub100;
  274. rub500 -= b.rub500;
  275. rub1000 -= b.rub1000;
  276. rub5000 -= b.rub5000;
  277.  
  278.  
  279. }
  280.  
  281. void Money::div(Money& b)
  282. {
  283. if (b.kop10 > kop10 || b.kop50 > kop50 || b.rub10 > rub10 || b.rub50 > rub50 || b.rub100 > rub100
  284. || b.rub500 > rub500 || b.rub1000 > rub1000 || b.rub5000 > rub5000 || b.kop10 == 0 || b.kop50 == 0
  285. || b.rub10 == 0 || b.rub50 == 0 || b.rub100 == 0 || b.rub500 == 0 || b.rub1000 == 0 || b.rub5000 == 0)
  286. return;
  287. set_kop10(kop10 / b.kop10);
  288. set_kop50(kop50 / b.kop50);
  289. set_rub10(rub10 / b.rub10);
  290. set_rub50(rub50 / b.rub50);
  291. set_rub100(rub100 / b.rub100);
  292. set_rub500(rub500 / b.rub500);
  293. set_rub1000(rub1000 / b.rub1000);
  294. set_rub5000(rub5000 / b.rub5000);
  295.  
  296. }
  297.  
  298. double Money::div_sum_on_fraction(double ch)
  299. {
  300. return TotalSumm() / ch;
  301. }
  302.  
  303. double Money::multiplication_on_fraction(double ch)
  304. {
  305. return TotalSumm() * ch;
  306. }
  307.  
  308. bool Money::comparison(Money& a, Money& b)
  309. {
  310. if (a.TotalSumm() > b.TotalSumm())
  311. cout << "A > B" << endl;
  312. else if (a.TotalSumm() < b.TotalSumm())
  313. cout << "A < B" << endl;
  314. else if (a.TotalSumm() == b.TotalSumm())
  315. cout << "A = B" << endl;
  316. else
  317. return 0;
  318. }
  319.  
  320. //__________________________________________________________________________
  321.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement