Homework Volleyball
Колеги, знам, че е лесно да взема решение на готово и да го кача в Judge, но ибх искал да разбера, защо моето не работи:
using System;
namespace Volleyball
{
class Program
{
static void Main(string[] args)
{
string YearType = Console.ReadLine();
int p = int.Parse(Console.ReadLine());
int h = int.Parse(Console.ReadLine());
double GamesInSofia = (46 * 3.0/4);
int GamesInHometown = h;
double GamesInHolydays = p * 2.0/3;
switch (YearType)
{
case "normal":
Console.WriteLine(Math.Floor(GamesInSofia + GamesInHometown + GamesInHolydays));
break;
case "leap":
Console.WriteLine(Math.Floor((GamesInSofia + GamesInHometown + GamesInHolydays) * 0.15) + (GamesInSofia + GamesInHometown + GamesInHolydays));
break;
default:
break;
}
}
}
}
Благодаря предварително за съдействието!
Здравй, Разгледах ти задачата и ето какво видях:
1.Имената на променливите започват с главни букви с изключение на "games".
2.След стринговата променлива: string YearType = Console.ReadLine(); Добавих и ToLower() защото може да се прави и тест с изписване на различни букви (малки и големи), а така задаваш винаги да се преобразуват към малки букви.
С така направените корекции Judge даде 100/100.Логиката ти е вярна, внимавай със синтаксиса. Ето и кода:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _14.Volleyball_търсене_на_грешка
{
class Program
{
static void Main(string[] args)
{
string yearType = Console.ReadLine().ToLower();
int p = int.Parse(Console.ReadLine());
int h = int.Parse(Console.ReadLine());
double gamesInSofia = (48 - h) * 3.0 / 4;
int gamesInHometown = h;
double gamesInHolydays = p * 2.0 / 3;
double games = gamesInSofia + gamesInHometown + gamesInHolydays;
switch (yearType)
{
case "normal":
Console.WriteLine(Math.Floor(games));
break;
case "leap":
Console.WriteLine(Math.Floor(games + (games * 0.15)));
break;
default:
break;
}
}
}
}
Успех!