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

3.Shopping Spree/Exercise: Encapsulation/C# OOP

Здравейте! Имам проблем с тази задача от exercise-а на лекцията Encapsulation. В Judge - тестовете ми дава грешка на тест 4 (80/100).

Прикачвам условието и моето решение тук:

3)

Create two classes:

  • Person
  • Product

Each person should have a name, money, and a bag of products. Each product should have a name and a cost. The name cannot be an empty string. Money cannot be a negative number.

Create a program where each command corresponds to a person buying a product. If the person can afford a product, add it to his bag. If a person doesn’t have enough money, print an appropriate message ("{personName} can't afford {productName}").

On the first two lines, you are given all people and all products. After all, purchases print every person in the order of appearance and all products that he has bought also in order of appearance. If nothing was bought, print the name of the person followed by "Nothing bought".

In case of invalid input (negative money Exception message: "Money cannot be negative") or an empty name (empty name Exception message: "Name cannot be empty") break the program with an appropriate message. See the examples below:

Examples

Input

Output

Peter=11;George=4

Bread=10;Milk=2;

Peter Bread

George Milk

George Milk

Peter Milk

END

Peter bought Bread

George bought Milk

George bought Milk

Peter can't afford Milk

Peter - Bread

George - Milk, Milk

Maria=0

Coffee=2

Maria Coffee

END

Maria can't afford Coffee

Maria - Nothing bought

John=-3

Peppers=1;Tomatoes=2;Cheese=3

John Peppers

John Tomatoes

John Cheese

END

Money cannot be negative

 https://pastebin.com/u/stilyan122

Тагове:
0
C# OOP Basics
icowwww avatar icowwww 2779 Точки
Best Answer

Здравей,

В класа Product нямаш проверки при задаване на стойност на Name и Cost. За този тест конкретно трябва да добавиш такава за Cost:

if (value < 0)
{
   throw new Exception("Money cannot be negative");
}
this.cost = value;

https://pastebin.com/JJXwxTXa

2
StilqnChanev avatar StilqnChanev 1 Точки

Получи се, даде 100/100. Много благодаря!

1
sdsee avatar sdsee 0 Точки

I make these mistakes a lot in hurdle

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