Loading...
ioannah avatar ioannah 18 Точки

(programming basics) C# - 08 Trade Comissions

 https://pastebin.com/LFy78t8m  - Здравейте това е моя код на задачата обаче имам грешка и не знам къде точно.Защо стойността на комисионната не се променя в if?

Тагове:
0
Programming Basics
ioannah avatar ioannah 18 Точки

 Работи! :D Оправих си грешките.Благодаря много за съдействието

0
Kriss22Ivanoff avatar Kriss22Ivanoff 15 Точки

Здравей, написали сте .toLower при входа на града -> което означава че когато напишеш примерно Sofia директно стринга става с малки букви на sofia. А във if-овете сте написали if (town == "Sofia"), просто напишете градовете със малки букви и трябва да стане. Така написана програмата изобщо не влиза във if-овете , опитай с дебъгер.

Другият вариант е подребдата на вложегите if-ове, според мен е по-добре да започва със най-голямата проверка в случая ->

if (s > 10000)
                {
                    comission = 12 / 100;
                }

Надявам се съм бил полезен :)

0
ioannah avatar ioannah 18 Точки

 Благодаря за бързия отговор поправих грешките но продължава да ми дава същия проблем? И на SmallShop  ми се получава по същия начин  - https://pastebin.com/ZwaTM5js .Цената не променя стойността си :/

0
Kriss22Ivanoff avatar Kriss22Ivanoff 15 Точки

Опита ли с else if {} вместо само if-ове?

0
Kriss22Ivanoff avatar Kriss22Ivanoff 15 Точки

На тази задача махни –>( var priceProduct = quantity*price; )

Което си го поставила преди if-овете и го постави след тях, точно над Console.WriteLine(priceProduct);

0
koksibg avatar koksibg 892 Точки

Не съм ти гледал логиката, но първото което забелязах е, че в началото казваш ToLower(), което ще рече, че

навсякъде в проверките имената на градовете трабва да са с малки букви:

if (town == "Sofia"), трябва да е така if (town == "sofia"), и навсякъде другаде, където имаш такава проверка с главна буква, трябва да ги оправиш.

0
thereishope avatar thereishope 77 Точки

string town = Console.ReadLine().ToLower();

Градът ти е с малка буква, а проверките ти започват с главна

или махни ToLower() или смени имената :)

 if (s >= 0&&s <= 500)

 if (s >= 500 && s <= 1000)

ако цената ти е 500 и 2те са верни :)

0
29/07/2017 13:20:16
ognyan.penkov avatar ognyan.penkov 49 Точки

Колегата е много прав!

1.Смени си имената на градовете да са само с малки букви щом ще ползваш метода .ToLower();

2. именувай си променливите със значещи имена вместо var s по-добре напиши var sales, така като си го нарпаввил със strig town

3. Винаги е добра идея да си проверяваш операторите за сравнение, най-често там се объркват нещата.

if (s >= 0&&s <= 500)

 if (s >= 500 && s <= 1000)

ако продажбите са точно 500 влизаш първо в първата проверка защото s = 500 а ти ти си нписал < или =

след това програмата влзиа и във втората проверка и презаписва комисионната защото s = 500 а ти си написал > или =

и това ти прецаква логиката, мисля, че във втората прверка трябва да го направиш > 500 && <= 1000 но не съм 100% сигурен, че съм позабравил условието на задачата какво искаше.

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