Професионална програма
Loading...
+ Нов въпрос
krustev_84 avatar krustev_84 6 Точки

4.2. Complex Conditions - 03. Operations . 70/100 - NAN

Здравейте. За първи път задавам въпрос тук и моля да бъдете снизходителни ако не съм го направил напълно според правилата.

     

Та така, мъча се с една задача. Дава ми 70/100 , като за първи път се сблъсквам с подобен отговор от джъджа , а именно ' NaN undefined NaN = 0 - even' . Може би проблема е в нещо супер дребно или пък съм съвсем оплескал нещата, но моля ако някой има отговор на въпроса , нека ми помогне.  Ето го и кода : https://pastebin.com/RFCsXHac . Условието на задачата обаче го чета от пдф и не знам как да намеря линк за него , за да ви го покажа.

П.П. Търсих във форума преди да пиша , но подобен проблем не успях да октрия.

Благодаря предварително .

Тагове:
0
Programming Basics with JavaScript 19/02/2020 11:04:58
kstoqnov avatar kstoqnov 4 Точки

Много грубо изпълнение но поне ще сравниш.Задължително го форматирай

 

function solve(arg){

 

    number1 = Number(arg.shift());

    number2 = Number(arg.shift());

    operator = arg.shift();

 

        result = 0;

 

        switch(operator){

 

            case ("+"):

                result = number1 + number2;

 

                if(result % 2 == 0){

 

                    console.log(`${number1} ${operator} ${number2} = ${result} - even`);

 

                }else{

 

                    

                    console.log(`${number1} ${operator} ${number2} = ${result} - odd`);

 

                }

 

            break;

 

            case ("-"):

                result = number1 - number2;

 

                if(result % 2 == 0){

 

                    console.log(`${number1} ${operator} ${number2} = ${result} - even`);

 

                }else{

 

                    

                    console.log(`${number1} ${operator} ${number2} = ${result} - odd`);

 

                }

 

            break;

 

            case ("*"):

                result = number1 * number2;

 

                if(result % 2 == 0){

 

                    console.log(`${number1} ${operator} ${number2} = ${result} - even`);

 

                }else{

 

                    

                    console.log(`${number1} ${operator} ${number2} = ${result} - odd`);

 

                }


 

            break;

 

            case ("/"):

 

                if(number2 == 0){

                    console.log(`Cannot divide ${number1} by zero`);

 

                }else{

                    let result2 = (number1*0.1) / (number2*0.1);

                    

                    console.log(`${number1} ${operator} ${number2} = ${result2.toFixed(2)}`);

                }

 

            break;

 

            case "%":

 

            if(number2 == 0){

                console.log(`Cannot divide ${number1} by zero`);

 

            }else {

 

                result = number1 % number2;

                console.log(`${number1} ${operator} ${number2} = ${result}`);

            }

 

            break;

        }


 

}

0
krustev_84 avatar krustev_84 6 Точки

Много  благодаря.  Съвсем не мислех в посока switch - case. Явно още не се е наместила тая конструкция в съзнанието ми . Само че се чудя... с  моя код в джъдж не става, да. Но пък в VSC си ми върви чудесно. Знаете ли откъде идва това . Още повече ми е интересно защо ми излиза в джъдж така :  ' NaN undefined NaN = 0 - even . 

0
kstoqnov avatar kstoqnov 4 Точки

ето и твоята задача 100 %. забравил си форматирането.Колкото до това където го питаш при мен няма такова нещо.NaN  и undefined си говорят сами за себе си.По принцип дебъг за да видиш защо се получва.Съжалявам за бързия и малък отговор просто много таскове имам.Дано съм ти бил полезен 

function operators(input)

{

    let N1 = Number(input.shift());

    let N2 = Number(input.shift());

    let nOperator = input.shift();

 

    let result = 0;

    let output = ``;

 

 

    if ( N2 === 0 && (nOperator === '/' || nOperator === '%'))

    {

        output = `Cannot divide ${N1} by zero`;

    }

    else if ( nOperator === '/')

    {

        result = N1 / N2;

        output = `${N1} ${nOperator} ${N2} = ${result.toFixed(2)}`;

    }

    else if (nOperator === '%')

    {

        result = N1 % N2;

        output = `${N1} ${nOperator} ${N2} = ${result}`;

    }

    else

    {

        if (nOperator === '+')

        {

            result = N1 + N2;

        }

        else if (nOperator ==='-')

        {

            result = N1 - N2;

        }

        else if (nOperator === '*')

        {

            result = N1 * N2;

        }

 

 

 

        let numberIs = '';

        if ( result % 2 == 0)

        {

            numberIs = 'even';

        }

        else

        {

        numberIs ='odd';

        }

   

        output = `${N1} ${nOperator} ${N2} = ${result} - ${numberIs}`;

 

       

    }

         console.log( output );

 

}

0
krustev_84 avatar krustev_84 6 Точки

 

Да, не форматирам. До сега ми се разминаваше . Благодаря ти за бързите отговори. Успешен ден !

0