Loading...
ShtelianPopov avatar ShtelianPopov 0 Точки

07. Vending Machine - грешка в тестовете

Здравейте колеги,

Получавам грешка в Judge.

При вход :

1
Start
Nuts
Coke
End

Judge очаква :

Sorry, not enough money
Purchased coke
Change: 0.00

Цената на Nuts  е 0.2, a цената на Coke е 1. Вкарваме монета със стойност 1, би трябвало да мога да купя Nuts и за колата да ми даде, че не стигат парите и ресто 0.80 или съм в грешка ?

Тагове:
0
Module: C# Advanced
VeselinStoychev avatar VeselinStoychev 14 Точки
Best Answer

По условие цената на ядките е 2.0, а не 0.2

0
ShtelianPopov avatar ShtelianPopov 0 Точки

Благодаря колега, 

явно вече бях блокирал, имам спомен че проверих цената, но .... :) 

0
ShtelianPopov avatar ShtelianPopov 0 Точки

и в ифовете съм пропуснал че трябва и да е равно, след като смених цената го дебъгнах : insertedMoney >= articlePrice

0
slawi132 avatar slawi132 19 Точки

Може ли да си дадеш кода?

0
ShtelianPopov avatar ShtelianPopov 0 Точки

using System;

namespace _07_VendingMachine
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();
            double insertedMoney = 0;
            double nuts = 0.2;
            double water = 0.7;
            double crisps = 1.5;
            double soda = 0.8;
            double coke = 1.0;
            double articlePrice = 0;


            while (input != "Start")
            {
                double coins = Double.Parse(input);

                if (coins == 0.1)
                {
                    insertedMoney += coins;
                    input = Console.ReadLine();
                }
                else if (coins == 0.2)
                {
                    insertedMoney += coins;
                    input = Console.ReadLine();
                }
                else if (coins == 0.5)
                {
                    insertedMoney += coins;
                    input = Console.ReadLine();
                }
                else if (coins == 1)
                {
                    insertedMoney += coins;
                    input = Console.ReadLine();
                }
                else if (coins == 2)
                {
                    insertedMoney += coins;
                    input = Console.ReadLine();
                }
                else
                {
                    Console.WriteLine($"Cannot accept {coins}");
                    input = Console.ReadLine();
                }


            }


            input = Console.ReadLine();

            while (input != "End")
            {
                if (input == "Nuts")
                {

                    articlePrice = articlePrice + nuts;
                    if (insertedMoney > articlePrice)
                    {
                        Console.WriteLine("Purchased nuts");
                        input = Console.ReadLine();
                    }
                    else
                    {
                        articlePrice = articlePrice - nuts;
                        Console.WriteLine("Sorry, not enough money");
                        input = Console.ReadLine();
                    }
                    
                }

                else if (input == "Water")
                {
                    articlePrice = articlePrice + water;
                    if (insertedMoney > articlePrice)
                    {
                        Console.WriteLine("Purchased water");
                        input = Console.ReadLine();
                    }
                    else
                    {
                        articlePrice = articlePrice - water;
                        Console.WriteLine("Sorry, not enough money");
                        input = Console.ReadLine();
                    }

                }

                else if (input == "Crisps")
                {
                    articlePrice = articlePrice + crisps;
                    if (insertedMoney > articlePrice)
                    {
                        Console.WriteLine("Purchased crisps");
                        input = Console.ReadLine();
                    }
                    else
                    {
                        articlePrice = articlePrice - crisps;
                        Console.WriteLine("Sorry, not enough money");
                        input = Console.ReadLine();
                    }
                }

                else if (input == "Soda")
                {
                    articlePrice = articlePrice + soda;
                    if (insertedMoney > articlePrice)
                    {
                        Console.WriteLine("Purchased soda");
                        input = Console.ReadLine();
                    }
                    else
                    {
                        articlePrice = articlePrice - soda;
                        Console.WriteLine("Sorry, not enough money");
                        input = Console.ReadLine();
                    }
                }

                else if (input == "Coke")
                {
                    articlePrice = articlePrice + coke;
                    if (insertedMoney > articlePrice)
                    {
                        Console.WriteLine("Purchased coke");
                        input = Console.ReadLine();
                    }
                    else
                    {
                        articlePrice = articlePrice - coke;
                        Console.WriteLine("Sorry, not enough money");
                        input = Console.ReadLine();
                    }
                }
                else
                {
                    Console.WriteLine("Invalid product");
                    input = Console.ReadLine();
                }
            }

            double change = 0;
            change = insertedMoney - articlePrice;

            Console.WriteLine($"Change: {change:F2}");
            
        }
    }
}
 

0
slawi132 avatar slawi132 19 Точки

articlePrice се увеличава многократно и цената на продукта се увеличава  трябва да го reset-ваш някъде. Незнам дали ме разбра, но ако искаш решение ето ти едно https://github.com/SvetoslavIT/Fundamentals/blob/master/Labs-and-Homeworks/Basic%20Syntax%2C%20Conditional%20Statements%20and%20Loops%20-%20Exercise/07.%20Vending%20Machine/Program.cs

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