Advertisement
Spocoman

Mobile Operator

Sep 20th, 2023
907
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.97 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. int main() {
  7.     string year, type, net;
  8.     cin >> year >> type >> net;
  9.  
  10.     int months;
  11.     cin >> months;
  12.  
  13.     double sum = 0;
  14.  
  15.     if (type == "Small") {
  16.         if (year == "one") {
  17.             sum += 9.98;
  18.         }
  19.         else {
  20.             sum += 8.58;
  21.         }
  22.     }
  23.     else if (type == "Middle") {
  24.         if (year == "one") {
  25.             sum += 18.99;
  26.         }
  27.         else {
  28.             sum += 17.09;
  29.         }
  30.     }
  31.     else if (type == "Large") {
  32.         if (year == "one") {
  33.             sum += 25.98;
  34.         }
  35.         else {
  36.             sum += 23.59;
  37.         }
  38.     }
  39.     else if (type == "ExtraLarge") {
  40.         if (year == "one") {
  41.             sum += 35.99;
  42.         }
  43.         else{
  44.             sum += 31.79;
  45.         }
  46.     }
  47.    
  48.     if (net == "yes") {
  49.         if (sum <= 10) {
  50.             sum += 5.50;
  51.         }
  52.         else if (sum > 10 && sum <= 30) {
  53.             sum += 4.35;
  54.         }
  55.         else {
  56.             sum += 3.85;
  57.         }
  58.     }
  59.  
  60.     double total = sum * months;
  61.  
  62.     if (year == "two") {
  63.         total -= 3.75 * total / 100;
  64.     }
  65.  
  66.     printf("%.2f lv.\v", total);
  67.  
  68.     return 0;
  69. }
  70.  
  71.  
  72. Решение с тернарен оператор:
  73.  
  74. #include <iostream>
  75. #include <string>
  76.  
  77. using namespace std;
  78.  
  79. int main() {
  80.     string year, type, net;
  81.     cin >> year >> type >> net;
  82.  
  83.     int months;
  84.     cin >> months;
  85.  
  86.     double sum =
  87.         type == "Small" ? (year == "one" ? 9.98 : 8.58) :
  88.         type == "Middle" ? (year == "one" ? 18.99 : 17.09) :
  89.         type == "Large" ? (year == "one" ? 25.98 : 23.59) :
  90.         type == "ExtraLarge" ? (year == "one" ? 35.99 : 31.79) : 0;
  91.        
  92.     sum += net == "yes" ? (sum > 30 ? 3.85 : sum > 10 ? 4.35 : 5.50) : 0;
  93.    
  94.     double total = sum * months;
  95.  
  96.     if (year == "two") {
  97.         total -= 3.75 * total / 100;
  98.     }
  99.  
  100.     printf("%.2f lv.\v", total);
  101.  
  102.     return 0;
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement