Софтуерно Инженерство
Loading...
+ Нов въпрос
alexis.driomova avatar alexis.driomova 3 Точки

задача c++//11. Магазин за детски играчки

Здравейте,имам нужда от малко помощ и пояснения с тази задача:

 

Петя има магазин за детски играчки. Тя получава голяма поръчка, която трябва да изпълни. С парите, които ще спечели иска да отиде на екскурзия. Да се напише програма, която пресмята печалбата от поръчката.

Цени на играчките:

  • Пъзел - 2.60 лв.
  • Говореща кукла - 3 лв.
  • Плюшено мече - 4.10 лв.
  • Миньон - 8.20 лв.
  • Камионче - 2 лв.

Ако поръчаните играчки са 50 или повече магазинът прави отстъпка 25% от общата цена. От спечелените пари Петя трябва да даде 10% за наема на магазина. Да се пресметне дали парите ще ѝ стигнат да отиде на екскурзия.

Вход

От конзолата се четат 6 реда:

  1. Цена на екскурзията - реално число в интервала [1.00 … 10000.00]
  2. Брой пъзели - цяло число в интервала [0… 1000]
  3. Брой говорещи кукли - цяло число в интервала [0 … 1000]
  4. Брой плюшени мечета - цяло число в интервала [0 … 1000]
  5. Брой миньони - цяло число в интервала [0 … 1000]
  6. Брой камиончета - цяло число в интервала [0 … 1000]

Изход

На конзолата се отпечатва:

  • Ако парите са достатъчни се отпечатва:
    • "Yes! {оставащите пари} lv left."
  • Ако парите НЕ са достатъчни се отпечатва:
    • "Not enough money! {недостигащите пари} lv needed."

Резултатът трябва да се форматира до втория знак след десетичната запетая.

Ето го моят код донякъде,но не знам как да продължа след if.Не знам къде да сложа останалата част от кода (вътре в if или не)

Съжалявам ако е тъп въпроса.

Благодаря предварително :)

 

#include <iostream>
sing namespace std;

int main() {

    

    double pricevacation, puzzlecount, talkingdollscount, 
        teddybearscount, minionscount, truckscount;
    cin >> pricevacation >> puzzlecount >> talkingdollscount >> teddybearscount >> 
        minionscount >> truckscount;
    

    double sumtoys = (puzzlecount*2.60) + (talkingdollscount * 3) + (teddybearscount*4.10)
        + (minionscount*8.20) + (truckscount * 2);

    double toyscount = puzzlecount + talkingdollscount +
        teddybearscount + minionscount + truckscount; 

        if (toyscount >= 50) {
            double discount = 0.25*sumtoys; // ??
            
        }
        
        double finalsum = sumtoys - discount; // ??
    
        double rent = 0.10*finalsum;  // ??

        


    system("pause");
        return 0;
    }

Тагове:
0
C++ Programming 01/08/2019 18:15:43
alexis.driomova avatar alexis.driomova 3 Точки

Измислих го,но ми дава 90/100.Не знам къде греша!

#include <iostream>
using namespace std;

int main() {


    double pricevacation;
    cin >> pricevacation;
    double puzzle; // брой
    cin >> puzzle;
    double dolls; //брой
    cin >> dolls;
    double teddybear; //брой
    cin >> teddybear;
    double minions; //брой
    cin >> minions;
    double trucks; //брой
    cin >> trucks;

    double toysum = (puzzle*2.60) + (dolls * 3) + (teddybear*4.10) + (minions*8.20) + (trucks * 2);
    //сума на играчките

    double toycount = puzzle + dolls + teddybear + minions + trucks; //броя на играчките 

    if (toycount >= 50) {
         toysum = toysum - 0.25*toysum;
        
    }

    toysum = toysum - (0.10*toysum);

    if (toysum > pricevacation) {

        double left = toysum - pricevacation;
        cout.setf(ios::fixed);
        cout.precision(2);
        cout << "Yes! " << left<<" lv left."<<endl;
    }
    else {
        double cant = pricevacation - toysum;
        cout.setf(ios::fixed);
        cout.precision(2);
        cout << "Not enough money! " << cant << " lv needed." << endl;
    }
    
    
    system("pause");
    return 0;
}
 

0
BoyanDimov avatar BoyanDimov 0 Точки

Здравей! Разгледах задачата и според мен грешката ти е в последния If(toysum >=pricevacation), защото ако има точно пари пак и стигат. Надявам се да е това.

0
alexis.driomova avatar alexis.driomova 3 Точки

Здравей,да това е било!Много благодаря!

0