07. Hotel Room
Добър ден,
Опитвам се да реша горе-споменатата задача и не мога да разбера къде е грешката(80/100) а подобна грешка която не мога да проверя се случва за поредна задача. Гледам отговорите на другите хора и навидно не намирам разлика.
Условие: https://prnt.sc/tn3s37
Мой код:
using System;
namespace _07._Hotel_Room
{
public class Program
{
public static void Main(string[] args)
{
string Month = Console.ReadLine();
double Nights = double.Parse(Console.ReadLine());
double ApartmentPrice = 0;
double StudioPrice = 0;
if (Month == "May" || Month == "October")
{
StudioPrice = Nights * 50;
ApartmentPrice = Nights * 65;
if (Nights > 7 && Nights <= 14)
{
StudioPrice = StudioPrice - (StudioPrice / 100 * 5);
}
else if (Nights > 14)
{
StudioPrice = StudioPrice - (StudioPrice / 100 * 30);
}
}
else if (Month == "June" || Month == "September")
{
StudioPrice = Nights * 75.20;
ApartmentPrice = Nights * 68.70;
if (Nights >= 15)
{
StudioPrice = StudioPrice - (StudioPrice / 100 * 20);
}
}
else if (Month == " July" || Month == "August")
{
StudioPrice = Nights * 76;
ApartmentPrice = Nights * 77;
}
if (Nights >= 14)
{
ApartmentPrice = ApartmentPrice - (ApartmentPrice / 100 * 10);
}
Console.WriteLine($"Apartment: {ApartmentPrice:F2} lv.");
Console.WriteLine($"Studio: {StudioPrice:F2} lv.");
}
}
}
Работещ код: https://pastebin.com/iLyXPR4D
Благодаря.
Резултата е същият. Според мен не е от типовете на variables, може би ако има някакъв начин да видя input-а ще помогне
Два пъти го тествам и е от типа данни. Може би правиш нещо неправилно.
Резултат:
https://prntscr.com/tn7v1g
Прилагам кода:
using System;
namespace Temp
{
class Program
{
static void Main(string[] args)
{
string month = Console.ReadLine();
decimal nights = decimal.Parse(Console.ReadLine());
decimal studioMO = 50m;
decimal ApartmentMO = 65m;
decimal studioJniS = 75.20m;
decimal ApartmentJniS = 68.70m;
decimal studioJA = 76m;
decimal ApartmentJa = 77m;
decimal priceStudio = 0m;
decimal priceApartment = 0m;
if (month == "May" || month == "October")
{
if (nights <= 7)
{
priceStudio = studioMO;
priceApartment = ApartmentMO;
}
else if (nights > 7 && nights <= 14)
{
priceStudio = studioMO * 0.95m;
priceApartment = ApartmentMO;
}
else if (nights > 14)
{
priceStudio = studioMO * 0.70m;
priceApartment = ApartmentMO * 0.9m;
}
}
else if (month == "June" || month == "September")
{
if (nights >= 15)
{
priceStudio = studioJniS * 0.80m;
priceApartment = ApartmentJniS * 0.9m;
}
else if (nights < 15)
{
priceStudio = studioJniS;
priceApartment = ApartmentJniS;
}
}
else if (month == "July" || month == "August")
{
if (nights >= 15)
{
priceStudio = studioJA;
priceApartment = ApartmentJa * 0.90m;
}
else if (nights < 15)
{
priceStudio = studioJA;
priceApartment = ApartmentJa;
}
}
Console.WriteLine($"Apartment: {(priceApartment * nights):f2} lv.");
Console.WriteLine($"Studio: {(priceStudio * nights):f2} lv.");
}
}
}
Възможно ли е да е от decimal.Multiply което използвам.
using System;
namespace _07._Hotel_Room
{
public class Program
{
public static void Main(string[] args)
{
string Month = Console.ReadLine();
decimal Nights = decimal.Parse(Console.ReadLine());
decimal ApartmentPrice = 0;
decimal StudioPrice = 0;
if (Month == "May" || Month == "October")
{
StudioPrice = Nights * 50;
ApartmentPrice = Nights * 65;
if (Nights > 7 && Nights <= 14)
{
StudioPrice = StudioPrice - (StudioPrice / 100 * 5);
}
else if (Nights > 14)
{
StudioPrice = StudioPrice - (StudioPrice / 100 * 30);
}
}
else if (Month == "June" || Month == "September")
{
//StudioPrice = Nights * 75.20;
StudioPrice = Decimal.Multiply(Nights, 75.20m);
ApartmentPrice = Decimal.Multiply(Nights, 68.70m);
//ApartmentPrice = Nights * 68.70;
if (Nights >= 15)
{
StudioPrice = StudioPrice - (StudioPrice / 100 * 20);
}
}
else if (Month == " July" || Month == "August")
{
StudioPrice = Nights * 76;
ApartmentPrice = Nights * 77;
}
if (Nights >= 14)
{
ApartmentPrice = ApartmentPrice - (ApartmentPrice / 100 * 10);
}
Console.WriteLine($"Apartment: {ApartmentPrice:F2} lv.");
Console.WriteLine($"Studio: {StudioPrice:F2} lv.");
}
}
}