Проблем със задачата "Нов дом" - C#
Решението ми вади 40/100 точки в Judge : https://pastebin.com/Wwdvc8fQ
Не мога да намеря проблема.
Благодаря предварително!
Решението ми вади 40/100 точки в Judge : https://pastebin.com/Wwdvc8fQ
Не мога да намеря проблема.
Благодаря предварително!
Имам някои предложения за твоя код. От специалисти съм чувал, че едно от важните правила в програмирането е Don't repeat yourself. Ти тук пет пъти декларираш едни и същи променливи и около двайсет пъти печаташ едно и също в около хиляда проверки. Така става много писане на много редове код, на теб ти е омръзнало и просто си копирал изхода. Само че си забравил да форматираш moneyLeft и след това всичко надолу ти остава неформатирано. Там ти е грешката. Но по принцип в такива задачи е добре да си вадиш променливите преди проверките if-else и после само да ги променяш. Така по-малко се пише и после по-лесно се проверява. Пробвай да го направиш така. Ето и едно решение за всеки случай:
https://pastebin.com/nJxEnwZj
Благодаря за съвета!
Ще го имам впредвид.
Здравейте, видях вашето решение.
Но, моля вижте моя код.
Не ми присвоява стойност на total, остава си 0. Защо? Логиката ми е грешна сигурно...
using System;
namespace New_House
{
class Program
{
static void Main(string[] args)
{
string TipeFlour = Console.ReadLine().ToLower();
double Count = double.Parse(Console.ReadLine());
double Budget = double.Parse(Console.ReadLine());
double total = 0;
if (TipeFlour == "Roses")
{
if (Count > 80)
{
total = Count * 5 - (Count * 5 * 10 / 100);
}
else
{
total = Count * 5;
}
}
else if (TipeFlour == "Dahlias")
{
if (Count > 90)
{
total = Count * 3.8 - (Count * 3.8 * 15 / 100);
}
else
{
total = Count * 3.8;
}
}
else if (TipeFlour == "Tulips")
{
if (Count > 80)
{
total = Count * 2.8 - (Count * 2.8 * 15 / 100);
}
else
{
total = Count * 2.8;
}
}
else if (TipeFlour == "Narcissus")
{
if (Count < 120)
{
total = Count * 3 + (Count * 3 * 15 / 100);
}
else
{
total = Count * 3;
}
}
else if (TipeFlour == "Gladiolus")
{
if (Count < 80)
{
total = Count * 2.5 + (Count * 2.5 * 20 / 100);
}
else
{
total = Count * 2.5;
}
}
double S = Math.Abs(Budget - total);
if (Budget >= total)
{
Console.WriteLine($"Hey, you have a great garden with {Count} {TipeFlour} and {S:f2} leva left.");
}
else if (Budget < total)
{
Console.WriteLine($" Not enough money, you need {S:f2} leva more.");
}
}
}
}
@anizko
Променливата в която запаваш входа за цветята имаш функция .ToLower(), а после го сравняваш с низове започващи с главна буква, какво очакваш да се случи ?
Много благодаря!!!
Да това е!