Професионална програма
Loading...
ivanova3579 avatar ivanova3579 0 Точки

Conditional Statements Lab - Toy Shop - PB C#

using System;
using System.Diagnostics.CodeAnalysis;

namespace Toy_shop
{
    class Program
    {
        static void Main(string[] args)
        {
            double price_exc = double.Parse(Console.ReadLine());
            int puzzle = int.Parse(Console.ReadLine());
            int speaking_doll = int.Parse(Console.ReadLine());
            int teddy_bear = int.Parse(Console.ReadLine());
            int petite = int.Parse(Console.ReadLine());
            int truck = int.Parse(Console.ReadLine());
            double sum =puzzle*2.6+speaking_doll*3+teddy_bear*4.1+petite*8.2+truck*2;
            int br= puzzle + speaking_doll + teddy_bear + petite + truck;
            if (br >= 50) sum = sum * 0.75;
            double rent=sum*0.1;
            sum = sum - rent;
            if (price_exc<sum)
                Console.WriteLine($"Yes! {sum - price_exc:F2} lv left.");
            else
                Console.WriteLine($"Not enough money! {price_exc-sum:F2} lv needed.");
        }
    }

Моля, за помощ Judge 90/100. Грешката е в пети тест, но това нищо не ми говори.

7. Магазин за детски играчки

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

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

  • Пъзел - 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."

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

https://judge.softuni.bg/Contests/Compete/Index/2369#6

 

Тагове:
0
Programming Basics with C# 24/07/2020 13:45:38
AlexKadiyski avatar AlexKadiyski 16 Точки

Аз реших задачата по този начин:

 

using System;

namespace _07._Toy_Shop
{
    class Program
    {
        static void Main(string[] args)
        {
            double travelPrice = double.Parse(Console.ReadLine());
            int soldPuzzels = int.Parse(Console.ReadLine());
            int soldDolls = int.Parse(Console.ReadLine());
            int soldTeddybears = int.Parse(Console.ReadLine());
            int soldMinions = int.Parse(Console.ReadLine());
            int soldTrucks = int.Parse(Console.ReadLine());

            double puzzelsMoney = soldPuzzels * 2.60;
            double dollsMoney = soldDolls * 3;
            double teddybearsMoney = soldTeddybears * 4.1;
            double minionsMoney = soldMinions * 8.2;
            double trucksMoney = soldTrucks * 2;

            double total = puzzelsMoney + dollsMoney + minionsMoney + teddybearsMoney + trucksMoney;

            int soldToys = soldPuzzels + soldDolls + soldTeddybears + soldTrucks + soldMinions;

            if (soldToys >= 50)
            {
                total = total * 0.75;
            }
            total = total * 0.9;

            if (total >= travelPrice)
            {
                double remaining = total - travelPrice;
                Console.WriteLine($"Yes! {remaining:f2} lv left.");
            }
            else
            {
                double neededMoney = travelPrice - total;
                Console.WriteLine($"Not enough money! {neededMoney:f2} lv needed.");
            }
        }
    }
}
 

0