Софтуерно Инженерство
Loading...
Yordan.Vachev avatar Yordan.Vachev 2 Точки

SkiTrip

#include <iostream>

using namespace std;

int main()
{
    int days;
    string room;
    string rating;
    double totalCost = 0;

    switch (room)
    {
        case "room for one person":
            if (rating == "positive")
            {
                totalCost = (days - 1) * 18*1.25;
            }
            else if (rating == "negative")
            {
                totalCost = (days - 1) * 18*1.10;
            }
            break;
        case "apartment":
            if (days < 10)
            {
                totalCost= ((days - 1)  25)-((days - 1)  25 * 0.30);
            }
            else if (days >= 10 && days<15)
            {
                totalCost = ((days - 1)  25) - ((days - 1)  25 * 0.35);
            }
            else if (days >= 15)
            {
                totalCost = ((days - 1)  25) - ((days - 1)  25 * 0.50);
            }
            if (rating == "positive")
            {
                totalCost = totalCost + (totalCost * 0.25);
            }
            else if (rating == "negative")
            {
                totalCost = totalCost - (totalCost * 0.10);
            }
            break;
        case "president apartment":
            if (days < 10)
            {
                totalCost = ((days - 1)  35) - ((days - 1)  35 * 0.10);
            }
            else if (days >= 10 && days < 15)
            {
                totalCost = ((days - 1)  35) - ((days - 1)  35 * 0.15);
            }
            else if (days >= 15)
            {
                totalCost = ((days - 1)  35) - ((days - 1)  35 * 0.20);
            }
            if (rating == "positive")
            {
                totalCost = totalCost + (totalCost * 0.25);
            }
            else if (rating == "negative")
            {
                totalCost = totalCost - (totalCost * 0.10);
            }
            break;
    }
    cout << totalCost;

    return 0;
}


Атанас решава да прекара отпуската си в Банско и да кара ски. Преди да отиде обаче, трябва да резервира
хотел и да изчисли колко ще му струва престоя. Съществуват следните видове помещения, със следните
цени за престой:
 &quot;room for one person&quot; – 18.00 лв. за нощувка
 &quot;apartment&quot; – 25.00 лв. за нощувка
 &quot;president apartment&quot; – 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]
 Втори ред - вид помещение - &quot;room for one person&quot;, &quot;apartment&quot; или &quot;president apartment&quot;
 Трети ред - оценка - &quot;positive&quot; или &quot;negative&quot;
Изход
На конзолата трябва да се отпечата един ред:
 Цената за престоят му в хотела, форматирана до втория знак след десетичната запетая.
Примерен вход и изход
Вход Изход Обяснения
14
apartment
positive

264.06 14 дни =&gt; 13 нощувки =&gt; 13 * 25.00 = 325 лв.
10 &lt; 13 дни &lt; 15 =&gt; 325 – 35%= 211.25 лв.
Оценката е positive =&gt; 211.25 + 25% = 264.0625 -&gt; 264.06 лв.
Вход

Ще ми трябва малко помощ!

 

Тагове:
0
Programming Basics with C++ 28/06/2019 11:10:14
RuNNeR4142 avatar RuNNeR4142 392 Точки

Много повтаряне на код и малко грешки с бакшиша,
ако разделиш задачата на части ще е много по-лесно и подредено.
Ето един примерен код на java https://pastebin.com/i6UbBwhy

0
28/06/2019 13:21:23
n.yordanov avatar n.yordanov 1 Точки

Здравей, кодът работи, но искам само да добавя, че си забравил (или не си копирал) import java.util.Scanner;

0