Грешка при задача 08. Hotel Room
Привет ,
моля за помощ .
Мисля ,че работи коректно но Judge ми дава 40/100.
Ето и моя код в линка:
Благодаря за съдействието предварително:).
Привет ,
моля за помощ .
Мисля ,че работи коректно но Judge ми дава 40/100.
Ето и моя код в линка:
Благодаря за съдействието предварително:).
Здравей,
Може ли линк към условието или темата, от която е извадена задачата?
Благодаря.
Здравей, CvetelinP,
Тръгнах да ти коригирам грешките, но се спрях... Предлагам ти да оптимизираш кода.
Не е удобно да смяташ с калкулатор (трудно се проверява).
Също така да повтаряш код е неудобно. Пример: при нужда от корекция на случайна грешка - печата на резултата го имаш няколко пъти - най-добре е да го оставиш за накрая.
Console.WriteLine($"Apartment: {priceApartment:f2} lv.");
Console.WriteLine($"Studio: {priceStudio:f2} lv.");
===========================================
if (month == "May" || month == "October")
{
priceStudio = 50;
priceApartment = 65;
if (sleepNights > 14)
{
priceStudio *= 1 - 0.3; // priceStudio = priceStudio * (1 - 0.3) - може и така, каквото решиш
}
else if (sleepNights > 7)
{
priceStudio *= 1 - 0.05;
}
}
else if (month == "June" || month == "September")
{
priceStudio = 75.20;
priceApartment = 68.70;
if (sleepNights > 14)
{
xxxxxxxxxxxxxxxxxxxxxx; // допълни сам, съзнателно го изтрих!!!
}
}
else if (month == "July" || month == "August")
{
priceStudio = 76;
priceApartment = 77;
}
if (sleepNights > 14) // това е за всички месеци и няма смисъл да вмъкваш в няколко if else if конструкции
{
xxxxxxxxxxxxxxxxxxxx; // това го допълни сам, съзнателно го изтрих
}
priceStudio *= sleepNights; // броят на нощите също се повтарят, и съм ги изнесъл
priceApartment *= sleepNights;
Console.WriteLine($"Apartment: {priceApartment:f2} lv.");
Console.WriteLine($"Studio: {priceStudio:f2} lv.");
======================================
Поздрави,
Иван
Много полезен сьвет .Благодаря ти, ще го запомня .
Поздрави!
Ето едно примерно решение
https://pastebin.com/CgbpD3Pb
using System;
namespace Hotel_Room
{
class Program
{
static void Main()
{
//Inputs
string month = Console.ReadLine(); //Month of stay.
byte nights = Convert.ToByte(Console.ReadLine()); //Number of nights.
decimal priceApartment =0m;
decimal priceStudio = 0m;
decimal discountApartment = 0m;
decimal discountStudio = 0m;
//Logic
if (month == "May" || month == "October") //Checks the month is it May or October.
{
priceApartment = nights * 65m; //Calculate the price for an apartment.
priceStudio = nights * 50m; //Calculate the price for a studio.
if (nights > 7) //Check for discount for a studio.
{
if (nights <= 14)
{
discountStudio = (priceStudio / 100) * 5; //Calculates the discount 5% for a stdio.
}
else
{
discountStudio = (priceStudio / 100) * 30; //Calculates the discount 30% for a stdio.
}
}
}
if (month == "June" || month == "September") //Checks the month is it June or September.
{
priceApartment = nights * 68.7m; //Calculate the price for an apartment.
priceStudio = nights * 75.2m; //Calculate the price for a studio.
if (nights > 14) //Check for discount for a studio.
{
discountStudio = (priceStudio / 100) * 20; //Calculates the discount 20% for a stdio.
}
}
if (month == "July" || month == "August") //Checks the month is it July or August.
{
priceApartment = nights * 77m; //Calculate the price for an apartment.
priceStudio = nights * 76m; //Calculate the price for a studio.
}
if (nights > 14) //Check for discount for an apartment.
{
discountApartment = (priceApartment / 100) * 10; //Calculates the discount 10 % for an apartment.
}
priceApartment = priceApartment - discountApartment; //Calculate the final price for an apartment.
priceStudio = priceStudio - discountStudio; //Calculate the final price for a studio.
//Outputs
Console.WriteLine("Apartment: {0:F2} lv.", priceApartment);
Console.WriteLine("Studio: {0:F2} lv.", priceStudio);
}
}
}
======================================
Поздрави,
Боби
ето линк
https://softuni.bg/trainings/resources/officedocument/38994/exercise-problem-descriptions-programming-basics-with-csharp-march-2019/2298
Първо искам да се извиня, че решението, което ще ти дам е за Java, но не мисля, че ще ти е трудно да се ориентираш.
Ето решение минало 100/100: https://pastebin.com/NW6dk22C
Не смятам, че е най оптимизираният код, но работи.
Благодаря ти !