Advertisement
Ifrail

Less3 Task3

Nov 20th, 2019
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.86 KB | None | 0 0
  1. /*Космосчет*/
  2.  
  3. /*
  4. Перед тем, как отпускать вас %username% во взрослую жизнь, вам следует пройти инструктаж по обращению с вашим личным счетом, на который вам будут переводить заработанные вами космокредиты или просто кредиты. И нет, они не виртуальные. Единственная планета, на которой их не принимают - это планета Земля, но надеюсь туда вас не занесет.
  5. И так, ваша задача научить И.С.А.А.А.К. обслуживать ваш космосчет. Для этого создайте класс CreditAccount, с полем credits. Несмотря, на то, что у каждой разумной расы своя валюта, но все средства всегда держат в космокредитах. Кроме землян, конечно.
  6. Кроме космокредитов, в ходу также Проторианские буллы (их курс составляет 3 кредита = 1 буллу) и Орионские звезды (их курс составляет 2 кредита = 5 звездам).
  7.  
  8. Научите И.С.А.А.А.К. заносить на счет кредиты, буллы и звезды, а также печатать данные по счету.
  9. */
  10.  
  11. class CreditAccount {
  12. public:
  13.     // Галактические кредиты
  14.     int credits;
  15.  
  16.     void putCredits(int count) {
  17.         credits += count;
  18.     }
  19.  
  20.     void putProtorianBools(int count) {
  21.         credits += count * 3;
  22.     }
  23.  
  24.     void putOrionStars(int count) {
  25.         credits += count * 2 / 5;
  26.     }
  27.  
  28.     void printSatus() {
  29.         cout << "Account: " << credits << " credits" << endl;
  30.     }
  31. };
  32.  
  33.  
  34. int main() {
  35.     CreditAccount ca;
  36.     cin >> ca.credits;
  37.  
  38.     int comCount;
  39.     cin >> comCount;
  40.     int count;
  41.     for (int i = 0; i < comCount; i++) {
  42.         string com;
  43.         cin >> com;
  44.  
  45.         if (com == "buy") {
  46.             cin >> count;
  47.             ca.credits -= count;
  48.         }
  49.  
  50.         if (com == "put") {
  51.             string name;
  52.             cin >> count >> name;
  53.             if (name == "credits")
  54.                 ca.putCredits(count);
  55.             if (name == "bools")
  56.                 ca.putProtorianBools(count);
  57.             if (name == "stars")
  58.                 ca.putOrionStars(count);
  59.         }
  60.  
  61.         if (com == "status") {
  62.             ca.printSatus();
  63.         }
  64.     }
  65. }
  66.  
  67. /*
  68. Тест 1
  69. Ввод:
  70. 1000
  71. 6
  72. buy 367
  73. put 12 stars
  74. status
  75. put 1200 bools
  76. buy 264
  77. status
  78. Вывод:
  79. Account: 637 credits
  80. Account: 3973 credits
  81.  
  82. Тест 2
  83. Ввод:
  84. 10
  85. 4
  86. put 110 stars
  87. put 900 bools
  88. buy 700
  89. status
  90. Вывод:
  91. Account: 2054 credits
  92.  
  93.  
  94. Тест 3
  95. Ввод:
  96. 314
  97. 8
  98. put 15 stars
  99. put 100 bools
  100. status
  101. put 150 credits
  102. buy 400
  103. status
  104. buy 220
  105. status
  106. Вывод:
  107. Account: 620 credits
  108. Account: 370 credits
  109. Account: 150 credits
  110. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement