Софтуерно Инженерство
Loading...
+ Нов въпрос
kukuti avatar kukuti 10 Точки

Лице на правоъгълник - проверка?

Здравейте, искам да попитам, удебеления код долу, може ли да се използва като проверка, както е писано в условието на задачата?     

  static void Main(string[] args)
        {
            var a = decimal.Parse(Console.ReadLine());
            var b = decimal.Parse(Console.ReadLine());
            var c = a * b;
            var d = "error";

            if (c > 0)
                Console.WriteLine(c);
            if (c < 0)
                Console.WriteLine(d);

        }

Pilgrimage avatar Pilgrimage 515 Точки
Best Answer

Синтактично е вярно, но направи лека корекция:

if (c >= 0)

защото "0" е допустим отговор.

И все пак е по-добре да се свиква с поставянето на кода в къдрави скоби:

            if (c >= 0)

            {
                     Console.WriteLine(c);

             }
            else

             {
                        Console.WriteLine(d);

               }

 

0
kukuti avatar kukuti 10 Точки

Окей, благодаря, а за скобите, знам, ама тука просто не съм ги сложил :D а и това с else не го знаех, благодаря smiley

0
e.manolov avatar e.manolov 73 Точки

Лично на мен ми се струва не много логично да се прави тази проверка, тъй като говорим за лице на правоъгълник, но щом си решил да правиш - първо изпускаш ако отговора е 0 , също така си погледни и къдравите скоби.

0
kukuti avatar kukuti 10 Точки

Еми освен да пиша

var d = c * -1;

защото няма как лицето да е отрицателно. smiley

0
28/09/2016 12:51:21
ZornitsaSerbezova avatar ZornitsaSerbezova 454 Точки

Никаква проверка не е нужно да се прави. Това е някаква грешка в условието. Мисля, че някой трябва да я.репортне все някога.

0
borislav9212 avatar borislav9212 745 Точки

По принцип не е нужна проверка с else-if консртукция в конкретната задача. Има много варианти за решение: Може и така ->


            var a = decimal.Parse(Console.ReadLine());
            var b = decimal.Parse(Console.ReadLine());
            if (a > 0 && b > 0)
            {
                var area = a * b;
                Console.WriteLine("The area of the rectangle is: {0}", area);
            }
            else
            {
                Console.WriteLine("Error");
            }

Конкретно за тази задача най-правилно е следното решение ->

            int a = int.Parse(Console.ReadLine());
            int b = int.Parse(Console.ReadLine());
            int result = a * b;
            Console.WriteLine(result);

0