Conditional Statements Advanced Lab - Ski trip - PB C#
using System;
namespace Ski_trip
{
class Program
{
static void Main(string[] args)
{
int day_stay = int.Parse(Console.ReadLine());
string type_room = Console.ReadLine();
string assessment = Console.ReadLine();
day_stay = day_stay - 1;
switch (type_room)
{
case "room for one person":
{
if (day_stay < 0 || day_stay > 365) Console.WriteLine($"{0:F2}");
if (day_stay >= 1 && day_stay <= 365)
{
if (assessment == "positive") Console.WriteLine($"{day_stay * 18 * 1.25:F2}");
if (assessment == "negative") Console.WriteLine($"{day_stay * 18 * .9:F2}");
}
}
break;
case "apartment":
{
if (day_stay < 0 || day_stay > 365) Console.WriteLine($"{0:F2}");
if (day_stay >= 1 && day_stay < 10)
{
if (assessment == "positive") Console.WriteLine($"{day_stay * 25 * .7 * 1.25:F2}");
if (assessment == "negative") Console.WriteLine($"{day_stay * 25 * .7 * .9:F2}");
}
if (day_stay >= 10 && day_stay <= 15)
{
if (assessment == "positive") Console.WriteLine($"{day_stay * 25 * .65 * 1.25:F2}");
if (assessment == "negative") Console.WriteLine($"{day_stay * 25 * .65 * .9:F2}");
}
if (day_stay > 15 && day_stay <= 365)
{
if (assessment == "positive") Console.WriteLine($"{day_stay * 25 * .5 * 1.25:F2}");
if (assessment == "negative") Console.WriteLine($"{day_stay * 25 * .5 * .9:F2}");
}
}
break;
case "president apartment":
{
if (day_stay < 0 || day_stay > 365) Console.WriteLine($"{0:F2}");
if (day_stay >= 1 && day_stay < 10)
{
if (assessment == "positive") Console.WriteLine($"{day_stay * 35 * .9 * 1.25:F2}");
if (assessment == "negative") Console.WriteLine($"{day_stay * 35 * .9 * .9:F2}");
}
if (day_stay >= 10 && day_stay <= 15)
{
if (assessment == "positive") Console.WriteLine($"{day_stay * 35 * .85 * 1.25:F2}");
if (assessment == "negative") Console.WriteLine($"{day_stay * 35 * .85 * .9:F2}");
}
if (day_stay > 15 && day_stay <= 365)
{
if (assessment == "positive") Console.WriteLine($"{day_stay * 35 * .8 * 1.25:F2}");
if (assessment == "negative") Console.WriteLine($"{day_stay * 35 * .8 * .9:F2}");
}
}
break;
}
}
}
}
Моля, за помощ 90/100 в judge.
13. Ски почивка
Атанас решава да прекара отпуската си в Банско и да кара ски. Преди да отиде обаче, трябва да резервира хотел и да изчисли колко ще му струва престоя. Съществуват следните видове помещения, със следните цени за престой:
- "room for one person" – 18.00 лв за нощувка
- "apartment" – 25.00 лв за нощувка
- "president apartment" – 35.00 лв за нощувка
Според броят на дните, в които ще остане в хотела (пример: 11 дни = 10 нощувки) и видът на помещението, което ще избере, той може да ползва различно намаление. Намаленията са както следва:
вид помещение |
по-малко от 10 дни |
между 10 и 15 дни |
повече от 15 дни |
room for one person |
не ползва намаление |
не ползва намаление |
не ползва намаление |
apartment |
30% от крайната цена |
35% от крайната цена |
50% от крайната цена |
president apartment |
10% от крайната цена |
15% от крайната цена |
20% от крайната цена |
След престоя, оценката на Атанас за услугите на хотела може да е позитивна (positive) или негативна (negative) . Ако оценката му е позитивна, към цената с вече приспаднатото намаление Атанас добавя 25% от нея. Ако оценката му е негативна приспада от цената 10%.
Вход
Входът се чете от конзолата и се състои от три реда:
- Първи ред - дни за престой - цяло число в интервала [0...365]
- Втори ред - вид помещение - "room for one person", "apartment" или "president apartment"
- Трети ред - оценка - "positive" или "negative"
Изход
На конзолата трябва да се отпечата един ред:
- Цената за престоят му в хотела, форматирана до втория знак след десетичната запетая.
Примерен вход и изход
Вход |
Изход |
Обяснения |
|||
14 apartment positive |
264.06 |
14 дни => 13 нощувки => 13 * 25.00 = 325 лв. 10 < 13 дни < 15 => 325 – 35%= 211.25 лв. Оценката е positive => 211.25 + 25% = 264.0625 -> 264.06 лв. |
|||
Вход |
Изход |
Вход |
Изход |
Вход |
Изход |
30 president apartment negative |
730.80 |
12 room for one person positive |
247.50 |
2 apartment positive |
21.88 |