简体   繁体   English

学生成绩的用户输入到 output 作为文本框,然后计算最终字母成绩

[英]user input of the students grades into an output as a text box then compute the final letter grade

I need to make the JS code I've gotten so far output to a text box (that's read-only) instead of displayed on the page after clicking the GPA submit button.在单击 GPA 提交按钮后,我需要将迄今为止获得的 JS 代码 output 设置为文本框(只读),而不是显示在页面上。

I also need help figuring out how to take the GPA that is calculated and outputted to that text box rounded up to the nearest whole number and pasted into a grade letter format instead of a number.我还需要帮助弄清楚如何将计算出来的 GPA 输出到该文本框中,四舍五入到最接近的整数,然后粘贴到成绩字母格式而不是数字中。

Something like:就像是:
"you got a 97 percent, which means you get an A" “你得了 97%,这意味着你得了 A”
or或者
"you got an 80 percent which means you get a B" “你得了 80%,这意味着你得了 B”

Here are the percent equivalents broken down:以下是分解的当量百分比:

90-100 A
80-89  B
70-79  C
60-69  D
0-59   F

*If the student's final grade is 'D' or 'F' the text should read something like "Student has failed and must retake the course" *如果学生的最终成绩为“D”或“F”,则文本应显示为“学生失败,必须重新参加课程”

 <h1>Student Grades</h1> <h2>Please Enter Your Percentage For Course Section</h2> <label>Homework</label> <input type="number" id="hmwk" size=2 value="hmwk"> <br> <label>Midterm</label> <input type="number" id="mdtm" size=2 value="mdtm"> <br> <label>Final</label> <input type="number" id="final" size=2 value="final"> <br> <label>Part</label> <input type="number" id="prtc" size=2 value="prtc"> <br> <input type="button" value="GPA" onclick="grade()"> <div id="outputDiv" style="height: 50px; width: 100%;"></div> <script type="text/javascript"> function grade() { var grd1 = parseFloat(document.getElementById('hmwk').value * 0.5); var grd2 = parseFloat(document.getElementById('mdtm').value * 0.2); var grd3 = parseFloat(document.getElementById('final').value * 0.2); var grd4 = parseFloat(document.getElementById('prtc').value * 0.1); var total = grd1 + grd2 + grd3 + grd4; var display = document.getElementById('outputDiv'); display.innerHTML = 'Your Final Grade Is: ' + total; } </script>

<script>
var gradePercentageOriginal; //percentage of grade

var gradePercentage = Math.ceil(gradePercentage);

var letterGrade;

if (gradePercentage <= 90) {
   letterGrade = "A";
}else if (89 <= gradePercentage && gradePercentage <= 80) {
   letterGrade = "B";
}else if (79 <= gradePercentage && gradePercentage <= 70) {
   letterGrade = "C";
}else if (69 <= gradePercentage && gradePercentage <= 60) {
   letterGrade = "D";
}else {
   letterGrade = "F";
}

display.innerHTML = 'Your Final Grade Is: ' + letterGrade;

</script>

You could also create a switch statement:您还可以创建一个switch语句:

switch(true) {
 case(gradePercentage <= 90):
   letterGrade = "A";
   break;
  .
  .
  .
 case(gradePercentage <= 69 && gradePercentage => 60):
   letterGrade = "D";
   break;
 default:
   letterGrade = "F";
   break;
}

I hope this solves your problem.我希望这能解决你的问题。

If you don't mind to use switch statements, this should do the trick:如果您不介意使用switch语句,这应该可以解决问题:

 <h1>Student Grades</h1> <h2>Please Enter Your Percentage For Course Section</h2> <label>Homework</label> <input type="number" id="hmwk" size=2 value="hmwk"> <br> <label>Midterm</label> <input type="number" id="mdtm" size=2 value="mdtm"> <br> <label>Final</label> <input type="number" id="final" size=2 value="final"> <br> <label>Part</label> <input type="number" id="prtc" size=2 value="prtc"> <br> <input type="button" value="GPA" onclick="grade()"> <div id="outputDiv" style="height: 50px; width: 100%;"></div> <script type="text/javascript"> function grade() { var grd1 = parseFloat(document.getElementById('hmwk').value * 0.5); var grd2 = parseFloat(document.getElementById('mdtm').value * 0.2); var grd3 = parseFloat(document.getElementById('final').value * 0.2); var grd4 = parseFloat(document.getElementById('prtc').value * 0.1); var total = grd1 + grd2 + grd3 + grd4; var display = document.getElementById('outputDiv'); let msg = ''; let grade = 0; switch (true) { case (total >= 90 && total <= 100): grade = "A"; break; case (total >= 80 && total <= 89): grade = "B"; break; case (total >= 70 && total <= 79): grade = "C"; break; case (total >= 60 && total <= 69): grade = "D"; break; case (total >= 0 && total <= 59): grade = "F"; break; default: grade = "F"; break; } msg = "you got a " + total + " percent, which means you get an " + grade; display.innerHTML = 'Your Final Grade Is: ' + total + "<br/>" + msg; } </script>

 <h1>Student Grades</h1> <h2>Please Enter Your Percentage For Course Section</h2> <label>Homework</label> <input type="number" id="hmwk" size=2 value="hmwk"> <br> <label>Midterm</label> <input type="number" id="mdtm" size=2 value="mdtm"> <br> <label>Final</label> <input type="number" id="final" size=2 value="final"> <br> <label>Part</label> <input type="number" id="prtc" size=2 value="prtc"> <br> <input type="button" value="GPA" onclick="grade()"> <div id="outputDiv" style="height: 50px; width: 100%;"></div> <script type="text/javascript"> function grade() { var grd1 = parseFloat(document.getElementById('hmwk').value * 0.5); var grd2 = parseFloat(document.getElementById('mdtm').value * 0.2); var grd3 = parseFloat(document.getElementById('final').value * 0.2); var grd4 = parseFloat(document.getElementById('prtc').value * 0.1); var total = grd1 + grd2 + grd3 + grd4; var display = document.getElementById('outputDiv'); let msg = ''; let grade = 0; switch (true) { case (total >= 90 && total <= 100): grade = "A"; break; case (total >= 80 && total <= 89): grade = "B"; break; case (total >= 70 && total <= 79): grade = "C"; break; case (total >= 60 && total <= 69): grade = "D"; break; case (total >= 0 && total <= 59): grade = "F"; break; default: grade = "F"; break; } msg = "you got a " + total + " percent, which means you get an " + grade; display.innerHTML = 'Your Final Grade Is: ' + total + "<br/>" + msg; } </script>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何按字母等级对考试成绩进行排序 - How to sort test grades by letter grade Javascript:将文本框编号条目转换为相应的字母等级 - Javascript: Convert a text box number entry into a corresponding letter grade 如何使用javascript和ajax确定学生的字母等级? - how to determine the letter grade of students using javascript and ajax? 用户输入文本框 - User input text box 我正在做代码战,但我被学生的期末成绩挑战所困 - I am doing codewars and i am stuck on the students final grade challenge Js, PHP WITH AJAX: 如何确定学生的字母等级使用 javascript 和 Z2705A83A5A2659CCE345983A - Js, PHP WITH AJAX: how to determine the letter grade of students using javascript with ajax? 将文本替换为输入框中输入的字母图像 - Replacing text with image of letter as it's being typed in an input box JavaScript:数字等级到字母等级 - JavaScript: Numerical Grade to Letter Grade 如何将用户输入从文本框安全地传递到函数,然后输出到DOM? - How can you pass user input from a text box into a function securely, and then output to DOM? 如何添加文本输入,用户可以在其中按学生的姓名(名字和姓氏)过滤学生列表 - How to add a text input, where a user can filter the list of students by their name (both first and last name)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM