Exercises: Objects and Classes - 7.Andrey and billiard
Здравейте колеги,
опитвам се да реша задачата , но ми дава само 60/100.Незнам къде е проблема.
Мерси!
Здравейте колеги,
опитвам се да реша задачата , но ми дава само 60/100.Незнам къде е проблема.
Мерси!
Здравейте, ако на някой му се занимава може ли да каже защо кодът се чупи на ред 36? Явно не достъпвам правилно обектите в класа. Трябва да проверя дали дадения клиент вече е поръчвал такъв продукт или е нов.
Първо оправи си малко кода отвратителен е за четене нищо няма да ти стане ако напишеш примерно product price вместо input[0]. Второ класа е винаги в единствено число client не clients. И 3то проблема ти ида от това че имаш property речник <strng,int> но и само default празен constructor .. и никъде него създаваш този речник в самия client и затoва то гърми че го няма. Сега има много начини да се оправи това но за твоя случаи наи лесно би било public dictionary<string,...> order=>new dictionary<string,....>();
Аз лично бих си извикал празния конструктор на класа public Clienr()
{
this.order=new dictionary<string,...>();
}
и всичко ще е ок поне доколкото успях да разчета кода ти.
И още един tip можеш вместо order.contains(x)== false може просто !order.contains(х) едно и също е но по-чисто и по -четимо. И обекта е частен случаи на класа което е общото а самия обект държи properties който който го описват,и не е задължително те да са обекти май не е лошо да изгледаш лекцията още един път.
Благодаря за съветите /вчера и по-рано/, успях да я докарам до 80/100. Трети тест гърми, но интересното е, че в началото той пък беше единственият, който минаваше :) Не искам да ви занимавам с кода, просто ако някой има идея какъв може да е входа да сподели :) https://pastebin.com/0hY25qhg
https://github.com/fr3fou/Softuni-Homework/blob/master/Tech-Module-May-2018/Programming-Fundamentals-May-2018/Objects-and-Classes/Andrey-and-Billiard/Program.cs Не знам дали ще ти е от полза, но ето моето решение :)
Since there is no entity named "Kola"- we should ignore that line. твоята грешка е че ти никъде не правиш тази проверка дали тоя продукт е реален или просто ти е даден така
var productIneed = productIneedKVP.Key; ей това трябва да го провериш дали го имаш w pricelist първо.и кода може да се опрости доста правиш няколко излишни foreach-a
примерно няма нужда да правиш foreach където продукта ти е ключ ти спокойно може да си го вземеш с clientineed.order[product].value нали затова имаш речник да достъпва нещата по ключ и какъв е смисъла да правиш foreach върху една стойност? ти си го филтрирала до 1 възможност с where.
в случая ако нямаш клиента проверката ти е правилна. и няма да те заблуди грешен продукт. Обаче ако ти съществува клиента там не провеяваш дали тоя продукт е реален и това ти чупи проверката.
Но аз правя проверката за продукт преди тази за клиент (ред 41), т.е. ако продуктът не съществува въобще не продължавам нататък. Ако съм те разбрала правилно имаш предвид това:
1
Cola-2
Mira-Cola,1
Mira-Kola,1
end of clients
изход:
Mira
-- Cola - 1
Bill: 2.00
Total bill: 2.00
хм ще погледна като се прибера нещо с тея if проверки съм се заблудил явно Д: но явно нещо счупих judge https://pastebin.com/XDPQBHSL заиграх се малко в един онлайн едитор :Д локално ги вади добре нулевите обаче judge не може да му прочете изхода :Д та нещо такова би изглеждал моя код,после ако не ме домързи може да си поиграя да го накарам да работи.накарах го да работи пълна тъпотия 3 тест минава само с double .....затова ти гърми 3 тест закръглянето е различно. Разкрихме го но това не е коректен тест като цяло особено че при пари се работи и с decimal защото е по-точен.