数据结构课程设计报告书 单项选择题标准化考试系统
更新时间:2023-04-12 23:57:01 阅读量: 实用文档 文档下载
- 大二数据结构课程设计报告推荐度:
- 相关推荐
《数据结构与算法I》课程设计报告
课设题目:单项选择题标准化考试系统
学生姓名:
学号:
同组同学:
完成日期:
成绩:
计算机与科学技术专业
数据结构与算法I 课程设计报告书 2 目 录
一、设计流程 (1)
二、需求分析 (1)
三、总体设计 (2)
四、详细设计 (3)
五、系统测试 (14)
六、总结 (19)
七、参考文献 (19)
计算机与科学技术专业
数据结构与算法I 课程设计报告书 3 一 本次课程设计的流程
(1) 需求分析
(2) 试题的录入
(3) 试题的抽取
(4) 试题的删除
(5) 答题
(6) 自动判卷
(7) 系统测试
(8) 退出系统
二 需求分析
1. 课程设计名称及内容
设计一单项选择题标准化考试系统,实现考试的标准化管理。
2.设计方案提示
(1) 用文件保存试题库。(每个试题包括题干、4个备选答案、标准答案);
(2) 试题录入:可随时增加试题到试题库中;
(3) 试题抽取:每次从试题库中可以随机抽出N 道题(N 由键盘输入);
(4) 答题:用户可实现输入自己的答案;
(5) 自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。
计算机与科学技术专业
数据结构与算法I 课程设计报告书 4 三 总体设计
1.总的叙述
1、用来保存试题库,可以用到”Struct TestNode Testquestions ”结构体数组,将试题一一对应
的保留下来,放在相应的文件里;
2、试题的录入,可以定义一个” Status InsertNode(int &N)”函数将试题录入;
3、 试题的抽取,可以定义一个” void printNode(TestNode p,int n)”的函数,用到”Rand ”函数进行随机抽取;
4、答题方面,,则定义一个” void answer(int sum)”函数用于答题者的输入答案;
5、自动判卷,则可以定义一个” Status Match(TestNode p,char m)”函数,用来对比答题
者答案
和正确答案,给出判断正确与否;
6、存储方面每次插入和删除操作都能自动存储试题至文档。
7、用一个main 函数将上述各个函数功能块连接起来,实现”单项选择题标准化考试系统”的各个方面的功能,完成设计
计算机与科学技术专业
数据结构与算法I 课程设计报告书 5 四 详细设计
1.模块流程
(1) 答题功能模块
计算机与科学技术专业
数据结构与算法I 课程设计报告书 6
(2)显示功能结构
计算机与科学技术专业
数据结构与算法I 课程设计报告书 7 (3)输入功能结构
计算机与科学技术专业
数据结构与算法I 课程设计报告书 8
(4)删除功能结构
计算机与科学技术专业
数据结构与算法I 课程设计报告书 9 (4)结构体
程序中主要用到了结构体数组,定义类型,如typedef int Status 等,用结构体数组可以使得程序比较简便,易于读懂,免去频繁的赋值,而用定义类型,可以使得程序具有移植性。
2.功能模块
(1)试题的录入模块
Status InsertNode(int &n){
// printf("%d",n);
int i=0,j;
FILE *fp;
if((fp=fopen("exam.txt","wb+"))==NULL){
printf("Cannot open file.");
getchar();
exit(1);
}
// printf("%d",n);
while(!feof(fp)){
fread(&Testquestions[i],sizeof(TestNode),1,fp);
i++;
}
// printf("%d",n);
// printf("%d",n);
printf("请输入题目:");
gets(Testquestions[n].subject);
gets(Testquestions[n].subject);
printf("请输入选项A :");
gets(Testquestions[n].option1);
计算机与科学技术专业
数据结构与算法I 课程设计报告书 10 printf("请输入选项B :");
gets(Testquestions[n].option2);
printf("请输入选项C :");
gets(Testquestions[n].option3);
printf("请输入选项D :");
gets(Testquestions[n].option4);
printf("请输入答案:");
scanf("%c",&Testquestions[n].result);
getchar();
// printf("%d",n);
n++;
// printf("%d",n);
for(j=0;j fwrite(&Testquestions[j],sizeof(TestNode),1,fp); } fclose(fp); system("cls"); return TRUE; } (2)试题的输出模块 void printNode(TestNode p,int n){ //int i=0; printf("(%d) ",n); printf("%s\n",p.subject); printf(" A %s ",p.option1); printf(" B %s ",p.option2); printf(" C %s ",p.option3); printf(" D %s ",p.option4); 计算机与科学技术专业 数据结构与算法I 课程设计报告书 11 } Status Match(TestNode p,char m){ if(m==p.result) return TRUE; else return ERROR; } (3)答题判卷模块 void answer(int sum){ int a,Num,s[100]; float score=0; char r; for(int i=0;i key:Num=rand()%sum; for(a=0;a if(s[a]==Num) goto key; s[i]=Num; } for(int i=0;i printNode(Testquestions[s[i]],s[i]+1); printf("\n 请输入答案:"); scanf("%c",&r); getchar(); if( Match(Testquestions[s[i]],r)) { printf("\n 答案正确!\a\n"); score++; } 计算机与科学技术专业 数据结构与算法I 课程设计报告书 12 else printf("\n 答案错误!\a\n"); } printf("\n 你的总成绩为:%f\n",score/sum*100); } (4)试题的删除模块 Status DeleteTitle(int *n){ int i=0,k,temp; FILE *fp; if((fp=fopen("exam.txt","wb+"))==NULL){ printf("Cannot open file."); getchar(); exit(1); } while(!feof(fp)) { fread(&Testquestions[i],sizeof(TestNode),1,fp); i++; } //n=i-1; printf("请输入所要删除的题目的题号:\n"); scanf("%d",&k); getchar(); for(;k<=*n;k++){ // Testquestions[i]=Testquestions[i+1]; Testquestions[k-1]=Testquestions[k]; } // Testquestions[*n]=Testquestions[0]; temp=*n; 计算机与科学技术专业 数据结构与算法I 课程设计报告书 13 *n=temp-1; for(int j=0;j<*n;j++){ fwrite(&Testquestions[j],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("exam.txt","rb+"))==NULL){ printf("Cannot open file!"); getchar(); exit(1); } while(!feof(fp)){ fread(&Testquestions[i],sizeof(TestNode),1,fp); i++; } N=i-1; fclose(fp); while(flag=='N'||flag=='n'){
正在阅读:
优秀积极分子事迹材料06-20
300吨生活污水CASS设计方案12-26
诚信教育以了解诚信的内涵02-20
排水管网工程主要内容04-25
苏教版语文五年级上册期末测试题11-19
冀教版六年级英语下册第一次月考试题08-07
中外酒店工程管理的差距08-20
一元线性回归模型练习题(无计算)11-27
班组解说词12-15
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 报告书
- 数据结构
- 单项
- 选择题
- 标准化
- 课程
- 考试
- 设计
- 系统
- 电磁组-成都信息工程学院-疯狂飞车-技术报告第七届-飞思卡尔-智
- 广西壮族自治区南宁市横县普通小学教育学校名录2022版224家
- 2022就业春风行动活动工作方案
- 2015年1月初三期末数学西城海淀东城朝阳四区整理合卷(带答案)
- 机械加工工艺过程制订及工艺尺寸链5.3
- 五一医院劳动节主题活动方案
- Ytc2500定位器安装及操作说明书(仅供参考)
- 医疗机构环境表面清洁和消毒管理规范方案.2022年
- 2022年商业地产七大趋势解析
- 水果谜语大全及答案100个
- 公司销售案场执行管理手册
- MG300/730-WD采煤机操作规程标准范本
- 基于DDS+PLL的中高速跳频电台频率合成器设计(定稿)
- 2022起亚智跑行业调研分析报告
- 五年级数学下册全册配套练习题
- 高中数学新同步北师大版必修1课时作业21 函数与方程
- 《好题》小学数学四年级上册第四单元三位数乘两位数 单元测试(答
- 山鸡养殖许可证申请书(标准).docx
- 淘宝客服月工作计划表.doc
- 部编版语文一年级下生字组词(2022版)