Задача - Лица на фигури (15 задача от лекцията Логически проверки)
Здравейте, може би ще ви се стори глупав въпроса, но трябва да Ви попитам. Условието на задачата е следното:
Да се напише програма, която въвежда размерите на геометрична фигура и пресмята лицето й. Фигурите са четири вида: квадрат (square), правоъгълник (rectangle), кръг (circle) и триъгълник (triangle). На първия ред на входа се чете вида на фигурата (square, rectangle, circle или triangle). Ако фигурата е квадрат, на следващия ред се чете едно число – дължина на страната му. Ако фигурата е правоъгълник, на следващите два реда четат две числа – дължините на страните му. Ако фигурата е кръг, на следващия ред чете едно число – радиусът на кръга. Ако фигурата е триъгълник, на следващите два реда четат две числа – дължината на страната му и дължината на височината към нея. Резултатът да се закръгли до 3 цифри след десетичната точка.
Въпросът ми е мога ли да инициализирам променлива вътре в if конструкцията, така че след като например прочетем square от конзолата, да се изпълни това което е във "къдравите" скоби? Аз пробвах, но не се получава и не мога да разбера защо. Ето част от задачата ми:
using System;
class Program
{
static void Main()
{
string figure = Console.ReadLine();
string square = null;
if (figure == square)
{
var a = double.Parse(Console.ReadLine());
Console.WriteLine(a * a);
}
}
}
Благодаря предварително за помощта!
Благодаря!
Това е вече оправения ми код, но Judge ми дава едва 50 точки
using System;
class Program
{
static void Main()
{
string figure = Console.ReadLine();
var numOne = double.Parse(Console.ReadLine());
var numTwo = double.Parse(Console.ReadLine());
if (figure == "square")
{
var square = Math.Round(numOne * numOne, 3);
Console.WriteLine(square);
}
else if (figure == "rectangle")
{
var rectangle = Math.Round(numOne * numTwo, 3);
Console.WriteLine(rectangle);
}
else if (figure == "circle")
{
var circle = Math.Round(Math.PI * numOne * numOne, 3);
Console.WriteLine(circle);
}
else if (figure == "triangle")
{
var triangle = Math.Round(numOne * numTwo / 2, 3);
Console.WriteLine(triangle);
}
}
}
П.П - Оправих се!!