Loading...
stefoto avatar stefoto 51 Точки

[Homework] C# Basics - Primitive Data Types and Variables - Problem {15*} - Joro, the Football Player

Здравейте,

Опитвам се да направя кода на "Joro, the Football Player" малко по-разбираем по следния начин:

using System;

class JoroTheFootballPlayer
{
static void Main()
{
string leap = Console.ReadLine();
int numberOfHolidays = -1;
int hometownWeekends = -1;
int plays = 0;

do
{
Console.Write("Please enter the number of holidays: ");
numberOfHolidays = int.Parse(Console.ReadLine());
} while (numberOfHolidays < 0 || numberOfHolidays > 300);

do
{
Console.Write("Please enter the number of weekends at hometown: ");
hometownWeekends = int.Parse(Console.ReadLine());
} while (hometownWeekends < 0 || hometownWeekends > 52);

plays += hometownWeekends;
plays += (52 - hometownWeekends) * 2 / 3;
plays += numberOfHolidays / 2;
if (leap == "t")
{
plays += 3;
}

Console.WriteLine(plays);
}
}

В judge това ми носи точно 0 точки, а го тествам и всичко е точно...

Виждате ли къде е проблемът?

Тагове:
1
Programming Basics
a.angelov avatar a.angelov 1316 Точки

При решаване на задачи в judge входа и изхода трябва да бъде абсолютно точно както се изисква в условието, без излишни коментари каквито ти си сложил:

Console.Write("Please enter the number of holidays: ");

Console.Write("Please enter the number of weekends at hometown: ");

Това директно ти прави задачата грешна, защото не принтваш това което се иска по условие.

При изпитните задачи също така е излишно да правиш проверки за входа - указано е че, той винаги ще бъде верен /поне в този курс/.

Само това са проблемите, останалия код е ОК.

 

ПС. И последно - ползвай pastebin или github за кода, а не го пействай така директно във форума. Тук давай само линк към него - така е прието да се прави, най-малкото защото в тези два сайта кода се чете много по-лесно, защото е подреден и с оцветен синтаксис.

3
stefoto avatar stefoto 51 Точки

Много благодаря за съветите, a.angelov

Поздрави,

Стефото

0
galants avatar galants 12 Точки

Като разглеждах кода ти и се чудя защо инициализираш numberOfHolidays и hometownWeekends  с '-1'?

0
stefoto avatar stefoto 51 Точки

За да отговарят със сигурност на 1 от условията в while условието (един вид застраховка). //while (numberOfHolidays < 0 || numberOfHolidays > 300);

Реално като се загледам в кода няма нужда да ги инициализирам с -1, защото после се четат от конзолата. 

0
glaruscheto avatar glaruscheto 0 Точки

Само да предложа едно решение, което ми се струва малко по-лесно от на колегата:

http://pastebin.com/L2CPcbD9

Като го реших, ми се стори странно, но judge системата ми даде 100/100... 

Успех на всички!

0
stefoto avatar stefoto 51 Точки

Да, това е най-бързото решение, но не те защитава от това да въведеш например брой на уикендите -20, а в условието имаш няколко условия за различните променливи.

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