Loading...
kokoteofilov1 avatar kokoteofilov1 1 Точки

7. Andrey and Billiard - Objects and Classes

https://pastebin.com/uCeg5FRJ
Опитвам се да накарам задачата да работи, когато един клиент има няколко поръчки. Схващам логиката, но не мога да го напиша като хората. Гърми, когато влезе в проверката на ред 47( ако има клиент с това име, добави поръчката към неговата сметка).

Някой може ли да ми каже защо кода на ред 47 гърми, и как мога да го редактирам, така че да работи?

Тагове:
1
Programming Fundamentals 24/10/2017 21:49:15
MilenaSl avatar MilenaSl 161 Точки

Добави след 35-ти ред това:

                c.Purchase = new Dictionary<string, int>();

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

0
kokoteofilov1 avatar kokoteofilov1 1 Точки

За жалост пак гърми същото нещо на ред 48. Дава тази грешка: Unhandled Exception: System.ArgumentNullException: Value cannot be null. 

 

0
MilenaSl avatar MilenaSl 161 Точки

Имам следното преположение: В dictionary ключовете не могат да се повтарят, затова ако същия клиент си поръча същата напитка, не би трябвало да можеш да я добавих в речника. Решението, за което се сещам, е да ползваш List<Customer>

Ето го кода ти лееко преправен като за 100/100:

https://pastebin.com/UgzuScet

0
MilenaSl avatar MilenaSl 161 Точки

Моля! Другото, което преправих, са типовете данни на цените. Препоръчително е за пресмятане на пари винаги да се използва decimal, защото е с прецизност 15-16 цифри след запетаята, за разликка от double (7):

http://net-informations.com/q/faq/float.html

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