Loading...
SimeonKV avatar SimeonKV 55 Точки

3.Graduation pt2

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

 При успешно завършване на 12-ти клас да се отпечата :

"{име на ученика} graduated. Average grade: {средната оценка от цялото обучение}"

В случай, че ученикът е изключен от училище, да се отпечата:

"{име на ученика} has been excluded at {класа, в който е бил изключен} grade"

Стойността трябва да бъде форматирана до втория знак след десетичната запетая.

вход

изход

Mimi

5

6

5

6

5

6

6

2

3

Mimi has been excluded at 8 grade

Моя код :
 

www.pastebin.com/index/Eivp2xpM

Къде греша? Judge ми дава 44 / 100

PS: Как да направя линка от pastebin.com  като го натиснете да ви откарва на страницата?

Тагове:
0
Programming Basics with Java 01/07/2018 21:18:54
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки
Best Answer

трябва да имаш 2 ниски оценки за годината не 1 :Д ти чупиш цикъла още на първата оценка под 4 има подобна тема там сме пуснали 2 решения на с# като ги видиш може би ще ти стане по- ясно. В момента чупиш цикъла прекалено рано, Казали са ви ако има 2 оценки под 4 се проваля ти чупиш при първата оценка под 4.

0
SimeonKV avatar SimeonKV 55 Точки

О, да то вярно, че пише 2 indecision Не съм догледал тази подробност, мерси!!!

0
SimeonKV avatar SimeonKV 55 Точки

Добре 

разгледах твоето решение

и функцията 

  1.  else

  2.                 {

  3.                     notPassed += 1;

  4.                 }              

служи да се break-не след второто число по-малко от 4,.... и така програмата работи наистина, но не разбрах как програмат се break-ва като нямаме зададена функция break във while и защо notPassed е +1 , а не +2 , като notPassed има стойност отгоре "0".crying

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

значи докато цикъла върви има 2 условия или числото на класовете ад е по-малко или равно на 12 или notpassed да е по-малко от 2,

while на всяко завъртане на цикъла проверява 2те условия дали са верни и ако едното не е вярно се прекъсва сам.Затова втъре е проверката за <4 при първото минаване notpassed +=1 става равно на 1 на 2то става 2 и while ще се счупи като се опита да evaluate-не условията дали са верни. А защо notPassed е отвън защото иначе ако беше в while цикъла при всяко завъртане щеше да започва от 0 а аз искам да пазя конкретната му стойност за момента. Нямам нужда да си правя мой break тои самия while цикъл ще го направи за мен когато едно от 2те условия които съм му поставил се промени.

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