欢迎来到天天文库
浏览记录
ID:13554647
大小:511.50 KB
页数:36页
时间:2018-07-23
《学位论文-—小学数学学习系统-c语言-课程设计报告.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、课程设计报告课程设计报告课程设计名称:C语言课程设计课程设计题目:小学数学学习系统-35-课程设计报告目录第1章概要设计31.1题目的内容与要求31.2总体结构3第2章详细设计42.1数据结构设计42.2功能设计42.2.1学生信息存储模块42.2.2菜单选择模块5第3章调试分析10第4章使用说明11参考文献19附录(源代码)21-35-第1章概要设计1.1题目的内容与要求内容:1.具有随机出题功能,且可以选择难度等级,不要混合运算功能;2.自动评分功能,当用户电答题后能给出用户的分值;3.查看正确答案;4.错题重做功能。要求:1、用户登录;2、程序采用文本菜单
2、界面。1.2总体结构本程序主要分为5个模块(功能模块图见图1.1):1.学生信息存储模块,2.菜单选择模块,3.试题测试模块,4.得分与排名模块小学数学学习系统菜单选择模块试题测试模块得分与排名模块学生信息存储模块图1.1-35-第2章详细设计2.1数据结构设计首先定义结构体数组存储学生信息,注册,录入学生个人信息,将学生信息储存在TXT文档中,用指针写入文件,用while循环语句开始写入测试等级难度,保存正确结果,计算正确率,最后查看排名。2.2功能设计2.2.1学生信息存储模块main函数实现程序的菜单操作。根据用户选择的不同选项调用不同的函数,实现“注册”
3、、“输入学号”、“选择难度答题”、“返回主菜单”等功能。具体情况流程图如图2.1所示:算法1在屏幕上输出“请注册”选项;2接受用户输入开始打开studentmessageN打开TestResult文件YNY打开failedResult文件N文件打开失败!输出“输入:姓名学号”Y结束图2.1-35-开始2.2.2菜单选择模块1.开始测试;2.查看排名;3.错题重做;4.查看结果;5.结束测试。定义choose.time=0输出:“选择功能”输入:“选择”如超出范围,请重新选择Choose=1N2Y输入当前时间,读入且清屏ChooseFunc21图2.2-35-21
4、NChoose=2Choose=3NY清屏清屏Choose=4ReworkchooseFunc2SortbychengjiNY清屏清屏ChooseFun2ShowresultChoosefunc2Filecopytestaver结束图2.3-35-开始2.2.3试题测试模块打开TestResult输入num1,num2,num3num4,m,n,count1=count2=0.average输出“打开文件失败”输出“加法测试”,“被加数+加数=结果”,“选择难度”,“1.简单2.一般3.困难”读入数字且赋值于m超出范围请重新选择!根据m运算的难度,及算式的位数。
5、21图2.4-35-21读入结果结果正确Count2=count2+1;Average=count1/count2;Average=count1/count2;输出正确,错误,正确率分别为:count1,count2,average结束图2.52.2.4得分与排名模块开始写入信息打开文件关闭文件-35-打开文件写入结构体数组s[j]
6、入后答题,但发现无法进行下一步功能;解决办法:按F10键进行单步调试,首先发现指向文件数据的指针没有数据,然后对文件直接进行数据加入,发现其他功能能够实现,然后对指向文件数据的指针进行修改,发现无论怎样修改数据都无法进入到文件,于是对数据输入函数进行修改,发现犯了一个比较低级的错误,scanf(“”)输入数据时忘记“&”符号,造成数据无法输入;4.使用随机数函数,但是调试过程中出现“rand()未定义”,无法产生随机数;解决办法:查找书籍,发现是未使用“rand()”函数的头文件,调用“#include”后,随机函数问题得以解决;-35-第4章
7、使用说明(1).注册。先用Judge()函数创建studentmessage.txt文件,直接运行cicaidan();菜单项。调用Savemessage();进行注册和保存信息。如图:(2).开始测试。注册后,显示主菜单ChooseFunc1(),如图:选择1进入开始测试模块,此时引入时间,定义全局变量hour1和min1,scanf("%d,%d",&hour1,&min1);手动输入这两个数。如图:之后出现ChooseFunc2()菜单功能选择函数,如图:-35-这里的五个选项用while循环使超出功能范围的不能实现,重新选择选项。再用switch语句选择
8、执行功能,case1程序
此文档下载收益归作者所有