Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Kurs.cpp: определяет точку входа для консольного приложения.
- //
- #include "stdafx.h"
- #include <iostream>
- #include <string>
- #define Len 11
- using namespace std;
- class Banknote
- {
- private:
- int m_rub[2][Len];
- public:
- Banknote(int v1 = 0, int v2 = 0, int v5 = 0, int v10 = 0, int v50 = 0, int v100 = 0, int v200 = 0, int v500 = 0, int v1000 = 0, int v2000 = 0, int v5000 = 0)
- : m_rub{ {1, 2, 5, 10, 50, 100, 200, 500, 1000, 2000, 5000}, {v1, v2, v5, v10, v50, v100, v200, v500, v1000, v2000, v5000} }
- {
- }
- int funSum()
- {
- int sum = 0;
- for (int i = 0; i < Len; i++)
- {
- sum = sum + m_rub[0][i] * m_rub[1][i];
- }
- return sum;
- }
- int checkRub(int ind) // Возвращает индекс в случе успешной проверки, (-1) - если купюра индификатора "ind" (m_rub[0][ind]) не найдена.
- {
- for (int i = 0; i < Len; i++)
- {
- if (ind == m_rub[0][i])
- {
- return (i);
- }
- }
- return (-1);
- }
- int setRub(int ind, int val) // Добавляет val к кол-ву купюр одного вида и возвращает 0 или возвращает (-1) в случае ошибки.
- {
- if (checkRub(ind) != -1)
- {
- m_rub[1][checkRub(ind)] = m_rub[1][checkRub(ind)] + val;
- return (0);
- }
- else return (-1);
- }
- int getRub(int ind) // Возвращает кол-во купюр одного вида или (-1) в случае ошибки.
- {
- if (checkRub(ind) != -1)
- {
- return m_rub[1][checkRub(ind)];
- }
- else return (-1);
- }
- };
- class Ingredient
- {
- private:
- int m_largeCup;
- int m_smallCup;
- int m_water;
- int m_beans;
- int m_milk;
- int m_cream;
- int m_whiskey;
- int m_sugar;
- };
- class Coffee
- {
- string name;
- int price;
- Ingredient recipe;
- };
- int main()
- {
- Banknote balance(100, 100, 100, 100, 50, 50, 25, 10, 6, 3, 1);
- cout << balance.funSum() << endl;
- balance.setRub(500, 1);
- cout << balance.funSum() << endl;
- cout << balance.getRub(500);
- cin.get(); cin.get();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement