Transport Price - въпрос
Здравейте, имам проблем с решаването на Transport Price задачата. Дава ми само 66%, а не разбирам защо. При изписване на число от 20 до 100 програмата въобще не чете никакъв отговор?
http://pastebin.com/zaKSMnn3
Здравейте, имам проблем с решаването на Transport Price задачата. Дава ми само 66%, а не разбирам защо. При изписване на число от 20 до 100 програмата въобще не чете никакъв отговор?
http://pastebin.com/zaKSMnn3
В момента проверката:
else if (km < 100 && km >=20)
ти е част от конструкцията:
if (time == "day")
Изкарай го оттам и го направи част от конструкцията:
if (km < 20)
Виж сега... не ми се чете такъв код. Опитай се да пишеш по един и същ начин и по-четливо
Гледай колко вида кодене си вкарал...
веднъж така...
if (time == "day")
{ Console.WriteLine(priceTaxi + taxiDay); }
после така....
else if (time == "night")
{
Console.WriteLine(priceTaxi + taxiNight);
}
и още...
if (time == "day")
{
Console.WriteLine(km * 0.09); }
По-разквърлян код не съм виждала...
Не се заяждам... да не си помислиш нещо такова... Писането на четлив код е много важно.... даже по-важно от писането на верен код.
Не ползваш ли Вижуал студио?
Да, така е. Просто много пъти променях кода, мацах и се получи бъркотия. Иначе си ползвам Вижуъл Студио.
http://pastebin.com/Na7dK8zb - Оправих кода ти ( твоя е този, който е коментиран - виж разликите ) .Просто въвеждаш else if - а в скобите на които ти е първата проверка и не влиза в другите (if time == "day ")
В началото и аз се забатачих - изтрих всичко и опростих кода, просто трябва внимателно да се чете условието и на един лист да се нахвърли най-оптималният алгоритъм и чак след това да се кодва :-)
using System;
namespace MyFirstDataTypes
{
class Program
{
static void Main()
{
var km = short.Parse(Console.ReadLine());
string dayOrNight = Console.ReadLine();
float tax = 0, taxiTax = 0, busTax = 0, trainTax = 0;
//Диференциране на тарифите в зависимост от променливата dayOrNight има само за такситата
if (dayOrNight == "day") taxiTax = 0.70f + km * 0.79f;
else if (dayOrNight == "night") taxiTax = 0.70f + km * 0.90f;
busTax = km * 0.09f;
trainTax = km * 0.06f;
//Избор на вида транспорт в зависимост от разстоянието
if (km >= 0 && km < 20) tax = taxiTax;
else if (km >= 20 && km < 100) tax = busTax;
else if (km >= 100) tax = trainTax;
Console.WriteLine("{0:F2}", tax);
}
}
}
Мерси, бях забравил четири скоби. :)