在HTML上不显示3个数字的方程式

时间:2016-12-03 06:18:33

标签: javascript html equations

我正在编写一个数学问题生成器,但是当我运行它时,只会显示带有2个数字的等式,更多内容并显示“未定义”并拒绝显示答案。这是整个代码(请注意它现在不完整)

var type = 0;
var ans = 0;

function generatenumeral() {
    var num = (Math.round(1000 * Math.random())) / 100;
    var abs = Math.random();
    if (abs < .4) {
        num = num * -1;
    }
    console.log(num);
    return (num);
}

function generatelength() {
    var num = (Math.ceil(3 * Math.random()));
    console.log(num);
    return (num);
}

function generateSymbol() {
    var sign = 0;
    var num = (Math.round(12 * Math.random()));
    console.log(num);
    if (num === 0 || num == 1 || num == 9) {
        sign = "+";
    };
    if (num === 2 || num == 3 || num == 10) {
        sign = "-";
    };
    if (num === 4 || num == 5 || num == 11) {
        sign = "/";
    };
    if (num === 6 || num == 7 || num == 12) {
        sign = "*";
    };
    if (num == 8) {
        sign = "+";
    };
    return (sign);
}

function WarmUpAr() {
    var leng = generatelength();
    if (leng == 1) {
        var cool = twoNumb();
        return (cool);
    }
    if (leng == 2) {
        var cool = threNumb();
        return (cool);
    }
function twoNumb() {
    var sign = 0;
    var equation = 0;
    var a = generatenumeral();
    var b = generatenumeral();
    var siggn = generateSymbol();
    equation = a + " " + siggn + " " + b;
    if (siggn == "+") {
        ans = a + b;
    }
    if (siggn == "-") {
        ans = a - b;
    }
    if (siggn == "/") {
        ans = a / b;
    }
    if (siggn == "*") {
        ans = a * b;
    }
    return (equation);
}

function threNumb() {
    var sign = 0;
    var a = generatenumeral();
    var b = generatenumeral();
    var c = generatenumeral();
    var siggn = generateSymbol();
    var siggnA = generateSymbol();
    var equation = a + " " + siggn + " " + b +" "+ siggnA +" "+ c;
    if (siggn.equals("+")) {
        if (siggna.equals("+")) {
            ans = a + b + c;
        }
        if (siggna.equals("-")) {
            ans = (a + b) - c;
        }
        if (siggna.equals("/")) {
            ans = a + (b / c);
        }
        if (siggna.equals("*")) {
            ans = a + (b * c);
        }
    }
    if (siggn.equals("-")) {
        if (siggna.equals("+")) {
            ans = a - b + c;
        }
        if (siggna.equals("-")) {
            ans = (a - b) - c;
        }
        if (siggna == "/") {
            ans = a - (b / c);
        }
        if (siggna.equals("*")) {
            ans = a - (b * c);
        }
    }
    if (siggn.equals("/")) {
        if (siggna.equals("+")) {
            ans = (a / b) + c;
        }
        if (siggna.equals("-")) {
            ans = (a / b) - c;
        }
        if (siggna.equals("/")) {
            ans = (a / b) / c;
        }
        if (siggna.equals("*")) {
            ans = (a / b) * c;
        }
    }
    if (siggn.equals("*")) {
        if (siggna.equals("+")) {
            ans = (a * b) + c;
        }
        if (siggna.equals("-")) {
            ans = (a * b) - c;
        }
        if (siggna.equals("/")) {
            ans = (a * b) / c;
        }
        if (siggna.equals("*")) {
            ans = (a * b) * c;
        }
    }
    // if (siggn == "^") {
    //     var ba = Math.round(b);
    //     var count = 0;
    //     for (count = 0; count < ba; count += 1) {
    //         var ab = ab * a;
    //     }
    //     ans = ab;
    return (equation);
}
document.getElementById("ans").innerHTML = "not yet";

function arithmetic() {
    type = 1;
    document.getElementById("demo").innerHTML = WarmUpAr();
}

function preAlg() {
    type = 2;
    document.getElementById("demo").innerHTML = "hello";
}

function Alg() {
    type = 3;
    document.getElementById("demo").innerHTML = "This is cool";
}

function theAns() {
    document.getElementById("ans").innerHTML = ans;
}
    <p> "your warm up is....." </p>
    <button onclick="arithmetic()">Arithmetic Warm Up </button>
    <button onclick="preAlg()">PreAlg Warm Up </button>
    <button onclick="Alg()">Algerbra Warm Up </button>
    <p id="demo"></p>
    <p>the answer is ....</p>
    <button onclick="theAns()">answer</button>
    <p id="ans"></p>

2 个答案:

答案 0 :(得分:0)

您忘记关闭WarmUpAr功能,这就是您收到未定义错误的原因

答案 1 :(得分:0)

关闭此功能WarmUpAr();

function WarmUpAr() {
var leng = generatelength();
if (leng == 1) {
    var cool = twoNumb();
    return (cool);
}
if (leng == 2) {
    var cool = threNumb();
    return (cool);
}
}