Софтуерно Инженерство
Loading...
carlitobrigante avatar carlitobrigante 0 Точки

Проблем със задача Fruit Shop от курса Programing Basics C++

Здравейте, имам проблем със задачата проверките от условието ги изпълнява както трябва. , но в judge-системата ми дава 94/100. Решавал съм я преди на C# задачата по същия начин и дава 100/100. Прекарах известно време търсейки си грешката и не я откривам. Ето и кода:

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string fruit, day;
    double quantity;
    cin >> fruit >> day >> quantity;
    cout.precision(2);
    if (day == "Monday" || day == "Tuesday" || day == "Wednesday" || day == "Thursday" || day == "Friday")
    {
        if (fruit == "banana")
            cout << quantity * 2.50;
        else if (fruit == "apple")
            cout << fixed << quantity * 1.20;
        else if (fruit == "orange")
            cout << fixed << quantity * 0.85;
        else if (fruit == "grapefruit")
            cout << fixed << quantity * 1.45;
        else if (fruit == "kiwi")
            cout << fixed << quantity * 2.70;
        else if (fruit == "pineapple")
            cout << fixed << quantity * 5.50;
        else if (fruit == "grapes")
            cout << fixed << quantity * 3.85;
        else
            cout << "error";
    }
    else if (day == "Saturday" || day == "Sunday")
    {
        if (fruit == "banana")
            cout << fixed << quantity * 2.70;
        else if (fruit == "apple")
            cout << fixed << quantity * 1.25;
        else if (fruit == "orange")
            cout << fixed << quantity * 0.90;
        else if (fruit == "grapefruit")
            cout << fixed << quantity * 1.60;
        else if (fruit == "kiwi")
            cout << fixed << quantity * 3.00;
        else if (fruit == "pineapple")
            cout << fixed << quantity * 5.60;
        else if (fruit == "grapes")
            cout << fixed << quantity * 4.20;
        else
            cout << "error";
    }
    else
        cout << "error";
    return 0;
}

 

Предварително Благодаря! (:

 

Тагове:
0
kolioi avatar kolioi 612 Точки
Best Answer

Тук

if (fruit == "banana")
    cout << quantity * 2.50;

си забравил fixed и затова ти дава само 94/100 smiley

По-добре си направи една променлива price като променяш стойността й в зависимост от продукта и чак накрая отпечатваш цялата сума

cout << fixed << quantity * price << endl;

 

0
23/10/2017 23:43:29
carlitobrigante avatar carlitobrigante 0 Точки

Доста пъти го прочетох, незнам как не съм го видял.. Благодаря! Също така добро предложение за променливата, спестява се писане с нея.

0
24/10/2017 00:35:56