Loading...
Tsekova avatar Tsekova 10 Точки

Здравейте, ако на някой му се занимава може ли да каже защо кодът се чупи на ред 36? Явно не достъпвам правилно обектите в класа. Трябва да проверя дали дадения клиент вече е поръчвал такъв продукт или е нов.

https://pastebin.com/aMerMVyJ

задача 7: https://softuni.bg/trainings/resources/officedocument/29230/exercise-problem-descriptions-programming-fundamentals-january-2018

0
19/07/2018 13:22:42
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

Първо оправи си малко кода отвратителен е за четене нищо няма да ти стане ако напишеш примерно 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 който който го описват,и не е задължително те да са обекти май не е лошо да изгледаш лекцията още един път.

-1
19/07/2018 16:01:52
Tsekova avatar Tsekova 10 Точки

Благодаря за съветите /вчера и по-рано/, успях да я докарам до 80/100. Трети тест гърми, но интересното е, че в началото той пък беше единственият, който минаваше :) Не искам да ви занимавам с кода, просто ако някой има идея какъв може да е входа да сподели :) https://pastebin.com/0hY25qhg

0
09/08/2018 16:16:58
simo3003 avatar simo3003 15 Точки

https://github.com/fr3fou/Softuni-Homework/blob/master/Tech-Module-May-2018/Programming-Fundamentals-May-2018/Objects-and-Classes/Andrey-and-Billiard/Program.cs Не знам дали ще ти е от полза, но ето моето решение :)

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

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.

в случая ако нямаш клиента проверката ти е правилна.  и няма да те заблуди грешен  продукт. Обаче ако ти съществува клиента там не провеяваш дали тоя продукт е реален и това ти чупи проверката.

0
Tsekova avatar Tsekova 10 Точки

Но аз правя проверката за продукт преди тази за клиент (ред 41), т.е. ако продуктът не съществува въобще не продължавам нататък. Ако съм те разбрала правилно имаш предвид това:

1

Cola-2

Mira-Cola,1

Mira-Kola,1

end of clients

изход:

Mira

-- Cola - 1

Bill: 2.00

Total bill: 2.00

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

хм ще погледна като се прибера нещо с тея if проверки съм се заблудил явно Д: но явно нещо счупих judge https://pastebin.com/XDPQBHSL заиграх се малко в един онлайн едитор :Д локално ги вади добре нулевите обаче judge не може да му прочете изхода :Д та нещо такова би изглеждал моя код,после ако не ме домързи може да си поиграя да го накарам да работи.накарах го да работи пълна тъпотия 3 тест минава само с double .....затова ти гърми 3 тест закръглянето е различно. Разкрихме го но това не  е  коректен тест като цяло особено че при пари се работи и с decimal защото е по-точен.

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