小学一年级自动出题程序(刘晨龙)
1.需求分析:实现100以内的加减法自动出题
2.具体代码如下
using Systm;
using System.Linq;
using System.Text;
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<script type="text/javascript" src="js/jquery-3.5.1.js"></script>
<script type="text/javascript">
var shijian = self.setInterval("clock()", 1000);//计时器
var t = 0;
function clock() {
t++;
document.getElementById("clock").value = t;
}
$(function() {
var array = {};//
var s1=0;
var conf=0;//
$("#first").click(function(){
conf=0//
for (var i = 1; i <= 10; i++) {//循环10次生成10个算式
$("#i"+i).val("");//清空文本框
$("#s"+i).val("");
var num1 = parseInt(Math.random() * 10);
var operation = parseInt(Math.random() * 2);//生成两个整数
if (operation == 1) {//提示为减法
var num2 = parseInt(Math.random() * num1);
array[i - 1] = num1 - num2;//算式结果放进数组里
var formula = num1 + "-" + num2 + "=";//算式
} else {//否则为加法
num2 = parseInt(Math.random() * 10);//随机生成0-9的整数
array[i - 1] = num1 + num2;
formula = num1 + "+" + num2 + "=";
}
$("#a" + i).html(formula);//把算式显示在页面上
}
})
$("#second").click(function(){
conf=0;//每点击一次重新记录正确个数
for (var i = 1; i <= 10; i++) {//循环10次生成10个算式
$("#i"+i).val("");
$("#s"+i).val("");
var num1 = parseInt(Math.random() * 100);//生成0-99的随机整数
var operation = parseInt(Math.random() * 3);
var num3 = parseInt(Math.random() * 9+1);
if (operation == 1) {//如果为1,代表是减法
var num2 = parseInt(Math.random() * num1);//防止被减数大于减数,出现负数
array[i - 1] = num1 - num2;//算式结果放进数组里
var formula = num1 + "-" + num2 + "=";//算式
} else if(operation==0) { //0为加法
num2 = parseInt(Math.random() * 100);
array[i - 1] = num1 + num2;
formula = num1 + "+" + num2 + "=";
}else{//否则为乘法
num2 = parseInt(Math.random() * 10+1);
array[i - 1] = num3 * num2;
formula = num3 + "*" + num2 + "=";
}
$("#a" + i).html(formula);//把算式显示在页面上
}
})
$("#login").click(function() {
for (var j = 1; j <= 10; j++) {
s1 = $("#i" + j).val();
if (s1 == null || s1 != array[j - 1] || s1=="") {
$("#s" + j).html("×,正确答案为"+array[j-1]);
} else if (s1 == array[j - 1]) {
$("#s" + j).html("√");
conf++;//记录正确个数
}
}
$("#con1").html("您一共答对"+conf+"题,正确率为:"+(conf/10)*100+"%")
});
}
)
</script>
<body background="img/img1.jpg">
<center>
<h1 align="center">小学生口算题卡</h1>
计时器:
<input type="text" readonly id="clock" class="time" name="time">秒
<br />
<%
for (int i = 1; i <= 10; i++) {
//拼接页面
out.println("<a id=a" + i + "></a><input id=i" + i + "></input><span id=s" + i + "></span><br/>");
}
%>
<p id="con1"></p>
<input type="submit" value="提交" id="login" />
<input type="submit" value="一年级" id="first" />
<input type="submit" value="二年级" id="second" />
</center>
</body>
</html>
任务内容 | 计划共完成需要的时间(min) | 实际完成需要的时间(min) |
---|---|---|
计划 | 30 | 32 |
开发 | 50 | 50 |
需求分析 (包括学习新技术) | 20 | 25 |
· 生成设计文档 | 15 | 18 |
· 设计复审 (和同事审核设计文档) | 20 | 25 |
代码规范 (为目前的开发制定合适的规范) | 10 | 20 |
具体设计 | 20 | 30 |
具体编码 | 40 | 45 |
· 代码复审 | 5 | 10 |
· 测试(自我测试,修改代码,提交修改) | 15 | 20 |
报告 | 20 | 25 |
· 测试报告 | 25 | 30 |
计算工作量 | 5 | 10 |
· 事后总结 ,并提出过程改进计划 | 10 | 10 |
个人总结:写代码写的过少,以至于写项目的时候,问题太多,bug太多。