利用JavaScript从键盘输入一个学生的百分制成绩,转换成五级分制并输出結果。 要求:有验证过程,分别用 if~else iF"else“和 switch 两种形式实现。 可以用基本的输入输出语句来实现,有能力的话,尽量设计成网页表 单的形式。
时间: 2024-09-18 10:13:04 浏览: 62
当然可以。首先,我会给出如何用 JavaScript 实现这个功能的基本思路,然后分别使用 `if...else` 和 `switch` 语句以及 HTML 表单来完成。
**1. 使用if...else结构:**
```javascript
function convertGrade() {
// 获取用户输入的成绩
var input = prompt("请输入学生的百分制成绩:");
// 验证输入是否为数字
if (isNaN(input)) {
alert("输入无效,请输入一个数字。");
return;
}
// 转换到五级分制
var grade = parseInt(input);
if (grade >= 90) {
alert(grade + " 分对应的是 A 级。");
} else if (grade >= 80) {
alert(grade + " 分对应的是 B+ 级。");
} else if (grade >= 70) {
alert(grade + " 分对应的是 B 级。");
} else if (grade >= 60) {
alert(grade + " 分对应的是 C+ 级。");
} else if (grade >= 50) {
alert(grade + " 分对应的是 C 级。");
} else {
alert(grade + " 分对应的是 D 级。");
}
}
convertGrade();
```
**2. 使用switch语句:**
```javascript
function convertGradeSwitch() {
// 获取用户输入的成绩
var input = prompt("请输入学生的百分制成绩:");
// 验证输入是否为数字
if (!isNaN(input)) {
input = parseInt(input);
switch (true) {
case input >= 90:
alert(input + " 分对应的是 A 级。");
break;
case input >= 80:
alert(input + " 分对应的是 B+ 级。");
break;
case input >= 70:
alert(input + " 分对应的是 B 级。");
break;
case input >= 60:
alert(input + " 分对应的是 C+ 级。");
break;
case input >= 50:
alert(input + " 分对应的是 C 级。");
break;
default:
alert(input + " 分对应的是 D 级。");
}
} else {
alert("输入无效,请输入一个数字。");
}
}
convertGradeSwitch();
```
**3. 设计为HTML表单:**
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>成绩转换</title>
</head>
<body>
<form id="gradeForm">
<label for="score">输入百分制成绩:</label>
<input type="number" id="score" required>
<button type="button" onclick="convertGradeFromInput()">提交</button>
</form>
<script>
function convertGradeFromInput() {
var score = document.getElementById('score').value;
if (isNaN(score)) {
alert("输入无效,请输入一个数字。");
} else {
// ... 使用上面任一转换方法...
}
}
</script>
</body>
</html>
```
在这个示例中,你可以将 `convertGrade()` 或 `convertGradeSwitch()` 函数替换到 `convertGradeFromInput()` 中。当用户点击提交按钮时,它会触发 `convertGradeFromInput()` 函数进行计算。
阅读全文