Loading...
viktor.nikolov avatar viktor.nikolov 6 Точки

Цена за транспорт

Здравейте,на следната задача получавам 83/100 точки.Къде ми е грешката?

Студент трябва да пропътува n километра. Той има избор измежду три вида транспорт:

·        Такси. Начална такса: 0.70 лв. Дневна тарифа: 0.79 лв. / км. Нощна тарифа: 0.90 лв. / км.

·        Автобус. Дневна / нощна тарифа: 0.09 лв. / км. Може да се използва за разстояния минимум 20 км.

·        Влак. Дневна / нощна тарифа: 0.06 лв. / км. Може да се използва за разстояния минимум 100 км.

Напишете програма, която чете броя километри n и период от деня (ден или нощ), въведени от потребителя,  и изчислява цената на най-евтиния транспорт.

Студент трябва да пропътува n километра. Той има избор измежду три вида транспорт:

·        Такси. Начална такса: 0.70 лв. Дневна тарифа: 0.79 лв. / км. Нощна тарифа: 0.90 лв. / км.

·        Автобус. Дневна / нощна тарифа: 0.09 лв. / км. Може да се използва за разстояния минимум 20 км.

·        Влак. Дневна / нощна тарифа: 0.06 лв. / км. Може да се използва за разстояния минимум 100 км.

Напишете програма, която чете броя километри n и период от деня (ден или нощ), въведени от потребителя,  и изчислява цената на най-евтиния транспорт.

Моето решение:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp5
{
    class Program
    {
        static void Main(string[] args)
        {
            var n = int.Parse(Console.ReadLine());
            var time = Console.ReadLine();
            if (time == "day")
            {
                if (n < 20)
                {
                    var taxi = (0.79 * n) + 0.70;
                    Console.WriteLine(String.Format("{0:F2}", taxi));
                }
                else if (n >= 20 && n <100)
                {
                    var bus = 0.09 * n;
                    Console.WriteLine(String.Format("{0:F2}", bus));
                }
                else if (n > 100)
                {
                    var train = 0.06 * n;
                    Console.WriteLine(String.Format("{0:F2}", train));
                }

            }
                else if ( time == "night")
            {
                if (n < 20)
                {
                    var taxi = (0.9 * n) + 0.70;
                    Console.WriteLine(String.Format("{0:F2}", taxi));
                }
                else if (n >= 20 && n < 100)
                {
                    var bus = 0.09 * n;
                    Console.WriteLine(String.Format("{0:F2}", bus));
                }
                else if (n > 100)
                {
                    var train = 0.06 * n;
                    Console.WriteLine(String.Format("{0:F2}" ,train));
                }

            }

        }
    }
}

Тагове:
-1
Module: C# Web
Thedi avatar Thedi 200 Точки

Здравей,

Предполагам, че при проверките трябва да слагаш и равно на минималните километри.
Tи в едната проверка проверяваш дали са по-малко от 100, а пък в другата проверяваш дали са повече, а въпроса е какво трябва да се случи ако ти дадат 100 километра ? 

Надявам се да съм бил полезен.

0
04/12/2017 22:57:11
viktor.nikolov avatar viktor.nikolov 6 Точки

Точно от това е.

Благодаря!!!

0
traykova44 avatar traykova44 93 Точки

Защо получавам само 50 т ??

код https://pastebin.com/wdWVJ6a2

0
zlatnata_obuvka avatar zlatnata_obuvka 1 Точки

Нямаш вариант за такси. Ако се пътува под 20 км не "влизам"  в никоя проверка.

0
traykova44 avatar traykova44 93 Точки

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

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