在While循环中嵌套if / else

时间:2012-11-14 14:51:19

标签: javascript loops

我正在尝试创建一个程序来确定输入的成绩是否正在通过或失败。当用户输入-1时它停止。一旦用户输入-1,就必须打印出通过分数的平均值和总分数。但它并没有真正起作用。我做错了什么?

var countTotal=0;   //variable to store total grades.
var countPassing=0; //variable to store total passing scores.
var x= 0;       //variable to contain sum of all passing scores.
var grade=parseInt(prompt("Please enter a grade."));

while (grade != (-1*1)) 
{
    if (grade > 65) {
        grade=parseInt(prompt("Please enter a grade."));
        document.write(grade + " is passing.<br>");
        x=x+grade;
        countPassing++;
    }
    else {
        grade=parseInt(prompt("Please enter a grade."));
        document.write(grade + " is failing.<br>");
    }

    countTotal++;
}

//Loop ends

document.write("Total # of grades: " + countTotal);         //Prints out total # of passing scores.
document.write("Passing average: " + ((x)/(countPassing))); //Prints out average of all passing scores.

1 个答案:

答案 0 :(得分:2)

尝试手工完成。用户进入一年级。然后循环开始。马上,你要求新的成绩,丢弃第一个成绩。如果将提示移动到循环的末尾,它应该可以工作。像这样:

while (grade != (-1*1)) 
{
    if (grade > 65) {
        document.write(grade + " is passing.<br>");
        x=x+grade;
        countPassing++;
    }
    else {
        document.write(grade + " is failing.<br>");
    }

    grade=parseInt(prompt("Please enter a grade."));
    countTotal++;
}