Професионална програма
Loading...
+ Нов въпрос
kalojan avatar kalojan 6 Точки

Toy Shop - Помощ

Не разбирам къде ми е проблема,ако някой ми помогне ще съм му много благодарен.

Когато тествам кода всичко ми е ОК, но в Judge ми дава 60/100...?!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            //	Пъзел - 2.60 лв.
            //	Говореща кукла -3 лв.
            //	Плюшено мече -4.10 лв.
            //  Миньон - 8.20 лв.
            //  Камионче - 2 лв.
            //   > 50 - 25% disc
            // 10 % = Loan 

            double tourPrice = double.Parse(Console.ReadLine());
            int puzz = int.Parse(Console.ReadLine());
            int dolls = int.Parse(Console.ReadLine());
            int bears = int.Parse(Console.ReadLine());
            int min = int.Parse(Console.ReadLine());
            int trucks = int.Parse(Console.ReadLine());

            double toysCnt = puzz + dolls + bears + min + trucks;
            double toysPrice = (puzz * 2.60) + (dolls * 3) + (bears * 4.10) + (min * 8.2) + (trucks * 2);

            if (toysCnt >= 50)
            {
                double discount = toysPrice - (toysPrice * 0.25);
                double finalPrice = discount - (discount * 0.10);
                if (finalPrice >= tourPrice)
                {
                    Console.WriteLine($"Yes! {finalPrice - tourPrice:F2} lv left.");
                }
            }
            else
            {
                double finalPrice = toysPrice - (toysPrice * 0.10);
                if (finalPrice < tourPrice)
                {
                    Console.WriteLine($"Not enough money! {tourPrice - finalPrice:F2} lv needed.");
                }
            }
        }
    }
}

 

0
Programming Basics with C#
kkaraivanov avatar kkaraivanov 388 Точки

Колега, мисля че грешката ти е в деклариране на променливата

double discount = toysPrice - (toysPrice * 0.25);

Декларирай я извън if проверката и пробвай.

double discount = toysPrice * 0.25;
0
19/01/2020 17:21:26
RoumenRoussev avatar RoumenRoussev 43 Точки

Имаше пропуски в кода. Поправих го и ти сложих коментари. Изкарва 100 т.

Малко са ти объркващи имената на променливите и kkaraivanov се е заблудил. 

double discount = toysPrice - (toysPrice * 0.25);

Тук може да е "double sumAfterDiscount" или подобно. Типа данни може да те подведе. Когато работиш с финансови операции е по-добре да ползваш decimal.

using System;

namespace Test_2
{
    class Program
    {
        static void Main(string[] args)
        {
            double tourPrice = double.Parse(Console.ReadLine());
            int puzz = int.Parse(Console.ReadLine());
            int dolls = int.Parse(Console.ReadLine());
            int bears = int.Parse(Console.ReadLine());
            int min = int.Parse(Console.ReadLine());
            int trucks = int.Parse(Console.ReadLine());

            double toysCnt = puzz + dolls + bears + min + trucks;
            double toysPrice = (puzz * 2.60) + (dolls * 3) + (bears * 4.10) + (min * 8.2) + (trucks * 2);

            if (toysCnt >= 50)
            {
                double discount = toysPrice - (toysPrice * 0.25);
                double finalPrice = discount - (discount * 0.10);
                if (finalPrice >= tourPrice)
                {
                    Console.WriteLine($"Yes! {finalPrice - tourPrice:F2} lv left.");
                }
                else if (finalPrice < tourPrice) // липсваше
                {
                    Console.WriteLine($"Not enough money! {tourPrice - finalPrice:F2} lv needed.");
                }
            }
            else
            {
                double finalPrice = toysPrice - (toysPrice * 0.10);
                if (finalPrice >= tourPrice) // липсваше
                {
                    Console.WriteLine($"Yes! {finalPrice - tourPrice:F2} lv left.");
                }
                else if (finalPrice < tourPrice)
                {
                    Console.WriteLine($"Not enough money! {tourPrice - finalPrice:F2} lv needed.");
                }
            }
        }
    }
}

 

0
19/01/2020 22:34:51