永发信息网

编程问题,不会做。

答案:1  悬赏:0  手机版
解决时间 2021-04-22 02:56

成品是以htm为后缀的编程。设计一个简单的算术考试程序,首先用随机函数产生一个简单的算术式显示在文本框中,等待用户在另一文本框中输入答案,同时打开定时器,控制每题的答题时间,当用户输入答案后单击完成,程序自动判断正确性,并显示得分。

最佳答案
把下面的代码另存为xxx.htm再双击执行就可以了。

<html>
<head>
<title>整数四则运算测试</title>
<script>

var testSecond = 15;

var remainSecond = testSecond;

var testMaxNumber = 10;

var patterns = ["+","-", "*", "/"];

var timer = 0;
function startTest(){
document.getElementById("start").disabled = true;


document.getElementById("answer").disabled = false;
document.getElementById("judge").disabled = false;
document.getElementById("question").innerText = generateQuestion();
remainSecond = testSecond;
document.getElementById("timer").innerText = "输入答案(剩余时间" + remainSecond + "秒):";
document.getElementById("answer").value = "";
timer = setTimeout(timeout, 1000);


}



function getRandom(max){
return Math.floor(Math.random()*max);
}



function generateQuestion(){
var firstNum = getRandom(testMaxNumber);
var pattern = patterns[getRandom(patterns.length)];
var secondNum = getRandom(testMaxNumber);




if("/" == pattern){
if(0 == secondNum){
//0不能作为被除数
secondNum ++;
}
//使得结果为整数
firstNum = getRandom(Math.ceil(testMaxNumber/secondNum)) * secondNum;
}
return firstNum +" " + pattern + " " + secondNum;
}



function judge(){
if(0!=timer){clearTimeout(timer);}
document.getElementById("start").disabled = false;
document.getElementById("answer").disabled = true;
document.getElementById("judge").disabled = true;




var answer = document.getElementById("answer").value;
var realAnswer = eval(document.getElementById("question").innerText);


var result = document.getElementById("result");
if ("" == answer){
result.innserText = "未答题。";
}else if(realAnswer == (answer - 0)){
result.innerText = "恭喜你,答对了!";
}else{
result.innerText = "很遗憾,回答错误。正确答案是:" + realAnswer;
}
}




function timeout(){
remainSecond -- ;
if(remainSecond == -1){
document.getElementById("timer").innerText = "时间到。";
judge();


}else{
document.getElementById("timer").innerText = "输入答案(剩余时间" + remainSecond + "秒):";
timer = setTimeout(timeout, 1000);
}


}
</script>
</head>
<body>
<input id="start" type="button" value="开始测试" onclick="startTest()"/>
<br>
算式:<font id="question"></font>
<br>
<font id="timer">输入答案(剩余时间15秒):</font>
<input id="answer" type="text" disabled="true"/>
<br>
<input id="judge" type="button" value="查看结果" onclick="judge();" disabled="true"/>
<font id="result"></font>
</body>
</html>
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
梦幻西游怎么学阵?
真三国无双OL中,宠物怎么放出来啊?怎么染色
百合网信息怎么注销,如何取消百合网账号
鸿鑫电子实业有限公司(福州电脑耗材批发中心)
请问什么原因会导致胃每天定时绞痛?
两岸台湾日用品批发在什么地方啊,我要过去处
2010年广东省初级会计补报名 证明材料
怎样养QQ宠物猪
QQ农场每天最多加多少经验?
上面推出“对顶角相等”这个结论的过程,可以
烽火战国怎么玩啊
怎么删除下载过的游戏客户端
COSTA COFFEE大商店地址在哪,我要去那里办事
我录用谁呢??
请问從澳门飛往台湾的机票有沒有便宜点的阿??
推荐资讯
华北商厦(东北门)在什么地方啊,我要过去处理
银行柜台技能比赛口号,技能竞赛标语
关于遵守纪律的名言
银杏的果实吃多了会怎样呢?
你听见了吗 李承哲 试听链接
豆腐头顶怎么去啊,有知道地址的么
一篇写故乡的作文写浙江台州的
文房四宝诗词 谁知道全面的写文房四宝的诗词
输卵管炎症怎么确诊?
决战者特定技能是什么意思
为什么我一玩魔兽世界就会出现死机现象?
瑞星和小红伞哪个杀毒能力强
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?