Advertisement
Spocoman

Santas Holiday

Sep 21st, 2023
977
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.72 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. int main() {
  7.     int days;
  8.     cin >> days;
  9.  
  10.     int nights = days - 1;
  11.  
  12.     string type, rating;
  13.     cin >> type >> rating;
  14.  
  15.     double price = 0;
  16.  
  17.     if (nights > 0) {
  18.         if (type == "room for one person") {
  19.             price = 18.00;
  20.         }
  21.         else if (type == "apartment") {
  22.             price = 25.00;
  23.  
  24.             if (nights < 10) {
  25.                 price *= 0.70;
  26.             }
  27.             else if (nights > 15) {
  28.                 price *= 0.50;
  29.             }
  30.             else {
  31.                 price *= 0.65;
  32.             }
  33.         }
  34.         else {
  35.             price = 35.00;
  36.  
  37.             if (nights < 10) {
  38.                 price *= 0.90;
  39.             }
  40.             else if (nights > 15) {
  41.                 price *= 0.80;
  42.             }
  43.             else {
  44.                 price *= 0.85;
  45.             }
  46.         }
  47.  
  48.         if (rating == "positive") {
  49.             price *= 1.25;
  50.         }
  51.         else {
  52.             price *= 0.90;
  53.         }    
  54.     }
  55.  
  56.     printf("%.2f\n", price * nights);
  57.  
  58.     return 0;
  59. }
  60.  
  61. Решение с тернарен оператор:
  62.  
  63. #include <iostream>
  64. #include <string>
  65.  
  66. using namespace std;
  67.  
  68. int main() {
  69.     int days;
  70.     cin >> days;
  71.  
  72.     int nights = days - 1;
  73.  
  74.     string type, rating;
  75.     cin >> type >> rating;
  76.  
  77.     double price =
  78.         nights > 0 ?
  79.         ((type == "room for one person" ? 18.00 :
  80.             type == "apartment" ? 25.00 * (nights < 10 ? 0.70 : nights > 15 ? 0.50 : 0.65) :
  81.             35.00 * (nights < 10 ? 0.90 : nights > 15 ? 0.80 : 0.85)) * (rating == "positive" ? 1.25 : 0.90)) : 0;
  82.  
  83.     printf("%.2f\n", price * nights);
  84.  
  85.     return 0;
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement