Advertisement
Spocoman

Football Souvenirs

Sep 19th, 2023 (edited)
960
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.56 KB | None | 0 0
  1. #include <iostream>
  2. #include <iomanip>
  3.  
  4. using namespace std;
  5.  
  6. int main() {
  7.     string country, souvenir, print = "";
  8.     cin >> country >> souvenir;
  9.  
  10.     int quantity;
  11.     cin >> quantity;
  12.  
  13.     double price = 0;
  14.  
  15.     if (country == "Argentina") {
  16.         if (souvenir == "flags") {
  17.             price = 3.25;
  18.         }
  19.         else if (souvenir == "caps") {
  20.             price = 7.20;
  21.         }
  22.         else if (souvenir == "posters") {
  23.             price = 5.10;
  24.         }
  25.         else if (souvenir == "stickers") {
  26.             price = 1.25;
  27.         }
  28.         else {
  29.             print = "Invalid stock!";
  30.         }
  31.     }
  32.     else if (country == "Brazil") {
  33.         if (souvenir == "flags") {
  34.             price = 4.20;
  35.         }
  36.         else if (souvenir == "caps") {
  37.             price = 8.50;
  38.         }
  39.         else if (souvenir == "posters") {
  40.             price = 5.35;
  41.         }
  42.         else if (souvenir == "stickers") {
  43.             price = 1.20;
  44.         }
  45.         else {
  46.             print = "Invalid stock!";
  47.         }
  48.     }
  49.     else if (country == "Croatia") {
  50.         if (souvenir == "flags") {
  51.             price = 2.75;
  52.         }
  53.         else if (souvenir == "caps") {
  54.             price = 6.90;
  55.         }
  56.         else if (souvenir == "posters") {
  57.             price = 4.95;
  58.         }
  59.         else if (souvenir == "stickers") {
  60.             price = 1.10;
  61.         }
  62.         else {
  63.             print = "Invalid stock!";
  64.         }
  65.     }
  66.     else if (country == "Denmark") {
  67.         if (souvenir == "flags") {
  68.             price = 3.10;
  69.         }
  70.         else if (souvenir == "caps") {
  71.             price = 6.50;
  72.         }
  73.         else if (souvenir == "posters") {
  74.             price = 4.80;
  75.         }
  76.         else if (souvenir == "stickers") {
  77.             price = 0.90;
  78.         }
  79.         else {
  80.             print = "Invalid stock!";
  81.         }
  82.     }
  83.     else {
  84.         print = "Invalid country!";
  85.     }
  86.  
  87.     if (price > 0) {
  88.         cout << "Pepi bought " << quantity << " " << souvenir << " of " << country
  89.             << " for " << fixed << setprecision(2) << price * quantity << " lv.\n";
  90.     }
  91.     else {
  92.         cout << print << endl;
  93.     }
  94.  
  95.     return 0;
  96. }
  97.  
  98. Решение с тернарен оператор и леко тарикатската:)
  99.  
  100. #include <iostream>
  101. #include <iomanip>
  102.  
  103. using namespace std;
  104.  
  105. int main() {
  106.     string country, souvenir;
  107.     cin >> country >> souvenir;
  108.  
  109.     int quantity;
  110.     cin >> quantity;
  111.  
  112.     double price =
  113.         country == "Argentina" ?
  114.         (souvenir == "flags" ? 3.25 : souvenir == "caps" ? 7.20 : souvenir == "posters" ? 5.10 : souvenir == "stickers" ? 1.25 : 0) :
  115.         country == "Brazil" ?
  116.         (souvenir == "flags" ? 4.20 : souvenir == "caps" ? 8.50 : souvenir == "posters" ? 5.35 : souvenir == "stickers" ? 1.20 : 0) :
  117.         country == "Croatia" ?
  118.         (souvenir == "flags" ? 2.75 : souvenir == "caps" ? 6.90 : souvenir == "posters" ? 4.95 : souvenir == "stickers" ? 1.10 : 0) :
  119.         country == "Denmark" ?
  120.         (souvenir == "flags" ? 3.10 : souvenir == "caps" ? 6.50 : souvenir == "posters" ? 4.80 : souvenir == "stickers" ? 0.90 : 0) : -1;     // Ако сумата е 0 - въведена е невалидна стока, а ако е -1 - невалидна държава!
  121.  
  122.     price > 0 ?
  123.         cout << "Pepi bought " << quantity << " " << souvenir << " of " << country << " for " << fixed << setprecision(2) << price * quantity << " lv.\n" :
  124.         cout << (price == 0 ? "Invalid stock!" : "Invalid country!") << endl;
  125.  
  126.     return 0;
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement