Loading...
VMitseva avatar VMitseva 3 Точки

06._Operations_Between_Numbers

Здравейте!
Имам проблем със следната задача  - >   https://pastebin.com/WTEfTURg

Проблемът е, че при деление след десетичната запетая винаги изписва 00

Напишете програма, която чете две цели числа (N1 и N2) и оператор, с който да се извърши дадена математическа операция с тях. Възможните операции са: Събиране(+), Изваждане(-), Умножение(*), Деление(/) и Модулно деление(%). При събиране, изваждане и умножение на конзолата трябва да се отпечатат резултата и дали той е четен или нечетен. При обикновеното делениерезултата. При модулното делениеостатъка. Трябва да се има предвид, че делителят може да е равен на 0(нула), а на нула не се дели. В този случай трябва да се отпечата специално съобщениe.

Вход

От конзолата се прочитат 3 реда, въведени от потребителя:

  • N1цяло число в интервала [0...40 000]
  • N2цяло число в интервала [0...40 000]
  • Операторедин символ измежду: „+“, „-“, „*“, „/“, „%

Изход

Да се отпечата на конзолата един ред:

  • Ако операцията е деление:
    • "{N1} / {N2} = {резултат}" – резултатът е форматиран до вторият знак след дес.запетая
  • Ако операцията е модулно деление:
    • "{N1} % {N2} = {остатък}"
  • В случай на деление с 0 (нула):
    • "Cannot divide {N1} by zero"
Тагове:
0
Programming Basics 02/03/2022 16:40:44
Axiomatik avatar Axiomatik 2422 Точки

Change n1 and n2 to double type, otherwise division will not function properly (check test 4):

            // int n1 = int.Parse(Console.ReadLine());
            // int n2 = int.Parse(Console.ReadLine());
            double n1 = int.Parse(Console.ReadLine());
            double n2 = int.Parse(Console.ReadLine());

;-)

Demo code:

using System;

namespace operationsBetweenNumbers
{
    class Program
    {
        static void Main(string[] args)
        {
            double n1 = double.Parse(Console.ReadLine());
            double n2 = double.Parse(Console.ReadLine());
            char symbol = char.Parse(Console.ReadLine());
            double operation = 0.0;

            if (n2 != 0)
            {
                switch (symbol)
                {
                    case '+': operation = n1 + n2; break;
                    case '-': operation = n1 - n2; break;
                    case '*': operation = n1 * n2; break;
                    case '/':
                        operation = n1 / n2;
                        Console.WriteLine($"{n1} / {n2} = {operation:F2}"); break;
                    case '%':
                        operation = n1 % n2;
                        Console.WriteLine($"{n1} % {n2} = {operation}"); break;
                    default:
                        break;
                }
            }
            else if (n2 == 0)
            {
                switch (symbol)
                {
                    case '+': operation = n1 + n2; break;
                    case '-': operation = n1 - n2; break;
                    case '*': operation = n1 * n2; break;
                    case '/': Console.WriteLine($"Cannot divide {n1} by zero"); break;
                    case '%': Console.WriteLine($"Cannot divide {n1} by zero"); break;
                    default:
                        break;
                }
            }

            double checker = operation % 2;
            string checkerSymbol = "";

            if (checker == 0)
            {
                checkerSymbol = "even";
            }
            else
            {
                checkerSymbol = "odd";
            }


            switch (symbol)
            {
                case '+':
                    Console.WriteLine($"{n1} + {n2} = {operation} - {checkerSymbol}"); break;
                case '-':
                    Console.WriteLine($"{n1} - {n2} = {operation} - {checkerSymbol}"); break;
                case '*':
                    Console.WriteLine($"{n1} * {n2} = {operation} - {checkerSymbol}"); break;
                default:
                    break;
            }
        }
    }
}

 

1
VMitseva avatar VMitseva 3 Точки

благодаря!

1
Niki4aXD avatar Niki4aXD 7 Точки

Благодаря ти! Имах същия проблем.

2
15/05/2023 03:34:43
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.