Може ли малко помощ на задача Operations Between Numbers ?
Не мога да открия къде в делението ми е грешката и как да създам условие при деление 0 да ми изписва
- "Cannot divide {N1} by zero"
using System;
namespace OperationsBetweenNumbers
{
class Program
{
static void Main(string[] args)
{
int numberOne = int.Parse(Console.ReadLine());
int numberTwo = int.Parse(Console.ReadLine());
string operatorOne = Console.ReadLine();
double result = 0;
if (operatorOne == "+")
{
result = numberOne + numberTwo;
if (result % 2 == 0)
{
Console.WriteLine($" {numberOne} {operatorOne} {numberTwo} = {result} - even");
}
else
{
Console.WriteLine($" {numberOne} {operatorOne} {numberTwo} = {result} - odd");
}
}
else if (operatorOne == "-")
{
result = numberOne - numberTwo;
if (result % 2 == 0)
{
Console.WriteLine($" {numberOne} {operatorOne} {numberTwo} = {result} - even");
}
else
{
Console.WriteLine($" {numberOne} {operatorOne} {numberTwo} = {result} - odd");
}
}
else if (operatorOne == "*")
{
result = numberOne * numberTwo;
if (result % 2 == 0)
{
Console.WriteLine($" {numberOne} {operatorOne} {numberTwo} = {result} - even");
}
else
{
Console.WriteLine($" {numberOne} {operatorOne} {numberTwo} = {result} - odd");
}
}
else if (operatorOne == "/")
{
result = numberOne / numberTwo;
Console.WriteLine($" {numberOne} / {numberTwo} = {result:f2}");
}
else if (operatorOne == "%")
{
result = numberOne % numberTwo;
Console.WriteLine($" {numberOne} % {numberTwo} = {result}");
}
else if (numberTwo == 0)
{
Console.WriteLine($"Cannot divide {numberOne} by zero");
}
}
}
}
Супер работи, само трябва да вникна в всички операции които правиш и накрая защо обръщаш true - false ,отново ти благодаря :)
Здравей. На въпроса свързан с булевата, не обръщам true-false, а ползвам дефолтната стойност. Пускам ти друго решение със същия код, като се постарах максимално да го синтезирам и опростя, за да можеш да проследиш какво се случва в предишния код.
Разбрах идеята на решението ти ,направих още едно по-просто ,но ме бъгва при деленето ,случайно да можеш да ми откриеш грешката в този вид решение ,благодаря предварително .
using System;
namespace proba
{
class Program
{
static void Main(string[] args)
{
int numberOne = int.Parse(Console.ReadLine());
int numberTwo = int.Parse(Console.ReadLine());
string symbols = Console.ReadLine();
double rezult = 0;
if (symbols == "+")
{
rezult = numberOne + numberTwo;
if (rezult % 2 == 0)
{
Console.WriteLine($" { numberOne} + { numberTwo} = {rezult} - even ");
}
else
{
Console.WriteLine($" { numberOne} + { numberTwo} = {rezult} - odd ");
}
}
else if (symbols == "-")
{
rezult = numberOne - numberTwo;
if (rezult % 2 == 0)
{
Console.WriteLine($" { numberOne} - { numberTwo} = {rezult} - even ");
}
else
{
Console.WriteLine($" { numberOne} - { numberTwo} = {rezult} - odd ");
}
}
else if (symbols == "*")
{
rezult = numberOne * numberTwo;
if (rezult % 2 == 0)
{
Console.WriteLine($" { numberOne} * { numberTwo} = {rezult} - even ");
}
else
{
Console.WriteLine($" { numberOne} * { numberTwo} = {rezult} - odd ");
}
}
else if (symbols == "%")
{
if (numberTwo != 0)
{
rezult = numberOne % numberTwo;
Console.WriteLine($" { numberOne } % {numberTwo} = {rezult} ");
}
else
{
Console.WriteLine($"Cannot divide {numberOne} by zero");
}
}
else if (symbols == "/")
{
if (numberTwo != 0)
{
rezult = numberOne / numberTwo;
Console.WriteLine($"{numberOne} / {numberTwo} = {rezult:f2} ");
}
else
{
Console.WriteLine($"Cannot divide {numberOne} by zero");
}
}
}
}
}
Здравей. Нямаш грешка в кода, просто трябва да кастнеш единия int към double за да получиш правилното деление. Пробвай кода, добавил съм само кастването при делението. Ако ти е по-разбираемо може да замениш израза при кастването със rezult = numberOne / (numberTwo * 1.0), както ти е по-лесно така го ползвай.
Е супер ,тази дребна подробност ми скъса нервите ,благодаря ти .
За нищо колега. Успех за напред
Благодаря коелга .
Мерси колега