Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

kkaraivanov avatar kkaraivanov 486 Точки

Принтирай по този начин:

Console.WriteLine($"Cannot divide {n1} byte zero")

и


result = n1 / n2;
Console.WriteLine($"{n1} / {n2} = {result:f2}");

 

0
Ivenkova avatar Ivenkova 0 Точки

благодаря,

защо се използва $ и кога се използва?

 

0
kkaraivanov avatar kkaraivanov 486 Точки

В случая знак $ поставен пред кавичките ти позвобява да поставиш променливите си в къдрави скоби. Този знак @ поставен пред кавичките ти позволява да пишеш дълъг стринг на няколко реда без да ползваш "+", а също така наклонената черта наляво "\" се третира като стринг а не като оператор. Във фундаменталс модула мисля че се учат тези неща в материала за стрингове и текстообработка, но оператора "$" е обяснен още в началото на бейсик курса когато се учеха конкатенациите при писане на конзолата.

0
03/11/2019 17:59:37
Ivenkova avatar Ivenkova 0 Точки

мерси за обяснението. Имам само още един проблем в тази задача: при деленето пак не се получава число закръглено до 2рия символ след десетичния знак. при 10/3 ми показва 3.00

0
kkaraivanov avatar kkaraivanov 486 Точки

Пренаписах задачата до колкото се ориентирах в кода, ето моето решение на проблема. Може да греше някъде заради липсата на условието за което предварително се извинявам.

using System;

namespace OperationsBetweenNumbers
{
    class Program
    {
        static void Main(string[] args)
        {
            double num1 = double.Parse(Console.ReadLine());
            double num2 = double.Parse(Console.ReadLine());
            char operat = char.Parse(Console.ReadLine());
            // "+", "-", "*", "/", "%"
            double result = 0;
            bool chekZero = false;

            switch (operat)
            {
                case '+':
                    result = num1 + num2;
                    break;
                case '-':
                    result = num1 - num2;
                    break;
                case '*':
                    result = num1 * num2;
                    break;
                case '/':
                    result = num1 / num2;
                    if (num2 == 0)
                    {
                        chekZero = true;
                    }
                    break;
                case '%':
                    result = num1 % num2;
                    if (num2 == 0)
                    {
                        chekZero = true;
                    }
                    break;
                default:
                    break;
            }

            if (operat == '+' || operat == '-' || operat == '*')
            {
                string eventResult = "";
                if (result % 2 == 0)
                {
                    eventResult = "even";
                }
                else
                {
                    eventResult = "odd";
                }
                Console.WriteLine($"{num1} {operat} {num2} = {result} - {eventResult}");
            }
            else if (operat == '/')
            {
                if (!chekZero)
                {
                    Console.WriteLine($"{num1} / {num2} = {result:f2}");
                }
                else
                {
                    Console.WriteLine($"Cannot divide {num1} by zero");
                }
            }
            else if (operat == '%')
            {
                if (!chekZero)
                {
                    Console.WriteLine($"{num1} % {num2} = {result}");
                }
                else
                {
                    Console.WriteLine($"Cannot divide {num1} by zero");
                }
                
            }
        }
    }
}

 

0
kkaraivanov avatar kkaraivanov 486 Точки

Сетих се за още един начин да ползваш кода си, може да пробваш ако искаш. Там където извъшваш действието 

result = n1 / n2;

направи го по този начин 

result = n1 / (double)n2;

Така би трябвало да ти върне стойността след запетаята. Причината за грешката е че ползваш var и непроследяваш върнатите стойности. Ако занапред ползваш var трябва да знаеш че int/int връща стойност = Math.Abs(double/double), т.е. стойностт след запетаята е 0.

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