小学生测试程序_第1页
小学生测试程序_第2页
小学生测试程序_第3页
小学生测试程序_第4页
小学生测试程序_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、小学生测试软件课程设计报告题 目小学生数学测试软件设计学 号121002075姓 名张亚冬年级专业2012级电子信息工程指导教师王元航完成日期2013年6月14日目录一、 程序设计名称及内容 1二、 程序总体设计思路 1三、 程序功能模块划分,软件程序测试及截图 13.1、系统功能模块 13.2、算法说明 13.3、详细程序 23.4、运行过程截图 6四、 编程中遇到的问题及解决方法 8问题一、 8问题二、 8问题三、 8五、 心得体会 9 六、 参考文献 9一,课程设计名称及内容名称:小学数学测试程序设计内容:1、进入主界面,任意键继续 2、输入测试数字大小范围 3、输入测试题目数量 4、任

2、意键进入测试 5、系统进行测试并判断对错 6、系统根据得分情况进行总结,并选择是否继续程序二,程序总体设计思路C语言是面对过程的语言,所以这个程序是按照以上设计内容中的目标程序运行的过程来编写的。在编写程序过程中,首先根据目标程序运行的次序与界面进行编程。其次是根据目标程序运行的次序和界面,确定设计顺利,设计界面。再次是按照程序运行的各界面下的菜单功能编写各功能模块,并进行调试,是各功能模块能高效准确地完成功能。最后是程序的总体调试及功能完善后,从学生的角度出发,考虑了更加合理智能化的设计。三,程序功能模块划分,软件程序测试及截图3.1系统功能模块1、进入界面,选择适当的水平测试2、测试界面,

3、含有加减乘除的运算,并选择测试项目3、结束界面,根据结果对测试者进行评价,并选择是否继续3.2算法说明1、利用for()和if()语句来定义联系时的答题次数,以及题目正误判断,及正确答案2、利用randomize(),for()和指针变量来实现系统随机出题3、利用数组,for()和if语句,switch()语句实现测试功能3.3详细程序#include。#include #include #include void menu();void add();void sub();void mul();void div1();void main() int a; while(1) menu(); pr

4、intf(请选择相应的选项:); scanf(%d,&a); switch(a) case 1: add();break; case 2: sub();break;case 3: mul();break;case 4: div1(); break; case 5: exit(0);break; default: break; void menu()printf(*n); printf(*小学数学测试软件 *n); printf(*n); printf(*-请选择您要进行的操作-*n); printf(*- 1. 加法测试 -*n); printf(*- 2. 减法测试 -*n); printf

5、(*- 3. 乘法测试 -*n); printf(*- 4. 除法测试 -*n); printf(*- 5. 退出系统 -*n); printf(*n); void add() int a,b,c,d,re=0,sum=0; system(cls); while(1) a=rand()%100; b=rand()%100; printf(%d+%d=,a,b); scanf(%d,&c); if(c=(a+b) re+; sum+; printf(回答对了!还要继续答题吗?n 选择的题目数:%d,答对的题目数字:%dn1.继续 2.退出,re,sum); else re+; printf(回答

6、错了.正确答案为%d.还要继续答题吗?n选择的题目数:%d,答对的题目数字:%dn1.继续 2.退出,a+b,re,sum); scanf(%d,&d); if(d=2) break; else system(cls); system(cls); void sub() int a,b,c,d,re=0,sum=0; system(cls); while(1) a=rand()%100; b=rand()%100; while(a-b)0) a=rand()%100; b=rand()%100; printf(%d-%d=,a,b); scanf(%d,&c); if(c=(a-b) re+;

7、sum+; printf(回答对了!还要继续答题吗?n 选择的题目数:%d,答对的题目数字:%dn1.继续 2.退出,re,sum); else re+; printf(回答错了.正确答案为%d.还要继续答题吗?n选择的题目数:%d,答对的题目数字:%dn1.继续 2.退出,a-b,re,sum); scanf(%d,&d); if(d=2) break; else system(cls); system(cls); void mul() int a,b,c,d,re=0,sum=0; system(cls); while(1) a=rand()%100; b=rand()%100; prin

8、tf(%dx%d=,a,b); scanf(%d,&c); if(c=(a*b) re+; sum+; printf(回答对了!还要继续答题吗?n 选择的题目数:%d,答对的题目数字:%dn1.继续 2.退出,re,sum); else re+; printf(回答错了.正确答案为%d.还要继续答题吗?n选择的题目数:%d,答对的题目数字:%dn1.继续 2.退出,a*b,re,sum); scanf(%d,&d); if(d=2) break; else system(cls); system(cls); void div1() int a,b,c,d,re=0,sum=0; system(

9、cls); while(1) a=rand()%100; b=rand()%100; while(b=0) a=rand()%100; b=rand()%100; printf(%d/%d=,a,b); scanf(%d,&c); if(c=(a/b) re+; sum+; printf(回答对了!还要继续答题吗?n 选择的题目数:%d,答对的题目数字:%dn1.继续 2.退出,re,sum); else re+; printf(回答错了.正确答案为%d.还要继续答题吗?n选择的题目数:%d,答对的题目数字:%dn1.继续 2.退出,a/b,re,sum); scanf(%d,&d); if(

10、d=2) break; else system(cls); system(cls);3,4运行过程截图回答正确时输入1,继续答题当答错时测试完成,退出输入2输入5,退出系统。四,编程中遇到的问题及解决方法问题一:除法这一模块很有难度,由于先用了整形定义变量导致结果出错。而且除法题目不是和学生做,题目太难。 解决方法:把变量改为浮点型,虽然结果正确了,诞生题目仍然太难,暂时未找到好的方法改进。问题二:由于学生的信息均记录在文件中,而文件不能直接排序需转换到结构体中进行排序,给整个排序过程带来了相当大的困难,出现了转换不到结构体中,和乱码现象。解决方法:首先检查了为文件是否将信息记录了下来,确认有

11、数据后,用fscanf, fread,进行了反复的更换,此过程中反复运行查看结构体是否有输出。最终实现了文件与结构体之间数据的传递,实现了排序功能.问题三:程序中多次用到了文件的读写,用文件记录信息,多次出现读不出来,记录不到文件中,还出现乱码。 解决方法,认真学习和反复研究了,文件的读写函数fprintf,fscanf,fread,fwrite,fgetc,在反复的调试中终于解决了此问题。经过反复的调试和测试,小学学学习系统顺利完成,顺利实现了按类型选择的难度出题和按数目随机出题、自动评分、自动排名,查看正确答案、错题重做等功能。本系统面向是面向小学生开发的数学测试系统,功能完善,基本上能满

12、足小学生的四则运算要求,本系统作为测试软件的同时也可作为练习软件,对提高小学生数学计算能力有相当大帮助。另外本系统使用C语言编程,在运行环境中有一定的限制,需在安装有C语言软件的环境中进行运行,带来了一定的局限性。五、心得体会及建议编程是个自主创新的过程,其没要太多的要求,有多种方法可以实现其功能,但编程的这种性质,也给我们带来了不小的困难,它需要我们开阔的思维,能够遇到问题能够想到解决的方法,同时也需要我们具有扎实的语言功底能够实现既定的主学习来掌握的,采用了边学边用的方法进行了编程。经过一个多月的努力,终于完成程序的编写和调试,程序的调试过程是非常艰辛的过程,并不能一蹴而就,需要坚持不懈的努力,和反复的调试。编程过程有时候的确枯燥乏味,而且会出现很多意想不到的问题,但是当一个个问题顺利解决时,有充满喜悦。通过这次的课程设计,它使我更加深刻地体会到c语言程序编写过程的严谨与细致,还有无论做任何事都要有耐心。团队合作也是非常重要的一个环节,这会使你在学习过程中倍感轻松,所以在此次课程设计过程中,通过小组的团结合作,和克服种种困难,终于完成了小学学习系统的设计。本次编程使我进一步的巩固了C言语的基本知识,特别掌握了文件的读写和文件与结构体之间数据传递的实现,通过自学和网上学习,丰富了编程知识,提高了编程能力,和调试能力,提高了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论