版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、实验目的、目标综合运用本课程的相关知识,完成两位数四则运算器的设计、编写与测试,培养学生的实践动手能力,并检测本课程的学习效果。二、实验内容基本要求: 两位数(指10-99的自然数)的加减乘除(除法指的是整除)运算,其中减法和除法必须满足“被操作数不小于操作数”(即可以不考虑20-56、420等情况) 两个操作数、运算符均随机产生 完成一题后自动判断对错,并显示出来 可以随时查看已经完成的题目情况 完成一题自动计算题目总数、正确数、错误数和正确率,并实时显示出来扩展要求(不硬性规定): 在答错的题目后面给出正确答案 可增加时钟控件,10秒(或15秒)内必须完成一题 限制题目数目为固定值(如
2、20题、50题) 把程序扩展成为多位数甚至任意位数的运算器三、实验过程与步骤1、在visual basic 系统环境下,打开“工程设计”窗口。2、新建两个窗口form1和form2,添加控件并进行控件的设置, form1作用是进行题目数量和答题时间的选择并将数据进行保存以供form2调用,form2的作用是进行随机两位数(指10-99的自然数)的加减乘除(除法指的是整除)运算,完成一题后自动判断对错,给出错误题目的正确答案,并显示出来,添加时间钟控,显示计算题目总数、正确数、错误数和正确率。3、在form1窗口,双击控件打开代码窗口,设计窗体及控件的事件代码。采用单选的形式选择题目数量和答题时
3、间,当点击确定按钮时,调用form2,当点击退出时,退出整个程序。public tishu as integer, shijian as integerprivate sub form_load()text1.visible = falsetext2.visible = falsepicture1.height = form1.heightpicture1.width = form1.widthform1.showmsgbox 请选择 题量 和 答题时间 !, 48, 提示form2.hideunload form2end subprivate sub option1_click(index
4、as integer)tishu = val(option1(index).caption)text1.text = tishuend subprivate sub option2_click(index as integer)shijian = val(option2(index).caption)text2.text = shijianend subprivate sub command1_click()msgbox 请直接在文本框中输入数字作答(其中除法为整除), & vblf & 回车完成一题,系统自动生成下一题, , 提示form2.showform1.hideend subpriv
5、ate sub command2_click()endend sub4、在form2窗口,双击控件打开代码窗口,设计窗体及控件的事件代码。(1)定义变量dim a() as integerdim b() as integerdim c() as integerdim result() as doubledim cou as integerdim n as stringdim x as stringdim i as integerdim p as integerdim sum as integerdim right as integerdim wrong as integerdim w as d
6、oubledim ww as stringdim s as integerdim d as integer(2)两位随机数(指10-99的自然数)的加减乘除(除法指的是整除)运算private sub product()redim preserve a(cou)redim preserve b(cou)redim preserve c(cou)redim preserve result(cou)a(cou) = 10 + int(rnd * 90)b(cou) = 1 + int(rnd * 4)c(cou) = 10 + int(rnd * 90)select case b(cou)case
7、 1label1.caption = cstr(a(cou)label3.caption = cstr(c(cou)result(cou) = a(cou) + c(cou)label2.caption = +case 2if val(cstr(a(cou) val(cstr(c(cou) thenlabel1.caption = cstr(a(cou)label3.caption = cstr(c(cou)result(cou) = a(cou) - c(cou)elselabel1.caption = cstr(c(cou)label3.caption = cstr(a(cou)resul
8、t(cou) = c(cou) - a(cou)end iflabel2.caption = -case 3label1.caption = cstr(a(cou)label3.caption = cstr(c(cou)result(cou) = a(cou) * c(cou)label2.caption = *case 4if val(cstr(a(cou) val(cstr(c(cou) thenlabel1.caption = cstr(a(cou)label3.caption = cstr(c(cou)result(cou) = int(a(cou) / c(cou)elselabel
9、1.caption = cstr(c(cou)label3.caption = cstr(a(cou)result(cou) = int(c(cou) / a(cou)end iflabel2.caption = /end selectend sub(3)设定form2加载时的相关数据private sub form_load()picture1.height = form2.heightpicture1.width = form2.widthrandomizecall products = val(form1.text2.text)label9.caption = 剩余时间 & space(
10、2) & s & space(1) & slabel10.caption = 总题数: & space(2) & val(form1.text1.text)sum = 0right = 0wrong = 0w = 0end sub(4)通过一个钟控和一个文本框的回车键方法实现两位随机数(指10-99的自然数)的加减乘除(除法指的是整除)运算的判断,给出错误答案并将式子显示出来,统计正确题数和错误题数private sub timer1_timer()if p = 0 theni = i + 1p = s - ilabel9.caption = 剩余时间 & space(2) & p & spa
11、ce(1) & send ifif p = 0 then wrong = wrong + 1 label7.caption = 错误题数: & space(2) & wrong n = x = result(cou) list1.additem (label1.caption & label2.caption & label3.caption & label4.caption & text1.text & chr(32) & cstr(n) & space(3) & 答案是 & cstr(x) i = -1 call productend ifif sum = val(form1.text1.
12、text) thenmsgbox 共答 & val(form1.text1.text) & 题, & 正确 & right & 题, & 错误 & wrong & 题, & 正确率为 & ww, , 成绩unload form2form1.showload form1msgbox 请重新选择 题量和答题时间 或者 退出系统, 48, 提示end ifend subprivate sub text1_keypress(keyascii as integer)if keyascii = 13 theni = -1 if text1.text = or isnumeric(text1.text) =
13、 false then msgbox 请输入答案!, 48, 提示 else if val(text1.text) result(cou) then n = else n = if n = then wrong = wrong + 1 label7.caption = 错误题数: & space(2) & wrong x = result(cou) list1.additem (label1.caption & label2.caption & label3.caption & label4.caption & text1.text & chr(32) & cstr(n) & space(3)
14、 & 答案是 & cstr(x) else right = right + 1 label6.caption = 正确题数: & space(2) & right list1.additem (label1.caption & label2.caption & label3.caption & label4.caption & text1.text & chr(32) & cstr(n) end if text1.text = end ifcall productend ifend sub(5)利用另一个钟控统计已答题数和正确率private sub timer2_timer()sum = r
15、ight + wronglabel5.caption = 已答题数: & space(2) & sumif sum 0 thenw = right / sumif w = 0 thenww = wlabel8.caption = 正确率: & space(2) & wwelseww = format(w, #.#) * 100 & %label8.caption = 正确率: & space(2) & wwend ifend ifend sub(6)利用两个按键控件和一个图形显示控件分别实现重新开始、退出系统、识别等功能private sub command3_click()unload form2form1.showload form1msgbox 请重新选择 题量和答题时间 或者 退出系统, 48, 提示end subprivate sub command1_click()endend subprivate sub picture2_mousemove(button as integer
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年下半年南京博物院招考工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年十堰市房县食品药品监督管理局招考易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年北京市通州区事业公开招聘工作人员笔试易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年农业部南京农业机械化研究所招考管理辅助人员易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年内蒙古锡林郭勒盟事业单位招聘370人笔试总易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年兰州铁路局招考16应届毕业生(720人)易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年儋州市广播电视台保安人员招考易考易错模拟试题(共500题)试卷后附参考答案
- 2025年人力资源管理师二级模拟试题及答案
- 功能性成分强化-洞察与解读
- 2025年导游资格考试测试卷及答案详解
- 2023-2024学年北京西城区一六一中高三(上)期中数学试题及答案
- 红色旅游合同范本
- GB/T 20878-2024不锈钢牌号及化学成分
- 高中生考试焦虑心理咨询案例报告
- 《工程结构抗震设计》课件 第10章-地下建筑抗震设计
- SBAR交接班模式在临床运用
- 碎石临时停车场施工方案
- 静电消除作业指导书
- 华侨城集团领导岗位业绩考核管理规定
- 机械设备安全检查表88612
- 培智二年级体育课教案
评论
0/150
提交评论