小学数学测试系统C课程设计报告及源程序
代码
课程设计报告课程名称 C语言课程设计课题名称小学数学测试系统专业班级学号姓名指导教师2021年 X 月 X 日 XX学院课程设计任务书课程名称C语言课程设计课题小学数学测试系统专业班级学生姓名学号指导老师审批任务书下达日期 2021 年 12 月 26 日任务完成日期 2021年01 月 06 日一、设计内容与设计课题九:小学数学测试系统。具体内容见附录。
2.设计要求:
1)设计正确,方案合理。
2)界面友好,使用方便。
3)程序精炼,结构清晰。
4)上机演示。
3.设计报告要求:
课程设计报告格式如下:
1)正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体,行距为22。2)正文的内容:课题的主要功能、课题的功能模块的划分、主要功能的实现、程序调试、总结、附
件(所有程序的源代码,要求对程序写出必要的注释),课程设计报告需5000字左右(不含附件)。
3)课程设计报告装订顺序:封面、任务书、目录、正文、评分、程序清单附件。二、进度安排星期日(17周)星期一(18周)星期四(18周)星期五(18周)星期日(18周) 14:00-17:00 18:00-21:00 18:00-21:00 18:00-21:00 交报告上课时间另外安排。附录:
设计课题九:小学数学测试系统一、问题描述:
本系统可以用来进行简单的数学测试,并累计成绩,包括用户注册、用户登录、用户删除、题目测试、信息保存等功能。
二、功能描述:
1、本系统采用结构体数组,每个数据的结构应当包括:用户名、用户密码、共测试题目数、答对题目数。
2、系统功能:
a. 用户注册:即添加新的用户名、用户密码。
b. 用户登录:在进行数学测试之前,需进行登录,若没有该用户,需进行注册。
c. 题目测试:系统自动生成题目(注意题目的合理性,题目结果不能是负数,除数不能是0等),用户给出答案,系统可以自动测试其正确性,同时统计成绩。
d. 信息保存: 当注册成功、题目测试完毕后将用户信息及成绩保存到文件。
e.退出系统。
3、系统使用说明:执行一个具体的功能之后,程序将重新显示
功能菜单。系统的功能并不限于上述,可以对其进行扩充完善,如题
目的自动生成,可以只是简单的加减乘除运算,也可以生成复杂的四
则混合运算。同时,用户界面友好也很重要,当输入错误答案,需给
出提示信息。
三、测试数据:
用户=3,题目数=5 目录 1 系统需求分析 6 2 概
要设计 6 3 详细设计 10 4 系统测试 15 5 课程设计总结 18 1 系统需求分析小学生数学测试系统具有随机出题,自动评分,
查看答案,错题重做等功能的系统;
其属性有:
1. 主界面设计,选择各种功能。
c++课程设计报告2. 系统随机出题,显示算式,
含加,减,乘,除四则运算。3. 练习时,系统随机出题,键入答案,
可显示对错。 4. 测试时,系统自动出题,每题得分,再统计得分。
5. 题的对错信息,错误的给出答案。 2 概要设计系统功能模块图:
小学数学测试系统学生成绩管理模块测试模块注册登录
模块查看结果模块错题重做模块 2.1注册登录模块提示用户
输入姓名和学号,如果已经有记录则将本次登录用户信息追加储存在
文件中,如果没有记录,则创建一个新文件储存:其模块图如下图所
示:注册登录模块提示输入姓名学号创建文件记录学生信息判
断是否有记录 2.2测试模块进入开始测试菜单后,开始计时,选
择加减乘除四种运算类型,总体来说测试模块可以分为:加法运算、减法运算、乘法运算、除法运算四部分四部分功能相似选择类型后,在选择题数目为(5,10,20,50,100),然后再选择难度,这时开始做题(题目利用随机函数随机出题),然后判断正误并给出正确率,错误的结果存入一个文件中以备错题重做,将所有做题的结果存入另个文件中以便查看结果;测试模块加法运算减法运算乘法运算除法运算 2.3 学生成绩管理模块本模块首先将每次测试同学姓名,学号,成绩存入一个文件中,每次测试同学的信息不覆盖之前同学的信息,然后将文件中的信息读取到结构体中进行排序,最后利用结构体将排好序的成绩显示到屏幕上,其模块如下所示图:
学生成绩管理模块存入测试学生成绩信息查看排名榜创建学生成绩信息文件排列顺序 2.4 查看结果模块利用测试模块存储的结果信息文件进行直接读取,期间用到fgetc函数将文件的信息读取出来,其图
如下图所示:
查看结果模块打开存储结果的文件读取文件 2.5 错题重做模块测试模块过程的已将错题和错题的答案分别出入到文件中,直接进行打开存储错题的文件逐个读取错题,这时利用scanf 函数输入答题者的答案,最后再打开储存错题答案的文件进行核对正确答案,其模块如下图所示:错题重做模块读取错题进行重做核对答案打开错题存储文件系统流程图:开始输入姓名输入学号主菜单开始测试查看排名错题重做查看结果结束测试加法减法乘法除法选择题数选择难度测试退出返回保存 3
详细设计 3.1登录功能得具体实现:
用到两个函数Savemessage()和Judge()两个函数,其中Savemessage()函数用来,保存学生输入信息,将输入学生信息保存到“和文件中,保存过程中,先输入到结构体中,再利用fwrite(s,sizeof(struct Student),1,fp);语句向文件中写入一条记录,即刚刚输入的学生姓名和学号;
利用fprintf(fp1,“姓名:%s\n“,s.name);fprintf(fp1,“ 学号:%s\n“,s.num); 向文件中写入刚刚输入的学生信息登录完后进入测试界面此时开始计时有语句{printf(“ 请计时输入开始时间(点,分):“); scanf(“%d,%d“,hourA,minA);}进行输入计时。
然后进入测试界面的菜单: 3.2 测试功能得实现①选测试类型:
测试功能菜单分为5个,其中1~4为选择类型,5返回主菜单;
具体实现选择功能有 while(choose1
choose5) {printf(“ 超出功能范围,请重新选择(1---5):“);scanf(“%d“,choose);}输入1~5之间的一个数,再用switch(choose) { }进行选择对应的功能如上图选择1后进入②选题数目:
进行选择题目的数目,输入要测试的题目数被限制
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论