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

05. Puppy Care C# някой може ли да намери грешката

using System;

namespace TakeCareOfAPuppy
{
    class Program
    {
        static void Main(string[] args)
        {
            int purchasedAmount = int.Parse(Console.ReadLine()); // Purchased amount of puppy food
            int totalFoodEaten = 0;

            string input = Console.ReadLine(); // Amount of food eaten at each meal
            while (input != "Adopted")
            {
                int foodEaten = int.Parse(input);
                totalFoodEaten += foodEaten;

                input = Console.ReadLine();
            }

            int remainingFood = purchasedAmount * 1000 - totalFoodEaten;
            if (remainingFood >= 0)
            {
                Console.WriteLine($"Food is enough! Leftovers: {remainingFood} grams.");
            }
            else
            {
                Console.WriteLine($"Food is not enough. You need {Math.Abs(remainingFood)} grams more.");
            }
        }
    }
}

Тагове:
0
Programming Basics
celinedion avatar celinedion -1 Точки

Кодът изглежда правилен и трябва да работи добре, стига входният формат да съответства на очаквания формат.

Има обаче потенциална грешка в изчисляването на оставащата храна, ако закупената сума не е дадена в грамове. Кодът приема, че purchasedAmount е дадено в грамове и го умножава по 1000, за да го преобразува в грамове. Изявлението за проблема обаче не посочва изрично единиците за purchasedAmount.

Ако закупената сума е дадена в различна единица (напр. килограми), изчислението на оставащата храна ще бъде неправилно. За да коригирате това, трябва да изясните очакваната единица за закупена сума и съответно да коригирате изчислението на оставащата храна. Например, ако purchasedAmount е дадено в килограми, трябва да го умножите по 1000, за да го преобразувате в грамове, преди да извадите totalFoodEaten. weaver

Ето актуализирана версия на кода, която изрично предполага, че purchasedAmount е дадена в грамове:

using System;

namespace TakeCareOfAPuppy
{
    class Program
    {
        static void Main(string[] args)
        {
            int purchasedAmount = int.Parse(Console.ReadLine()); // Purchased amount of puppy food in grams
            int totalFoodEaten = 0;

            string input = Console.ReadLine(); // Amount of food eaten at each meal
            while (input != "Adopted")
            {
                int foodEaten = int.Parse(input);
                totalFoodEaten += foodEaten;

                input = Console.ReadLine();
            }

            int remainingFood = purchasedAmount - totalFoodEaten;
            if (remainingFood >= 0)
            {
                Console.WriteLine($"Food is enough! Leftovers: {remainingFood} grams.");
            }
            else
            {
                Console.WriteLine($"Food is not enough. You need {Math.Abs(remainingFood)} grams more.");
            }
        }
    }
}

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