Loading...
Darkk avatar Darkk 26 Точки

Toy shop задача

Здравейте , кода ми смята точно , но все пак judge-а ми дава грешки и не разбира защо.Моля ако някой да ми посочи грешката .

using System;

namespace ToyShop
{
    class Program
    {
        static void Main(string[] args)
        {
            double excursionPrice = double.Parse(Console.ReadLine());
            int puzzleToy = int.Parse(Console.ReadLine());
            int dolleToy = int.Parse(Console.ReadLine());
            int bearToy = int.Parse(Console.ReadLine());
            int minionToy = int.Parse(Console.ReadLine());
            int truckToy = int.Parse(Console.ReadLine());


            double orderPrice = (puzzleToy * 2.60 + dolleToy * 3 + bearToy * 4.10 + minionToy * 8.20 + truckToy * 2)* 0.90;
            double orderQuantity = puzzleToy + dolleToy + bearToy + minionToy + truckToy;

            if (orderPrice >= excursionPrice)
            {
                if (orderQuantity >= 50)
                {
                    double orderPriceSell = (orderPrice * 0.75) - excursionPrice;
                    Console.WriteLine($"Yes! {orderPriceSell:f2} lv left.");
                }
                else
                {
                    double orderPriceRegular = orderPrice - excursionPrice;
                    Console.WriteLine($"Yes! {orderPriceRegular:f2} lv left.");
                }
            }
            else
            {
                double neededMoney = excursionPrice - orderPrice;
                Console.WriteLine($"Not enough money! {neededMoney:f2} lv needed.");
            }
        }
    }
}
 

Тагове:
0
Programming Basics with C# 18/05/2019 23:40:51
richard9696 avatar richard9696 4 Точки

Привет,

Имаш няколко грешки в задачата.

1. Цената за наема НЕ се изважда веднага след като си сметнал продажбата, а след като си изчислил дали има или няма отстъпка. Тоест това *0.90 трябва да се случи някъде в If проверките.

2. Първо трябва да провериш дали продадените играчки са повече от 50, и след това да сметнеш отстъпката(ако има такава), да извадиш наема и чак след това да провериш дали парите стигат за екскурзия. Това което ти си направил е , че проверяваш първо дали парите стигат за ексурзия и след това смяташ отстъпката, а трябва да направиш обратното.

Ето едно работещо решение:

https://pastebin.com/gVvfs5et 

 

 

0
Darkk avatar Darkk 26 Точки

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

using System;

namespace ToyShop
{
    class Program
    {
        static void Main(string[] args)
        {
            double excursionPrice = double.Parse(Console.ReadLine());
            int puzzleToy = int.Parse(Console.ReadLine());
            int dolleToy = int.Parse(Console.ReadLine());
            int bearToy = int.Parse(Console.ReadLine());
            int minionToy = int.Parse(Console.ReadLine());
            int truckToy = int.Parse(Console.ReadLine());


            double orderPrice = (puzzleToy * 2.60 + dolleToy * 3 + bearToy * 4.10 + minionToy * 8.20 + truckToy * 2)* 0.90;
            double orderQuantity = puzzleToy + dolleToy + bearToy + minionToy + truckToy;

            if(orderQuantity < 50)
            {
                if(orderPrice < excursionPrice)
                {
                    Console.WriteLine($"Not enough money! {excursionPrice - orderPrice:f2} lv needed.");
                }
                else
                {
                    Console.WriteLine($"Yes! {orderPrice - excursionPrice:f2} lv left.");
                }
            }
            else if (orderQuantity >= 50)
            {
                if (orderPrice * 0.75 < excursionPrice)
                {
                    Console.WriteLine($"Not enough money! {excursionPrice - (orderPrice * 0.75):f2} lv needed.");
                }
                else
                {
                    Console.WriteLine($"Yes! {(orderPrice * 0.75) - excursionPrice:f2} lv left.");
                }
            }
            else
            {
                Console.WriteLine();
            }
        }
    }
}
 

 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.