Софтуерно Инженерство
Loading...
+ Нов въпрос
koksibg avatar koksibg 882 Точки

Вмъкни последния defаult във switch, както си го направил във горния

Edit - не видях, че позваш един общ.

Edit2 - Малко ми е трудно да ти проследя логиката, но мисля, че нещо си объркал при 

вложените switch-ове и за това ти дава тази грешка.

За вложени switch case виж тук:

https://www.dotnetperls.com/nested-switch

http://stackoverflow.com/questions/6097513/switch-statement-inside-a-switch-statement-c

Edit 3 - ето как съм я направил - без switch case, а със if else if..

http://pastebin.com/2H7VT30P

 

0
06/02/2017 21:28:40
Annie avatar Annie 87 Точки

Задравей! Тялото на switch не трябва да започва с break;. Сложил си го на две места преди case-опциите и затова те не могат да бъдат изпълнени и ти дава тази грешка. Ако извадиш двата break-а след всички cases, няма да има този проблем. smiley

0
06/02/2017 21:47:15
LyubomirR avatar LyubomirR 3 Точки

Направих го и тръгна, но ми дава само 38 от 100 - http://pastebin.com/xQ4nwmEB - 

Unhandled Exception: System.FormatException: Input string was not in a correct format.
   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
   at ConsoleApplication1.Program.Main(String[] args)

До колкото разбирам някъде се мъчи да преобразува стринг в номер, предполагам в case-овете, но не виждам къде освен в самата сметка. Някакви идеи?
0
kolioi avatar kolioi 567 Точки

Ето тук

double quantity = int.Parse(Console.ReadLine());

Ако въведеш число с десетична точка, например 2.5 и гърми, защото не може да го направи цяло число. Поправи го на

double quantity = double.Parse(Console.ReadLine());

0
LyubomirR avatar LyubomirR 3 Точки

Mersi :)

0