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

Operations Between Numbers (Защо не условието не се изпълнява както трябва?)

Здравейте, при следния вход би трябвало да не изписва нищо,

-----------------------------------

1

2

+

-----------------------------------

но отпечатва това: "1 + 2 = 3 - even".

Къде е проблемът?

Ето и кода:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace operatori
{
    class Program
    {
        static void Main(string[] args)
        {
            double chislo1 = double.Parse(Console.ReadLine());
            double chislo2 = double.Parse(Console.ReadLine());
            string operator1 = Console.ReadLine();
            string chetnost = null;
            double rezultat = 0;
            if (operator1 == "+" && (chislo1+chislo2)%2==0) rezultat = chislo1 + chislo2;
            {
                Console.WriteLine($"{chislo1} {operator1} {chislo2} = {chislo1 + chislo2} - even");
            }
        }
    }
}
 

Благодаря предварително!

 

 

Тагове:
NikolayNeykov92 avatar NikolayNeykov92 618 Точки

Махни  след if конструкцията rezultat = chislo1 + chislo2 

 if (operator1 == "+" && (chislo1+chislo2)%2==0) rezultat = chislo1 + chislo2;

0
borisd29 avatar borisd29 0 Точки

Благодаря!

0
AngelLazov avatar AngelLazov 1 Точки

Предполагам, че това ще ти реши проблема:

 if (operator1 == "+" && (chislo1+chislo2)%2==0) 
                Console.WriteLine($"{chislo1} {operator1} {chislo2} = {chislo1 + chislo2} - even"); 

Идеята е, че ако условието на if-а е изпълнено, то следващата операция ще се изпълни.

В случая, тази операция е: rezultat = chislo1 + chislo2; 

Което значи, че:

 {
                Console.WriteLine($"{chislo1} {operator1} {chislo2} = {chislo1 + chislo2} - even");
 }

ще се изпълни независимо от верността на условието на оператора if

0
borisd29 avatar borisd29 0 Точки

Благодаря!

0