Задача "Операции между числа" - Трета задача от междинния изпит на 26 март 2016.
Здравейте,
бихте ли могли да ми съдействате с откриването на грешка в моя код. Разглеждах и променях няколко пъти вече, но не мога да разбера защо при делене ми дава две нули след десетичната запетая, вместо да дава реалното число. В случай при проверка 123 / 12 ми дава резултат от 10.00 вместо 10.25. Съответно 80/ 100 в джъджа.
Благодаря за съдействието предварително!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OperationsBetweenNumbers
{
class Program
{
static void Main(string[] args)
{
var n1 = int.Parse(Console.ReadLine());
var n2 = int.Parse(Console.ReadLine());
var symbol = Console.ReadLine();
var result = 0;
if (symbol == "+") // при тези 3 символа трябва да отпечатаме дали резултата е четен или нечетен
{
result = n1 + n2;
if (result % 2 == 0)
{
Console.WriteLine("{0} + {1} = {2} - even", n1, n2, result);
}
else
{
Console.WriteLine("{0} + {1} = {2} - odd", n1, n2, result);
}
}
else if (symbol == "-")
{
result = n1 - n2;
if (result % 2 == 0)
{
Console.WriteLine("{0} - {1} = {2} - even", n1, n2, result);
}
else
{
Console.WriteLine("{0} - {1} = {2} - odd", n1, n2, result);
}
}
else if (symbol == "*")
{
result = n1 * n2;
if (result % 2 == 0)
{
Console.WriteLine("{0} * {1} = {2} - even", n1, n2, result);
}
else
{
Console.WriteLine("{0} * {1} = {2} - odd", n1, n2, result);
}
}
else if (symbol == "/")
{
if (n2 != 0)
{
result = n1 / n2;
Console.WriteLine("{0} / {1} = {2:f2}", n1, n2, result);
}
else
{
Console.WriteLine("Cannot divide {0} by zero", n1);
}
}
else if (symbol == "%")
{
if (n2 != 0)
{
result = n1 % n2;
Console.WriteLine("{0} % {1} = {2}", n1, n2, result);
}
else
{
Console.WriteLine("Cannot divide {0} by zero", n1);
}
}
}
}
}
Благодаря много за помощта! :)))
Мисля, че може да опростиш кода, като при + - и * присвояваш на резултата съответната операция и след това да правиш проверката за четност
Благодаря, ще пробвам и по този начин :)))