数据结构课程设计报告书单项选择题标准化考试系统

上传人:枫** 文档编号:496851378 上传时间:2023-08-02 格式:DOC 页数:16 大小:70KB
返回 下载 相关 举报
数据结构课程设计报告书单项选择题标准化考试系统_第1页
第1页 / 共16页
数据结构课程设计报告书单项选择题标准化考试系统_第2页
第2页 / 共16页
数据结构课程设计报告书单项选择题标准化考试系统_第3页
第3页 / 共16页
数据结构课程设计报告书单项选择题标准化考试系统_第4页
第4页 / 共16页
数据结构课程设计报告书单项选择题标准化考试系统_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《数据结构课程设计报告书单项选择题标准化考试系统》由会员分享,可在线阅读,更多相关《数据结构课程设计报告书单项选择题标准化考试系统(16页珍藏版)》请在金锄头文库上搜索。

1、-数据构造与算法I课程设计报告课设题目:单项选择题标准化考试系统学生*:*:同组同学:完成日期:成绩:目录一、设计流程1二、需求分析1三、总体设计2四、详细设计3五、系统测试14六、总结19七、参考文献19一本次课程设计的流程(1) 需求分析(2) 试题的录入(3) 试题的抽取(4) 试题的删除(5) 答题(6) 自动判卷(7) 系统测试(8) 退出系统二需求分析1. 课程设计名称及内容设计一单项选择题标准化考试系统,实现考试的标准化管理。2设计方案提示(1)用文件保存试题库。每个试题包括题干、4个备选答案、标准答案; (2)试题录入:可随时增加试题到试题库中; (3)试题抽取:每次从试题库中

2、可以随机抽出N道题N由键盘输入; (4)答题:用户可实现输入自己的答案; (5)自动判卷:系统可根据用户答案与标准答案的比照实现判卷并给出成绩。三总体设计1总的表达 1、用来保存试题库,可以用到Struct TestNode Testquestions构造体数组,将试题一一对应的保存下来,放在相应的文件里; 2、试题的录入,可以定义一个 Status InsertNode(int &N)函数将试题录入; 3、试题的抽取,可以定义一个 void printNode(TestNode p,int n)的函数,用到Rand函数进展随机抽取; 4、答题方面,则定义一个 void answer(int

3、sum)函数用于答题者的输入答案; 5、自动判卷,则可以定义一个 Status Match(TestNode p,char m)函数,用来比照答题者答案和正确答案,给出判断正确与否; 6、存储方面每次插入和删除操作都能自动存储试题至文档。7、用一个main函数将上述各个函数功能块连接起来,实现单项选择题标准化考试系统的各个方面的功能,完成设计单项选择题标准化考试系统进展答题并判卷显示整*试卷内容插入试题删除试题退出系统四详细设计1.模块流程1答题功能模块进入函数answer(int sum)i=0,isumNum=rand()%sum题目是否重复输出数据从键盘获得数据I=0,isum,答案是否

4、正确输出错误输出正确输出总成绩函数完毕(2) 显示功能构造功能开场I=0,iN,进入函数printNode(TestNode p,int n)输出一道题目离开函数printNode(TestNode p,int n)功能完毕(3) 输入功能构造函数InsertNode(int &n)开场翻开并读取文件输入题目内容将题目插入到题库末尾将题库存储至文件函数InsertNode(int &n)完毕(4) 删除功能构造函数DeleteTitle(int *n)开场翻开并读取文件输入删除题目编号将从题库中删除将题库存储至文件函数DeleteNode(int *n)完毕4构造体程序中主要用到了构造体数组,

5、定义类型,如typedef int Status等,用构造体数组可以使得程序比较简便,易于读懂,免去频繁的赋值,而用定义类型,可以使得程序具有移植性。2. 功能模块(1) 试题的录入模块Status InsertNode(int &n) / printf(%d,n); int i=0,j; FILE *fp; if(fp=fopen(e*am.t*t,wb+)=NULL) printf(Cannot open file.); getchar(); e*it(1); / printf(%d,n); while(!feof(fp) fread(&Testquestionsi,sizeof(Test

6、Node),1,fp); i+; / printf(%d,n); / printf(%d,n); printf(请输入题目:); gets(Testquestionsn.subject); gets(Testquestionsn.subject); printf(请输入选项A:); gets(Testquestionsn.option1); printf(请输入选项B:); gets(Testquestionsn.option2); printf(请输入选项C:); gets(Testquestionsn.option3); printf(请输入选项D:); gets(Testquestion

7、sn.option4); printf(请输入答案:); scanf(%c,&Testquestionsn.result); getchar(); / printf(%d,n); n+; / printf(%d,n); for(j=0;jn;j+) fwrite(&Testquestionsj,sizeof(TestNode),1,fp); fclose(fp); system(cls); return TRUE;2试题的输出模块void printNode(TestNode p,int n) /int i=0; printf(%d) ,n); printf(%sn,p.subject); p

8、rintf( A %s ,p.option1); printf( B %s ,p.option2); printf( C %s ,p.option3); printf( D %s ,p.option4);Status Match(TestNode p,char m) if(m=p.result) return TRUE; else return ERROR;(3) 答题判卷模块void answer(int sum) int a,Num,s100; float score=0; char r; for(int i=0;isum;i+) key:Num=rand()%sum; for(a=0;a

9、i;a+) if(sa=Num) goto key; si=Num; for(int i=0;isum;i+) printNode(Testquestionssi,si+1); printf(n请输入答案:);scanf(%c,&r); getchar(); if( Match(Testquestionssi,r) printf(n答案正确!an); score+; else printf(n答案错误!an); printf(n你的总成绩为:%fn,score/sum*100);(4) 试题的删除模块Status DeleteTitle(int *n) int i=0,k,temp; FILE

10、 *fp; if(fp=fopen(e*am.t*t,wb+)=NULL) printf(Cannot open file.); getchar(); e*it(1); while(!feof(fp) fread(&Testquestionsi,sizeof(TestNode),1,fp); i+; /n=i-1; printf(请输入所要删除的题目的题号:n); scanf(%d,&k); getchar(); for(;k=*n;k+) / Testquestionsi=Testquestionsi+1; Testquestionsk-1=Testquestionsk; / Testque

11、stions*n=Testquestions0; temp=*n; *n=temp-1; for(int j=0;j*n;j+) fwrite(&Testquestionsj,sizeof(TestNode),1,fp); fclose(fp); system(cls); return TRUE;(5) 界面主函数模块int main(void) char flag=N; int i, sum, choice; int N=0, *p; p=&N; FILE *fp; if(fp=fopen(e*am.t*t,rb+)=NULL) printf(Cannot open file!); getchar(); e*it(1); while(!feof(fp) fread(&Testquestionsi,sizeof(TestNode),1,fp); i+; N=i-1; fclose(fp); while(flag=N|flag=n) printf(ttt单项选择题标准化考试系统n ); printf(n); printf( ttt 题库数量:%dn,N); printf( ttt1 进展答题并判卷n); /answer() printf( ttt2 显示整*试卷内容n);/printNode() printf( ttt3 插入试题n);/InsertN

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号