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

Задача 12. Toy Shop

Здравейте!

На задача 12. Toy Shop ми дава само 40/100 в Judge и не мога да си обясня защо. В Details не ми показва конкретна грешка! Ето ми кода:

using System;

namespace ToyShop
{
    class Program
    {
        static void Main(string[] args)
        {
            double excursionPrice = double.Parse(Console.ReadLine());
            int numPuzzels = int.Parse(Console.ReadLine());
            int numDolls = int.Parse(Console.ReadLine());
            int numBears = int.Parse(Console.ReadLine());
            int numMinions = int.Parse(Console.ReadLine());
            int numTrucks = int.Parse(Console.ReadLine());

            double income = numPuzzels * 2.60 + numDolls * 3.0 + numBears * 4.10 + numMinions * 8.20 + numTrucks * 2.0;
            int numOfToys = numPuzzels + numDolls + numBears + numMinions + numTrucks;

            if (numOfToys >= 50)
            {
                income = income - income * 0.25;
            }

            income = income - income * 0.10;

            if (excursionPrice <= income)
            {
                Console.WriteLine("Yes! {0:f2} lv left.", income - excursionPrice);
            }
            else
            {
                Console.WriteLine("Not enough money! {0} lv needed.", Math.Abs(income - excursionPrice));
            }

        }
    }
}
 

Radtod77 avatar Radtod77 23 Точки
Best Answer

Добави си форматирането до втория знак:

Console.WriteLine("Not enough money! {0} lv needed.", Math.Abs(income - excursionPrice));

трябва да стане:

Console.WriteLine("Not enough money! {0:F2} lv needed.", Math.Abs(income - excursionPrice));

 

0
16/02/2019 20:02:56
kirildodov avatar kirildodov 0 Точки

Ц ц ц, това е бил проблема, даде ми 100/100! 

Не мога да повярвам, че за такава дреболия Judge ти взема 60 от оценката, това е супер тъпо!

Многоо благодаря за помощта!

0
Radtod77 avatar Radtod77 23 Точки

Аз submit-нах вече 8 варианта и най- доброто, което постигнах е 90 / 100 

Това е моя код:

using System;

namespace Toy_shop
{
    class Program
    {
        static void Main(string[] args)
        {
            double TripPrice = double.Parse(Console.ReadLine());
            int puzzleCount = int.Parse(Console.ReadLine());
            int dollCount = int.Parse(Console.ReadLine());
            int bearCount = int.Parse(Console.ReadLine());
            int minionCount = int.Parse(Console.ReadLine());
            int truckCount = int.Parse(Console.ReadLine());
            int toyCount = puzzleCount + dollCount + bearCount + minionCount + truckCount;
            double toySum = (puzzleCount * 2.60) + (dollCount * 3)+ (bearCount * 4.10) + (minionCount * 8.20) + (truckCount * 2);
            double discount = 0;

            if(toyCount >= 50)
            {
                discount = 0.25;
            }

            double totalSum = toySum - toySum * discount;
            double finalSum = totalSum - totalSum * 0.1;
            double moneyLeft = Math.Abs(TripPrice - finalSum);
            
            if(finalSum > TripPrice)
            {
                Console.WriteLine($"Yes! {moneyLeft:F2} lv left.");
            }
            else
            {
                Console.WriteLine($"Not enough money! {moneyLeft:F2} lv needed.");
            }
        }
    }
}
Ако някой може да помогне да получа положителен отговор и на тест 5 ще съм много благодарна!

0
16/02/2019 19:53:09
DimitarVlaev avatar DimitarVlaev 89 Точки

Здравей колежке,

if(finalSum >= TripPrice) - ако finalSum = TripPrice парите също стигат.

Успех!

1
Radtod77 avatar Radtod77 23 Точки

Супер!

Това свърши работа. Най- сетне заветните 100/100 .smiley

Благодаря много колега!

0
SofiaHara avatar SofiaHara 1 Точки

Като цяло мисля, че не са коректни формулите ти след като си изчисляваш income-a (при мен totalProfit). Пробвай с това :)

double rentExpense = totalProfitAfterDiscount * 0.1;
 double profitAfterExpenses = totalProfitAfterDiscount - rentExpense;

0
16/02/2019 21:24:27