创建成绩计算器,使用分数和可能的成绩来计算成绩百分比和字母成绩,即更新现场。为什么这段代码不会起作用。请帮忙! [英] Creating grade calculator, using score, and possible grade to calculate grade percentage and letter grade, which is to update live. Why won't this code won't work. Please, help!
问题描述
下面的代码就是我正在使用的代码。
我应该注意我是JavaScript的新手,而且它主要完全超出我的想象,因为我不能从这些内容中推断现实生活中的例子。教科书(没有人会使用JavaScript来获取一个页面来说你好世界,硬编码,当HTML会这么做时)。
< b>我尝试了什么:
< !DOCTYPE html >
< meta charset = utf-8 >
< title > 成绩计算器
< meta 名称 = viewport content = width = device-width,initial-scale = 1 >
< h1 > SAIT成绩计算器< / h1 >
< h1 > 成绩计算器< / h1 >
< h2 > 您的百分比等级< / h2 >
< p > 您的百分比等级为:< / p >
< h2 > 您的信件等级< / h2 >
< p < span class =code-keyword>> 您的信函等级为:< / p >
function setGrades(){
var gradeobtained = parseFloat(document.getElementById('enumerator) ')。值);
var gradepossible = parseFloat(document.getElementById('denominator')。value);
var numbergrade =(gradeobtained / gradepossible)* 100); document.getElementById('total')。value = numbergrade;
var percentscore =
if(numbergrade> = 101){
document.getElementById(percentgrade)。innerHTML =抱歉,成绩不可能超过100%
}
else {
document.getElementById(percentgrade)。innerHTML = numbergrade.value
};
var lettergrade = if(numbergrade> = 90){
document.getElementById('letter')。value =A +;
}
else if(89> = numbergrade&& numbergrade> = 85){
document.getElementById('letter')。value =A ;
}
else if(84> = numbergrade&& numbergrade> = 80){
document.getElementById('letter')。value =A- ;
}
else if(79> = numbergrade&& numbergrade> = 76){
document.getElementById('letter')。value =B + ;
}
else if(75> = numbergrade&& numbergrade> = 73){
document.getElementById('letter')。value =B ;
}
else if(72> = numbergrade&& numbergrade> = 70){
document.getElementById('letter')。value =B- ;
}
else if(69> = numbergrade&& numbergrade> = 66){
document.getElementById('letter')。value =C + ;
}
else if(65> = numbergrade&& numbergrade> = 63){
document.getElementById('letter')。value =C ;
}
else if(62> = numbergrade&& numbergrade> = 60){
document.getElementById('letter')。value =C- ;
}
else if(59> = numbergrade&& numbergrade> = 55){
document.getElementById('letter')。value =D + ;
}
else if(54> = numbergrade&& numbergrade> = 50){
document.getElementById('letter')。value =D ;
}
else {
document.getElementById('letter')。value =F;
}
};
©Nicole Gillis 2017
返回课程笔记并再次阅读:你不能只是在页面中间转储javascript代码,并希望浏览器神奇地知道它不是要显示的!
如果我是你,我将重新开始Hello world,并在你的脑海中得到正确排序的概念和想法:虽然引用:没有人会使用JavaScript来获取一个页面来说你好世界
这是关于概念并从小开始,所以你可以很容易地理解发生了什么 - 你到目前为止你已经明显错过了所有这些。这不是以更复杂的方式做事,而是教你在学会走路之前爬行 - 如果一个婴儿错过了那一步,他将永远无法在没有大规模面部植入的情况下每隔一步跑一次...
你的代码有很多问题,最大的问题是它不是一个html页面。
这段代码太复杂了
if (numbergrade> = 90 ){
document .getElementById(' letter')。value = A +;
}
其他 如果( 89 > = numbergrade&& numbergrade> = 85 ){ // 只有当所有先前的混淆都为假时才会达到这一点
document .getElementById(' letter')。value = A跨度>;
}
其他 如果( 84 > = numbergrade&& numbergrade> = 80 ){ // 只有当所有先前的混淆都为假时才会达到这一点
document .getElementById(' letter')。value = A - 跨度>;
}
...
导致简化
if (numbergrade> = 90 ){
document .getElementById(' letter')。value = A +;
}
其他 if (numbergrade> = 85 ){
document .getElementById(' letter')。value = A;
}
其他 if (numbergrade> = 80 ){
document .getElementById(' letter')。value = A - ;
}
...
这次改写也解决了你的另一个问题。
你的代码给了'F'等级'if numbergrade = 85.5
这个网站将帮助你学习所有你需要的webapps。
W3Schools在线网络教程 [ ^
The code below is what I am using.
I should note I am new to JavaScript, and it mostly goes completely over my head because I can't extrapolate real life examples from the stuff in text books (nobody is EVER going to use JavaScript to get a page to say "hello world", hard coded, when HTML will do that just fine).
What I have tried:
<!DOCTYPE html>
<meta charset="utf-8">
<title>Grade Calculator
<meta name="viewport" content="width=device-width, initial-scale=1">
<h1>SAIT Grade Calculator</h1>
<h1> Grade Calculator </h1>
<h2>Your Percentage Grade </h2>
<p>Your percentage grade is: </p>
<h2>Your Letter Grade </h2>
<p>Your letter grade is: </p>
function setGrades (){
var gradeobtained = parseFloat(document.getElementById('enumerator').value);
var gradepossible = parseFloat(document.getElementById('denominator').value);
var numbergrade = (gradeobtained / gradepossible)*100) ; document.getElementById('total').value = numbergrade;
var percentscore =
if (numbergrade>=101) {
document.getElementById("percentgrade").innerHTML = "Sorry, it is not possible to have a grade over 100%"
}
else {
document.getElementById("percentgrade").innerHTML = numbergrade.value
};
var lettergrade = if(numbergrade >= 90){
document.getElementById('letter').value = "A+";
}
else if(89 >= numbergrade && numbergrade >= 85){
document.getElementById('letter').value = "A";
}
else if(84 >= numbergrade && numbergrade >= 80){
document.getElementById('letter').value = "A-";
}
else if(79 >= numbergrade && numbergrade >= 76){
document.getElementById('letter').value = "B+";
}
else if(75 >= numbergrade && numbergrade >= 73){
document.getElementById('letter').value = "B";
}
else if(72 >= numbergrade && numbergrade >= 70){
document.getElementById('letter').value = "B-";
}
else if(69 >= numbergrade && numbergrade >= 66){
document.getElementById('letter').value = "C+";
}
else if(65 >= numbergrade && numbergrade >= 63){
document.getElementById('letter').value = "C";
}
else if(62 >= numbergrade && numbergrade >= 60){
document.getElementById('letter').value = "C-";
}
else if(59 >= numbergrade && numbergrade >= 55){
document.getElementById('letter').value = "D+";
}
else if(54 >= numbergrade && numbergrade >= 50){
document.getElementById('letter').value = "D";
}
else{
document.getElementById('letter').value = "F";
}
} ;
© Nicole Gillis 2017
Go back to your course notes and read them again: you can't just dump javascript code in the middle of a page and hope the browser will magically know that it is not meant to be displayed!
If I was you, I'd start again with "Hello world" and get the concepts and ideas behind that sorted properly in your mind: while it's true thatQuote:nobody is EVER going to use JavaScript to get a page to say "hello world"
It's about the concepts and starting small so you can easily understand what is going on - and you have clearly missed all of it so far. It's not about "doing something in a more complicated way" it's about "teaching you to crawl before you learn to walk" - and if a baby misses out on that step, he will never be able to run without a massive faceplant every second step...
Your code have numerous problems, the biggest one is that it is not an html page.
This code is too complicated
if(numbergrade >= 90){ document.getElementById('letter').value = "A+"; } else if(89 >= numbergrade && numbergrade >= 85){ // you reach this point only if all previous confitions are false document.getElementById('letter').value = "A"; } else if(84 >= numbergrade && numbergrade >= 80){ // you reach this point only if all previous confitions are false document.getElementById('letter').value = "A-"; } ...
which lead to simplifying
if(numbergrade >= 90){ document.getElementById('letter').value = "A+"; } else if(numbergrade >= 85){ document.getElementById('letter').value = "A"; } else if(numbergrade >= 80){ document.getElementById('letter').value = "A-"; } ...
This rewriting also solve another problem you have.
Your code gives grade 'F' if numbergrade=85.5
This site will help you to learn all you need for webapps.
W3Schools Online Web Tutorials[^]
这篇关于创建成绩计算器,使用分数和可能的成绩来计算成绩百分比和字母成绩,即更新现场。为什么这段代码不会起作用。请帮忙!的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!