[Homework] C# Basics - First Steps in Coding - Problem{5} - Rectangle Area
Здравейте колеги, имам проблем със въпросната задача.
Когато стартирам програмата ( и съм написала в последния ред Console.WriteLine("Area is:", area); ) и въведа 2-те числа ми изписва Area is: , но не ми печата нищо и седи празно място след Area is: .
Когато в кода е Console.WriteLine(area); - програмата работи и си ми печата пресметнатото без проблем.
Ето и част от кода:
decimal a = decimal.Parse(Console.ReadLine());
decimal b = decimal.Parse(Console.ReadLine());
decimal area = a * b;
if (area <= 0)
{
Console.WriteLine("Area is not valid, please enter the correct values");
}
{
Console.WriteLine("Area is:", area); //!!!Когато тук е Console.WriteLine(area); ми печата пресметнатото.
}
Ще се радвам някой да помогне! Четох разни неща, но не открих нищо затова пиша тук. ;)
Аз мисля че ти липсва един else {}
decimal a = decimal.Parse(Console.ReadLine());
decimal b = decimal.Parse(Console.ReadLine());
decimal area = a * b;
if (area <= 0)
{
Console.WriteLine("Area is not valid, please enter the correct values");
}
else
{
Console.Write("Area is:"); //!!!Когато тук е Console.WriteLine(area); ми печата пресметнатото.
Console.WriteLine(area);
}
Мисля че така би трябвало да проработи. И аз съм новичък, но опитай. Успех! :)
Не. Проблема не е в else. Задачата става със и без else.
Всъщност и колегата е прав, тъй като ако ти нямаш else и въведеш примерно а = 3, б = -5, то тогава area ще ти е отрицателно, ще ти изпише, че are is not valid... но и ще сметне area след това, а като напишеш else-a където показа колегата, програмата ще спре проверката щом види че аrea е отрицателно и няма да изписва отрицателната площ. Също така трябва да се внимава когато се ползва събирате на текст с число с + ("Area is :" + area) тъй като ако има повече навързани променливи с плюсове ще се получат неочаквани резултати, но може би това по-късно ще го учите.