Small Shop задача 2 от Complex Conditional Statements
Реших задачата по два начина но и двата не ми дава воабще никакви точки в джъджа
някой може ли да ми каже къде бъркам ?
Ето го решението ми : http://pastebin.com/bWmWPha5
Реших задачата по два начина но и двата не ми дава воабще никакви точки в джъджа
някой може ли да ми каже къде бъркам ?
Ето го решението ми : http://pastebin.com/bWmWPha5
Здравей!
Виждам, че си се объркал при проверките. Първо си направил проверка за София, а всички други проверки за останалите градове си ги вложил вътре в тази проверка. Console.WriteLine() беше поставен при последната проверка за Варна, съответно няма как да изкара резултата! В момента ти поправям кода, а през това време можеш да видиш моето решение на задачата http://pastebin.com/grm5NQXY
До минутки ще пусна твоето fix-нато решение!
EDIT 1: Това е твоето решение на задачата, ако имаш още въпроси не се притеснявай да попиташ - http://pastebin.com/3p0nLT2P
Ето го моето решение http://pastebin.com/ByRu1CKF
Като съвет който мога да ти дам е да форматираш стринговете в тези случай към стринг с малки букви. В този случай няма нужда да са децимал защото нямаш чак толкова прецизни операции с суми. Надявам се да съм ти бил полезен.
Благодаря за помощта
Здравейте,
Моето решение тръгва във вижуъл бейсик, но джъдж не ми го приема. Ео какво съм написала:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Small_Shop
{
class Program
{
static void Main(string[] args)
{
var product = Console.ReadLine();
var town = Console.ReadLine();
var quantity = double.Parse( Console.ReadLine());
if (town == "sofia")
{
if (product == "coffee") Console.WriteLine(0.50 * quantity);
if (product == "water") Console.WriteLine(0.80 * quantity);
if (product == "beer") Console.WriteLine(1.20 * quantity);
if (product == "sweets") Console.WriteLine(1.45 * quantity);
if (product == "peanuts") Console.WriteLine(1.60 * quantity);
}
if (town == "plovdiv")
{
if (product == "coffee") Console.WriteLine(0.40 * quantity);
if (product == "water") Console.WriteLine(0.70 * quantity);
if (product == "beer") Console.WriteLine(1.15 * quantity);
if (product == "sweets") Console.WriteLine(1.30 * quantity);
if (product == "peanuts") Console.WriteLine(1.50 * quantity);
}
if (town == "varna")
{
if (product == "coffee") Console.WriteLine(0.45 * quantity);
if (product == "water") Console.WriteLine(0.70 * quantity);
if (product == "beer") Console.WriteLine(1.10 * quantity);
if (product == "sweets") Console.WriteLine(1.35 * quantity);
if (product == "peanuts") Console.WriteLine(1.55 * quantity);
}
}
}
}
Някой може ли да ми помогне да отрия къде е проблема?
Благодаря предварително!
Здравей, мисля, че грешката ти е тук:
var town = Console.ReadLine();
Според мен трябва да е var town = Console.ReadLine().ToLower();
Judge очаква името на града да бъде изписано с главана буква (Plovdiv, Sofia, Varna). В твоя код са зададени да бъдат с малка буква (town == "varna") и мисля, че затова Jidge не ти дава 100 точки. ToLower() прави точно това. Дори и града да бъде изписан изцяло с главни букви - PLOVDIV, SOFIA, VARNA - то ги приравнява към малки и следователно твоя код би трябвало да работи.
Надявам се да съм бил полезен (също така и да съм го написал разбираемо:) ).
Точно, благодаря! Бях изпуснала да направя това уточнение :)
Не ти отваря решението, така че ти пращам моето за да го огледаш. Ще коментирам и на yana_neykova решението => ползвай else if конструкции, за да разделиш различните условия
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _02.Small_Shop
{
class Program
{
static void Main(string[] args)
{
string product = Console.ReadLine().ToLower();
string city = Console.ReadLine().ToLower();
double quantity = double.Parse(Console.ReadLine());
if (city == "varna")
{
if (product == "coffee") { Console.WriteLine(0.45 * quantity); }
else if (product == "water") { Console.WriteLine(0.70 * quantity); }
else if (product == "beer") { Console.WriteLine(1.10 * quantity); }
else if (product == "sweets") { Console.WriteLine(1.35 * quantity); }
else if (product == "peanuts") { Console.WriteLine(1.55 * quantity); }
}
else if (city == "sofia")
{
if (product == "coffee") { Console.WriteLine(0.50 * quantity); }
else if (product == "water") { Console.WriteLine(0.80 * quantity); }
else if (product == "beer") { Console.WriteLine(1.20 * quantity); }
else if (product == "sweets") { Console.WriteLine(1.45 * quantity); }
else if (product == "peanuts") { Console.WriteLine(1.60 * quantity); }
}
else if (city == "plovdiv")
{
if (product == "coffee") { Console.WriteLine(0.40 * quantity); }
else if (product == "water") { Console.WriteLine(0.70 * quantity); }
else if (product == "beer") { Console.WriteLine(1.15 * quantity); }
else if (product == "sweets") { Console.WriteLine(1.30 * quantity); }
else if (product == "peanuts") { Console.WriteLine(1.50 * quantity); }
}
}
}
}
Благодаря много !
А тук ще можеш ли да ми кажеш къде бъркам имам 83 от 100 в джъдж ще ти бъда много благодарен.
http://pastebin.com/SaYDKEZN
Здравей отново!
Объркал си цената на портокала за събота и неделя - трябва да е 0.90лв, а ти си написал 0.85лв. При попълването на дните от седмицата си объркал Wednesday със Wednesdey, това е втората грешка. Ябълките в почивните дни струват 1.25, а не 1.20лв и това е третата грешка. Съветвам те да кликваш на детайли, там ще видиш тестовете, които прави системата и какво точно не ти излиза. Така много по лесно ще си откриваш грешките!
Това е твоя код - http://pastebin.com/K2tJTr3m
Успех!