创建成绩计算器,使用分数和可能的成绩来计算成绩百分比和字母成绩,即更新现场。为什么这段代码不会起作用。请帮忙! [英] 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!

查看:125
本文介绍了创建成绩计算器,使用分数和可能的成绩来计算成绩百分比和字母成绩,即更新现场。为什么这段代码不会起作用。请帮忙!的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面的代码就是我正在使用的代码。

我应该注意我是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 that

Quote:

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆