Loading...
silvana1303 avatar silvana1303 5 Точки

Проблем със задача Scholarship от PB!

Здравейте, знам,че има много подобни теми и вече се разрових и в други кодове, но в конзолата всичко работи и логиката ми се стува вярна. В джъдж получавам 93/100, което ме навежда на мисълта, че грешката е малка, но все пак ме побърква, че не мога да я намеря! Моля за помощ :)

Ето го условието:

*Стипендии

Учениците могат да кандидатстват за социална стипендия или за стипендия за отличен успех. Изискване за социална стипендия - доход на член от семейството по-малък от минималната работна заплата и успех над 4.5. Размер на социалната стипендия - 35% от минималната работна заплата. Изискване за стипендия за отличен успех - успех над 5.5, включително. Размер на стипендията за отличен успех - успехът на ученика, умножен по коефициент 25.

Напишете програма, която при въведени доход, успех и минимална работна заплата, дава информация дали ученик има право да получава стипендия, и стойността на стипендията, която е по-висока за него.

Вход

Потребителят въвежда 3 числа, по едно на ред:

  • Доход в лева - реално число в интервала [0.00..6000.00]
  • Среден успех -  реално число в интервала [2.00...6.00]
  • Минимална работна заплата - реално число в интервала [0.00..1000.00]

Изход

  • Ако ученикът няма право да получава стипендия, се извежда:

"You cannot get a scholarship!"

  • Ако ученикът има право да получава само социална стипендия:
    "You get a Social scholarship {стойност на стипендия} BGN"
  • Ако ученикът има право да получава само стипендия за отличен успех:

"You get a scholarship for excellent results {стойност на стипендията} BGN"

  • Ако ученикът има право да получава и двата типа стипендии, ще получи по-голямата по сума, а ако са равни ще получи тази за отличен успех.

Резултатът се закръгля до по-малкото цяло число.

 

https://pastebin.com/y3LK1fgY

 

 

Тагове:
0
Programming Basics
Stoikokolev avatar Stoikokolev 21 Точки
Best Answer

Грешката заради която ти дава 93/100 е следната:

 else if (studentIncome > minimalCheck && studentGrade >= 5.5)

трябва да го промениш:

 else if (studentIncome >= minimalCheck && studentGrade >= 5.5)

 

Не си придвидила вариант минималната заплата и дохода на родителя да са равни и оценката е >= 5.5. Тогава също нямаш изход на конзолата, а трябва да изведеш "You get a scholarship for excellent results {стойност на стипендията} BGN"

0
Stoikokolev avatar Stoikokolev 21 Точки

Това, което аз намерих като грешка е, че нямаш никакъв изход, ако успеха е под 4,5, а заплатата е по висока от минималната. При вход 

300

4.2

100

не ти извежда нищо, а трябва да имаш "You cannot get a scholarship!"

 

По-добре си промени алгоритъма. Може да решиш задачата със следните 3 проверки:

1. Успехът дали е по-голям от 4.5 && заплатата дали е по малка от минималната.

{тук задаваш стойност на социалната стипендия чрез формулата}

2. Успехът дали е по>голям от 5.5

{тук задаваш стойнност на стипендията за отличен успех}

3. Проверка коя стипендия е по-голяма

-извеждаш резултат

ето моя код за да си сравниш - тук

0
20/03/2020 22:40:55
silvana1303 avatar silvana1303 5 Точки

Абсолютно си прав, но и след поправката продължавам същия резултат в джъдж. Благодаря ти за помощта и поздравления за изчистения код!

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