Loading...
aurora96 avatar aurora96 2 Точки

Проблем с калкулатор за деление в C#.

Здравейте,
Опитвам се да си направя елементарен калкулатор за деление, след като разбрах, че "%" означава деление. С умножение ми се получи.

using System;
class DivisionCalculator
{
    static void Main()
    {
        double num1;
        double num2;
        Console.Write("Попълнете първото число което искате да разделите: ");
        num1 = Convert.ToDouble(Console.ReadLine());
        Console.Write("Попълнете второто число на което искате да разделите: ");
        num2 = Convert.ToDouble(Console.ReadLine());
        Console.WriteLine("Полученият резултат е: " + num1 % num2);
    }
}

Компилира се, но постоянно дава 0 и грешни отговори, не разбрах къде би могъл да е проблема, например пиша 6:2= показва 0 а не 3 примерно.
Благодаря.

0
Programming Basics 08/07/2015 12:14:46
aurora96 avatar aurora96 2 Точки

Мерси :)
А може ли да ми кажеш също така и за останалите, освен, че / - деление, * - умножение, % - деление с остатък... ?
Благодаря.

0
antonio_rtodorov avatar antonio_rtodorov 74 Точки

Здравей,

това е линк за царството на операторите, които те интересуват https://msdn.microsoft.com/en-us/library/6a71f45d.aspx , като го отвориш от ляво виждаш колона, която има оператор примерно "% Operator" и може да видиш дори пример как се прилага и какво принтира и така за всички останали.

0
aurora96 avatar aurora96 2 Точки

Не мога да я разбера тази msdn примерна таблица ако мога така да я нарека (кодът) :

class MainClass6
    {
        static void Main()
        {
            Console.WriteLine(5 % 2);       // int
            Console.WriteLine(-5 % 2);      // int
            Console.WriteLine(5.0 % 2.2);   // double
            Console.WriteLine(5.0m % 2.2m); // decimal
            Console.WriteLine(-5.2 % 2.0);  // double
        }
    }
    /*
    Output:
    1
    -1
    0.6
    0.6
    -1.2
    */

Нищо не ми изглежда вярно в този случай. Как така 5:2=1 и -5,2:2.0=1.2 като 1,2.1,2=1.44 ?

-1
RoYaL avatar RoYaL Trainer 6849 Точки

Не знам дали забелязваш, че продължаваш да използваш "%"

1
aurora96 avatar aurora96 2 Точки

Ами разбрах, че "%" е деление с остатък, но не мога  да разбера как става така, ако може малко по-подробно обяснение. Благодаря, все пак.

0
RoYaL avatar RoYaL Trainer 6849 Точки

"/" е деление (някога ползвал ли си калкулатор на компютъра? Calculator.exe, Excel...) и според зависимост от типовете, върху които е приложено, може да бъде с или без остатък.

Има лекция Оператори и изрази, в случай че не си от университета, ти препоръчвам да я намериш от някой от курсовете и да я прегледаш.

MSDN документацията дава пример за възможните оператори в таблица. Ако кликнеш на някой от тях има обяснение на дълго и на широко какво прави.

Например

Multiplicative

x * y

x / y

x % y

Може да се кликне и върху x/y и върху x%y и ще видиш какво правят и двата оператора. Освен примерите ти препоръчвам да прочетеш и ОБЯСНЕНИЯТА.

0
08/07/2015 10:19:41
antonio_rtodorov avatar antonio_rtodorov 74 Точки

Също така и ако мога да добавя, намери книгата на Светлин Наков "Programming Basics" и почни да четеш от нея, упражнявай примерите и т.н. Имаш обяснението на колегата, което е много добро, имаш MSDN, имаш google, сега знаеш и за книгата на Светелин Наков и предполагам, че тези материали ще ти помогнат да разбереш освен "%", но и още други интересни неща. Успех!

0
aurora96 avatar aurora96 2 Точки

Мерси, аз имам книгата в хартиен формат. :D Пуснах темата защото не съм изчел всички глави тъй като за да реша повечето домашни се изискват неща от по-горна глава а за да я разбирам и нея трябва да знам предните и преди нея и става мн, А и от msdn не всичко разбирам толкова добре...

0
Ska4o avatar Ska4o 0 Точки

Както ти казаха използваш оператор %. 

Т.е. ако разделиш 5 на 2, ще получиш 2 с остатък 1

Пример: 5 / 2 = 2 (1)

или  6 / 2 = 3 (0)

или  3 / 2 = 1 (1)

от зад на пред (1) + (1*2) = 3

Т.е. оператора % ти показва само остатъка.

 

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