Софтуерно Инженерство
Loading...
+ Нов въпрос
polinausheva123 avatar polinausheva123 2 Точки

Задача: цена за транспорт C#

 

Здравейте, опитвам се да решавам задачи ,но когато напиша кода и го проверявам в джъдж нещо винаги гърми, може ли да ми кажете къде бъркам в тази задача ?

 

       https://pastebin.com/JF1wSV4X

 

Задача: цена за транспорт

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

  • Такси. Начална такса: 0.70 лв. Дневна тарифа: 0.79 лв./км. Нощна тарифа: 0.90 лв./км.
  • Автобус. Дневна / нощна тарифа: 0.09 лв./км. Може да се използва за разстояния минимум 20 км.
  • Влак. Дневна / нощна тарифа: 0.06 лв./км. Може да се използва за разстояния минимум 100 км.

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

Входни данни

От конзолата се четат два реда:

  • Първият ред съдържа числото n – брой километри – цяло число в интервала [1 … 5000].
  • Вторият ред съдържа дума “day” или “night” – пътуване през деня или през нощта.

Изходни данни

Да се отпечата на конзолата най-ниската цена за посочения брой километри.

Тагове:
0
Основи на програмирането 20/01/2018 00:30:36
KeepCoding avatar KeepCoding 428 Точки
Best Answer

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

След това си написала: ако километрите са повече от 20 -> изпълни този код. И после отново ако километрите са повече от 100-изпълни друг код. Ако например са дадени 120 километра, то тогава и двете условия ще бъдат изпълнени и следователно двата кода ще бъдат изпълнени. За да бъде изпълнено само едно условие, трябва да ги "вържеш" с "else". 

Ето поправеният ти код: https://pastebin.com/dPBc07Au

Ето моят код ако ти е любопитно малко по-кратко решение: https://pastebin.com/yDLFdemm

1
GeorgievaE avatar GeorgievaE 1 Точки

https://pastebin.com/Jamm1ue1

0
delian1914 avatar delian1914 98 Точки

Привет. В условието пише:

  • Първият ред съдържа числото n – брой километри – цяло число в интервала [1 … 5000].

трябва да използваш 

int n = int.Parse(Console.ReadLine());

вместо double

Поздрави!

0