Loading...
Kiril1914 avatar Kiril1914 2 Точки

Не мога да открия грешката....

Здравейте, изпитвам затруднение със задача "Цена за транспорт" от дяла "Допълнителни задачи" в графа основи на програмирането. Та ето кода ми:

using System;

namespace PriceForTransport
{
    class Program
    {
        static void Main()
        {

            double km = double.Parse(Console.ReadLine());
            string dayOrNight = Console.ReadLine();

            double taxi = 0.79;
            double taxiNight = 0.90;

            double bus = 0.09;

            double train = 0.06;

            double allMoney = 0;
           
            
            
            
            if (dayOrNight == "day" && km >=1 && km <= 20)
            {
             allMoney = 0.70 + km * taxi;
             Console.WriteLine($"{allMoney:f2}");
            }

            if (dayOrNight == "night" && km >= 1 && km <= 20)
            {   
               allMoney = 0.70 + km * taxiNight;
               Console.WriteLine($"{allMoney:f2}");

            }  

            if (km >= 20 && km <= 99)
            {
                if (dayOrNight == "day" || dayOrNight == "night")
                {
                    allMoney = km * bus;
                }

                Console.WriteLine($"{allMoney:f2}");

            }


            if (km >= 100)
            {
                if (dayOrNight == "day" || dayOrNight == "night")
                {
                    allMoney = km * train;

 

                    Console.WriteLine($"{allMoney:f2}");
                }
            
                
               
            }

 


        }
    }
}

Judge ми дава 83/100. Дори след многократно дебъгване не мога да отркия грешката си. Ще се радвам ако някой внесе повече яснота.

Благодаря

0
Programming Basics
DeveloperEnthusiast avatar DeveloperEnthusiast 303 Точки
double km = double.Parse(Console.ReadLine()); # тук мисля, че трябва да е int
string dayOrNight = Console.ReadLine();

double allMoney = 0;

if (km >= 100){
    allMoney = km * 0.06
}
else if (km >= 20){
    allMoney = km * 0.09
}
else{
    if (dayOrNight == "day"){
        allMoney = 0.70 + km * 0.79
    }
    else if (dayOrNight == "night"){
        allMoney = 0.70 + km * 0.90
    }
}

# и накрая принтиш...

Нещо такова можеш да направиш, което ще е мн по-кратко и ще сработи... Пиша го директно във форума и може да съм объркал нещо, но логиката се вижда. Поздрави smiley

0
01/02/2020 09:20:47
Kiril1914 avatar Kiril1914 2 Точки

Благодаря ти! Винаги има по-кратки решения на задачите. Но най-странното е че при тест на моят код като изход откъм изчисления всичко си излизаше...:D  Judge ме беше изненадал.

Поздрави

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