我想寫一個程序,輸入學生的平均水平,並返回: - 如果學生的平均水平是90-100 - B如果學生的平均水平是80-89 - C如果學生的平均水平是70-90 - D如果學生的平均數是60-69 - E如果學生的平均數是0-59 - 如果平均數不在0和100之間,則顯示「無效輸入」。可以在一個函數內切換語句嗎?
首先,應該要求用戶輸入學生的平均值,驗證平均值(=值應該在1 -100之間),然後: - 如果有效,調用一個函數來確定並返回A,B,C, D或E取決於平均值。 - 如果平均值無效或用戶按下取消按鈕,則顯示警告消息並退出程序。
這是到目前爲止我的代碼:
var myAvg = prompt("Please enter your grade percentage",0)
if (isNaN(myAvg) || myAvg < 1 || myAvg > 100) {
alert("Average must be a percentage value. Please re-enter your grade again.");
}
function myAvg (gradeA,gradeB,gradeC,gradeD,gradeE) {
switch (true) {
case (myAvg >= 90 && myAvg < 100):
document.write("Your grade is an myAvg<br />");
document.write(gradeA + " ");
break;
case (myAvg >= 80 && myAvg < 89):
document.write("Your grade is an myAvg<br />");
break;
case (myAvg >= 70 && myAvg < 79):
document.write("Your grade is an myAvg<br />");
break;
case (myAvg >= 60 && myAvg < 69):
document.write("Your grade is an myAvg<br />");
break;
case (myAvg >= 0 && myAvg < 59):
document.write("Your grade is an myAvg<br />");
break;
default: document.write("Please enter a valid percentage<br />");
}
}
myAvg("gradeA", "B", "C", "D", "E");
是的,你可以有一個switch語句在函數中。 – lurker
這是使用switch語句的錯誤方法。如果使用if/else – epascarello
是的,開關塊可以進入功能。儘管如此,你可以簡化你的案例。例如,case(myAvg> = 90 && myAvg <100)可以寫爲case(myAvg> = 90),因爲您已經檢查它不能大於100. – rby