
2. using System.Collections.Generic
3. using System.Linq
4. using System.Web
5. using System.Web.UI
6. using System.Web.UI.WebControls
7.
8. public partial class _Default : System.Web.UI.Page
9. {
10. static float right, err
11. protected void Page_Load(object sender, EventArgs e)
12. {
14. txtAns . Focus()
15. Random r = new Random()//通过常用类random实例化一个对象r
16. if (!IsPostBack) //如果Page是第一次运行,执行如下代码
17. {
18. lblNum1.Text = r.Next(100).ToString()
19. lblNum2.Text = r.Next(100).ToString()
20.
21. }
22.
23. }
24.
25. protected void btnOK_Click(object sender, EventArgs e)
26. {
27. if (txtAns.Text == "")
28.
29. {
30. lblTip.Text = "请输入答案!"
31. return//返回,跳过后面所有代码
32. }
33.
34. if (int.Parse(txtAns.Text) == int.Parse(lblNum1.Text) + int.Parse(lblNum2.Text))
35. {
36.lblContent.Text =lblContent.Text+ lblNum1.Text + "+" + lblNum2.Text + "=" + txtAns.Text + "√<br/>"
37. right++
38. }
39.
40. else
41. {
42. lblContent.Text = lblContent.Text+lblNum1.Text + "+" + lblNum2.Text + "=" + txtAns.Text + "×<br/>"
43. err++
44. }
45. txtAns.Text = ""
46. Random r = new Random()
47. lblNum1.Text = r.Next(100).ToString()
48. lblNum2.Text = r.Next(100).ToString()
49.
50. }
51.
52.
53. protected void btnEnd_Click(object sender, EventArgs e)
54. {
55. float total=right+err
56. float result=right/total*100
57. lblTip.Text = "共完成"+total.ToString()+"题,正确:"+right.ToString()+",错误:"+err.ToString()+",得分:"+result.ToString("f1")
58. }
59. }
这个很复杂 不会. 如果是100以内加法练习还可以 记录分数那些不会.新建个文本档后缀名.txt.粘贴一下代码:<html>
<head>
<title>小学生算数练习</title>
<script language=javascript>
function add()
{
var a,b,c,d,e,f,answer1,you,g,h
a=Math.random()*10
b=Math.round(a)
c=Math.random()*10
d=Math.round(c)
e=Math.random()*10
f=Math.round(e)
answer1=b+d+f
you=prompt(+b+"+"+d+"+"+f+"=?","请写出答案")
if(you==answer1) g=confirm("真聪明,你答对了,继续吗?")
else h=confirm("真可惜,再试一试吧。")
while(g==true||h==true)
{
var a,b,c,d,e,f,answer1,you,g,h
a=Math.random()*100
b=Math.round(a)
c=Math.random()*100
d=Math.round(c)
e=Math.random()*100
f=Math.round(e)
answer1=b+d+f
you=prompt(+b+"+"+d+"+"+f+"=?","请写出答案")
if(you==answer1) g=confirm("真聪明,你答对了,继续吗?")
else h=confirm("真可惜,再试一试吧。")
if(g==false||h==false)break
}
}
</script>
<body bgcolor="green">
<div align="center"><input type=button value="加法练习 请点击这里" onclick="add()">
</div>
</body>
</html>
最后保存 把.txt 改为.html. 这样就成一个网页了 打开这个网页 就是个简单的算术加法练习.
这个比较复杂,说说大概的步骤吧要先做一个RANDOM的随机种子的子程式,其实是伪随机过程,指定一个比较复杂的算法,然后根据该子程式输出的结果来产生随机的加法算式。产生一个被加数N1,产生一个加数N2。
然后用ADD运算加法,将结果存进RESULT内
显示N1+N2:此时将2进制转化为ASC2码,将2进制除以10,余数分别是个位十位百位,每位+30H形成该数字的ASC2码存进DISPLAY 8字节中(前三个字节装N1,后三个字节装N2,中间那个装'+'的ASC2符号,还有个“=”号。最后还要有个'$'以标示字符串输出结束)
用一3字节BUF存用户输入的字符,里面是ASC2码
将BUF内的ASC2码转化为2进制,与RESULT内的结果进行比较,相等就显示RIGHT内的字符,错误就显示ERROR内的字符
然后显示“R:GO ON! Q:QUIT!”
判断键盘输入时R还是Q
R,JMP到最开始
Q:用INT 21H,功能号4CH返回DOS
每进行一次,RANDOM的随机种子子程式都调用一次,保证产生不同的加法
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)