【发布时间】:2021-03-26 21:19:27
【问题描述】:
我正在尝试使用 js 制作成绩计算器,但在我的项目中实现条件时遇到了一些问题。 (查看我的代码)我选择了 5 个科目来计算 GPA,并成功实现了这些东西。 (1. 总分 500 分,2. 百分比,3. 成绩点 4. 成绩)但无法执行最终的通过/失败决定。根据我目前的代码,当某人的计算百分比小于 33 时,它被认为是失败的。或者如果大于或等于 33%,则视为通过。我想用这个来改变这个条件>(当任何人进入任何科目的分数低于33分时,他们必须被视为失败)。为了更好地理解,请查看示例:
示例 >
当任何人输入这些值(标记)时:
主题1:36, 主题2:31, 主题3:35, 主题4:30, 主题5:38,
输出:在 500 中,您的总数为 170,百分比为 34.00%。您的成绩为 3.6,成绩为 D。您的 3 门科目及格,2 门科目不及格。
帮我实现这个想法(“你在 3 个科目中通过,在 2 个科目中失败”)
const calcy = () =>{
let sb1 = document.getElementById('sb1').value;
let sb2 = document.getElementById('sb2').value;
let sb3 = document.getElementById('sb3').value;
let sb4 = document.getElementById('sb4').value;
let sb5 = document.getElementById('sb5').value;
let grades = "";
let totalGrades = parseFloat(sb1) + parseFloat(sb2) + parseFloat(sb3) + parseFloat(sb4) + parseFloat(sb5);
let perc = (totalGrades/500*100).toFixed(2);
let gp = (perc/9.5).toFixed(1);
if(perc <= 100 && perc >= 95){
grades = ("10 & Grade is A1");
}else if(perc <= 95 && perc >= 91){
grades = gp.concat(" & Grade is A1");
}else if(perc <= 90 && perc >= 81){
grades = gp.concat(" & Grade is A2");
}else if(perc <= 80 && perc >= 71){
grades = gp.concat(" & Grade is B1");
}else if(perc <= 70 && perc >= 61){
grades = gp.concat(" & Grade is B2")
}else if(perc <= 60 && perc >= 51){
grades = gp.concat(" & Grade is C1");
}else if(perc <= 50 && perc >= 41){
grades = gp.concat(" & Grade is C2");
}else if(perc <= 40 && perc >= 33){
grades = gp.concat(" & Grade is D");
}else if(perc <= 32 && perc >= 21){
grades = gp.concat(" & Grade is E1");
}else if(perc <= 20 && perc >= 00){
grades = gp.concat(" & Grade is E2");
}
if(perc <= 100 && perc >= 91){
document.getElementById('showData').innerHTML = ` Out of 500 your total is ${totalGrades} and percentage is ${perc}%. <br> Your grade point is ${grades}, You are Pass. `
}
else if (perc <= 90 && perc >= 81){
document.getElementById('showData').innerHTML = ` Out of 500 your total is ${totalGrades} and percentage is ${perc}%. <br> Your grade point is ${grades}. You are Pass. `
}
else if (perc <= 80 && perc >= 71){
document.getElementById('showData').innerHTML = ` Out of 500 your total is ${totalGrades} and percentage is ${perc}%. <br> Your grade point is ${grades}. You are Pass. `
}
else if (perc <= 70 && perc >= 61){
document.getElementById('showData').innerHTML = ` Out of 500 your total is ${totalGrades} and percentage is ${perc}%. <br> Your grade point is ${grades}. You are Pass. `
}
else if (perc <= 60 && perc >= 51){
document.getElementById('showData').innerHTML = ` Out of 500 your total is ${totalGrades} and percentage is ${perc}%. <br> Your grade point is ${grades}. You are Pass. `
}
else if (perc <= 50 && perc >= 41){
document.getElementById('showData').innerHTML = ` Out of 500 your total is ${totalGrades} and percentage is ${perc}%. <br> Your grade point is ${grades}. You are Pass. `
}
else if (perc <= 40 && perc >= 33){
document.getElementById('showData').innerHTML = ` Out of 500 your total is ${totalGrades} and percentage is ${perc}%. <br> Your grade point is ${grades}. You are Pass. `
}
else if (perc <= 32 && perc >= 21){
document.getElementById('showData').innerHTML = ` Out of 500 your total is ${totalGrades} and percentage is ${perc}%. <br> Your grade point is ${grades}. You are Fail. `
}
else if(perc <= 20 && perc >= 00)
document.getElementById('showData').innerHTML = ` Out of 500 your total is ${totalGrades} and percentage is ${perc}%. <br> Your grade point is ${grades}. You are Fail. `
}
<div class="app-form">
<div class="app-form-group">
<input maxlength="3" type="text" class="app-form-control" placeholder="SUBJECT 1" id="sb1">
</div>
<div class="app-form-group">
<input maxlength="3" type="text" class="app-form-control" placeholder="SUBJECT 2" id="sb2">
</div>
<div class="app-form-group">
<input maxlength="3" type="text" class="app-form-control" placeholder="SUBJECT 3" id="sb3">
</div>
<div class="app-form-group">
<input maxlength="3" type="text" class="app-form-control" placeholder="SUBJECT 4" id="sb4" >
</div>
<div class="app-form-group">
<input maxlength="3" type="text" class="app-form-control" placeholder="SUBJECT 5" id="sb5" >
</div>
<div >
<input type="button" name="" value="CALCULATE CGPA" class="app-form-button" onclick="calcy()">
</div>
</div>
<div class="app-form-group showdata">
<p id="showData" > </p>
</div>
【问题讨论】:
-
我觉得现在的代码行数太多了。稍后我会写一个sn-p
-
如果百分比 >= 33 并且所有科目的分数 >= 33(通过)...如果失败..如果百分比
-
我在下面发布了解决方案
标签: javascript html calculator