Loading...
GeorgiPaunov avatar GeorgiPaunov 265 Точки

Имам някои предложения за твоя код. От специалисти съм чувал, че едно от важните правила в програмирането е Don't repeat yourself. Ти тук пет пъти декларираш едни и същи променливи и около двайсет пъти печаташ едно и също в около хиляда проверки. Така става много писане на много редове код, на теб ти е омръзнало и просто си копирал изхода. Само че си забравил да форматираш moneyLeft и след това всичко надолу ти остава неформатирано. Там ти е грешката. Но по принцип в такива задачи е добре да си вадиш променливите преди проверките if-else и после само да ги променяш. Така по-малко се пише и после по-лесно се проверява. Пробвай да го направиш така. Ето и едно решение за всеки случай:

https://pastebin.com/nJxEnwZj

0
MartinM13 avatar MartinM13 0 Точки

Благодаря за съвета!

Ще го имам впредвид.

0
anizko avatar anizko 1 Точки

Здравейте, видях вашето решение.

Но, моля вижте моя код.

Не ми присвоява стойност на 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.");
            }

           
        }
    }
}
 

0
VasilKotsev avatar VasilKotsev 830 Точки

@anizko

Променливата в която запаваш входа за цветята имаш функция .ToLower(), а после го сравняваш с низове започващи с главна буква, какво очакваш да се случи ?

0
31/03/2019 17:20:21
anizko avatar anizko 1 Точки

Много благодаря!!!

Да това е!

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