Tuesday, July 30, 2013

Lesson 5.

1. Subroutines: javasceipt functions. - 4 problems (clculator, max-min, month-day, calculator 2.0)

3 comments:

  1. Hey I was wondering if somebody could help me... I cant understand what i did wrong...

    input();

    plus();
    minus();
    multi();
    divide();

    output();

    function input() {

    var num1 = Number(prompt("num1:"));
    var sim = prompt("Action( + , - , * , / )");
    var num2 = Number(prompt("num2:"));
    var sum;
    }


    function plus()
    {
    if (sim == "+")
    sum = num1 + num2;
    }

    function minus()
    {
    if (sim == "-")
    sum = num1 - num2;
    }

    function multi()
    {
    if (sim == "*")
    sum = num1 * num2;
    }

    function divide()
    {
    if (sim == "/")
    sum = num1 / num2;
    }

    function output()
    {
    alert("The Answer is: " + sum);
    }

    ReplyDelete
  2. Переменные, которые ты объявил в функции input являются локальными, т.е их видно только внутри этой функции, другие функции их не видят и поэтому не знают, что такое sum, num1 и num2. Эти переменные необходимо объявить в самом начале программы. Вот так:

    var sum;
    var num1;
    var sim;
    var num2;

    input();
    plus();
    minus();
    multi();
    divide();

    output();

    function input() {

    num1 = Number(prompt("num1:"));
    sim = prompt("Action( + , - , * , / )");
    num2 = Number(prompt("num2:"));
    }
    .........................и т.д

    ReplyDelete