




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课 程 报 告课 程 名 称: 标准化考试系统 专 业 班 级 : 学 生 姓 名 : 学 号 : 任 课 教 师 : 学 期 : 课程报告任务书题 目标准化考试系统主要内容开发出一个标准化考试系统,所谓标准化考试系统即仅支持选择题,也是为方便自动批改的功能的实现。要求实现以下基本功能:(1)提供给教师添加试题的功能(试题信息用文件保存)-输入(2)试题的整体浏览功能(3)能够抽取试题组合成一套试卷(组卷的策略:可以是随机的,当然若教师添加的试题时有知识点、章节等信息,亦可以实现按照一定的组卷策略实现出题:如每个知识点抽取若干题目,最终组合一套试卷)(4)教师实现题目信息的管理,比如删除、修改
2、等(5)查询功能(至少一种查询方式)、排序功能(至少一种排序方式)扩展功能:可以按照自己的程度进行扩展。比如(1)简单的权限处理 (2)成绩报表打印功能(3)甚至根据自己情况,可以加上学生信息和考试成绩信息的管理,并扩充为广义的考试系统。即学生输入账号密码登陆,进行考试,交卷后显示成绩;(4)模糊查询 (5)综合查询 (6)统计、分析等功能 总之,可以根据自己需求进行分析功能。特别说明:尽可能地运用自己已经学习过的数据结构的知识去展现。任务要求一、提交材料应包括:(1)系统源代码 (2)课程报告二、整个设计过程具体要求(1)需求分析 要求学生对案例系统进行分析,设计出需要完成的功能,完善各个模
3、块的调用关系;(2)设计过程 要求学生进一步明确各模块调用关系,进一步完善模块函数细节(函数名、参数、返回值等)(3)实现过程 要求学生养成良好的编码习惯、完成各个模块并进行测试,最终完成系统整体测试;(4)总结阶段 按照要求完成系统设计和实现报告,并进行总结、答辩。成绩评定报告撰写情况(30分)系统完成情况(30分)答辩情况(40分)总分内容20分规范程度5分程序测试5分基本功能20分扩展功能10分自述情况10分答辩情况30分成绩评定教师: 1 需求分析设计一个标准化考试系统,让学生和老师都能登录。老师可以输入试题、修改试题,学生可以答题、查分,实现不同功能。2 概要设计int main()
4、Int jiao_deng(struct jiaoshi su) /*教师登录验证*/void jiao_xin(struct jiaoshi su) /*将教师的用户信息存入文件*/void jiao_xin(struct jiaoshi su) /*将教师的用户信息存入文件*/void jiao_xun(struct tiku tm) /*教师验证通过后,可对题目进行修改*/void jiao_zeng(struct tiku tm) /*在原有文件基础上,进行新增题目*/Voidxiu_gai(struct tiku tm,int n) /*修改函数*/int xue_deng(stru
5、ct xuesheng sb) /*学生登录验证*/void xue_xin(struct xuesheng sb) /*将学生的用户信息存入文件*/ 标准化考试系统 教师入口 学生入口第一次进入第一次进入是否否 注册 注册登录登录修改试题插入试题查看试题查询成绩开始考试退出系统3 详细设计#include#include#includeint count=0;struct jiaoshi /教师用户信息结构体char username20; /用户名char password12; /用户密码su;struct xuesheng /学生用户信息结构体char username120; /用户
6、名char password112; /用户密码sb;struct tiku /题库结构体 int nb; /题号char tigan100; /题目内容char option180; /选项char option280;char option380;char option480;char daan10; /答案tm;struct chaxunint num;char name20;int chengji;ch;void jiao_xin(struct jiaoshi su);void xue_xin(struct xuesheng su);void jiao_cha(struct tiku
7、tm);void jiao_zeng(struct tiku tm);void xue_kaoshi(struct tiku tm);void xue_cha(struct chaxun ch,int chengji);void xue_chax(struct chaxun ch);void xue_hao(struct chaxun ch);void xing_ming(struct chaxun ch);void cheng_ji(struct chaxun ch);int xue_deng(struct xuesheng sb);int jiao_deng(struct jiaoshi
8、su);void jiao_xun(struct tiku tm);void cha_tihao(struct tiku tm);void xiu_gai(struct tiku tm,int n);int main()int choice,choice1,choice2;printf(ttt欢迎进入标准化考试系统n);printf(ttt选择1:以学生身份登录n);printf(ttt选择2:以教师身份登录n);printf(tt提示:如果你是第一次使用该系统,请先注册你的基本信息!n);while(1)printf(ttt请输入你的选择项:);scanf(%d,&choice);getch
9、ar();if(choice=1|choice=2)break; elseprintf(ttt对不起,输入有误,请重新输入!n);if(choice=1)while(1)printf(n);printf(n);printf(ttt选择1:注册!n);printf(ttt选择2:开始考试!n);printf(ttt选择3:成绩查询!n);printf(ttt选择0:退出n);printf(n);printf(ttt请输入你的选择:);scanf(%d,&choice1);switch(choice1)case 1: xue_xin(sb); break; /调用文件,录入用户信息case 2:
10、xue_kaoshi(tm); break; /调用函数,开始考试case 3: xue_chax(ch); break; /调用文件,查询信息case 0: return;if(choice=2)while(1)printf(n);printf(n);printf(ttt选择1:注册!n);printf(ttt选择2:查看题库中的题目n);printf(ttt选择3:向题库中增加题目n);printf(ttt选择4:对题库题目进行修改n);printf(ttt选择0:退出n);printf(ttt请输入你的选择:);scanf(%d,&choice2);switch(choice2)case
11、 1:jiao_xin(su); break; /调用文件,录入用户信case 2:jiao_cha(tm); break; /调用文件开始录入题目case 3:jiao_zeng(tm); break; /调用文件,增加题目case 4:jiao_xun(tm); break; /调用文件,对题库进行修改case 0: return;void jiao_xin(struct jiaoshi su) /*将教师的用户信息存入文件*/FILE *fp;int i;if(fp=fopen(g:标准化考试.txt,a)=NULL)printf(文件打开有误!n);exit(0);for(i=1;i=
12、1;i+)printf(请输入第%d个用户的姓名和密码:,i);scanf(%s%s,su.username,su.password);fprintf(fp,%s %sn,su.username,su.password);if(fclose(fp)printf(无法关闭此文件!n);exit(0);void xue_xin(struct xuesheng sb) /*将学生的用户信息存入文件*/FILE *fp;int i;if(fp=fopen(g:标准化考试.txt,a)=NULL)printf(文件打开有误!n);exit(0);for(i=1;i=1;i+)printf(请输入第%d个
13、用户的姓名和密码:,i);scanf(%s%s,sb.username1,sb.password1);fprintf(fp,%s %sn,sb.username1,sb.password1);if(fclose(fp)printf(无法关闭此文件!n);exit(0);void jiao_cha(struct tiku tm) /*查看题库中的题目*/FILE *fp;while(1)if(jiao_deng(su)=0)printf(tt对不起,用户名或密码错误!请重新输入!n);else printf(tt*登录成功,现在可以查看试题了!*n);break;if(fp=fopen(g:标准
14、化考试.txt,r)=NULL)printf(文件打开有误!n);exit(0);while(!feof(fp)printf(n);fscanf(fp,%d %s %s %s %s %s %s,&tm.nb,tm.tigan,tm.option1,tm.option2,tm.option3,tm.option4,tm.daan);printf(%d%sn,tm.nb,tm.tigan);printf(%sn,tm.option1);printf(%sn,tm.option2); printf(%sn,tm.option3);printf(%sn,tm.option4);printf(n);pr
15、intf(ttt答案:%sn,tm.daan);if(fclose(fp)printf(无法关闭此文件!n);exit(0);void jiao_zeng(struct tiku tm) /*在原有文件基础上,进行新增题目*/FILE *fp;int i;int n;while(1)if(jiao_deng(su)=0)printf(tt对不起,用户名或密码错误!请重新输入!n);else printf(tt*登录成功,欢迎使用*n);break;printf(请输入本次要添加的题目个数n:);scanf(%d,&n);if(fp=fopen(g:标准化考试.txt,a)=NULL)print
16、f(文件打开有误!n);exit(0);for(i=1;i=n;i+)printf(请输入题号:);scanf(%d,&tm.nb );printf(请输入第%d个题目的题干:n,tm.nb);scanf(%s,tm.tigan );printf(请输入答案:n);printf(A:);scanf(%s,tm.option1 );printf(B:);scanf(%s,tm.option2 );printf(C:);scanf(%s,tm.option3 );printf(D:);scanf(%s,tm.option4 );printf(请输入第%d个题目的答案:,tm.nb);scanf(%
17、s,tm.daan );fprintf(fp,%d %s %s %s %s %s %sn,tm.nb,tm.tigan,tm.option1,tm.option2,tm.option3,tm.option4,tm.daan);if(fclose(fp)printf(无法关闭此文件!n);exit(0);void xue_kaoshi(struct tiku tm) /*读出文件,学生开始答题,并将成绩存入文件*/FILE *fp;int i;int j,k;char s10;int chengji=0;while(1)if(xue_deng(sb)=0)printf(tt对不起,用户名或密码错
18、误!请重新输入!n);else printf(t恭喜你登陆成功,现在可以开始考试了!n);break;if(fp=fopen(g:标准化考试.txt,r)=NULL)printf(文件打开有误!n);exit(0);printf(tt#共有三种难度系数1-2-3#);printf(请选择难度系数:);scanf(%d,&j);if(j=1)k=10;if(j=2)k=20;if(j=3)k=30;for(i=1;i请先登录该系统请输入你的登录名和密码:);scanf(%s%s,name,password);if(fp=fopen(g:标准化考试.txt,r)=NULL)printf(文件打开有
19、误!n);exit(0);while(!feof(fp)fscanf(fp,%s%s,sb.username1,sb.password1);if(strcmp(name,sb.username1)=0&strcmp(password,sb.password1)=0)flag=1;break;if(fclose(fp)printf(无法关闭此文件!n);exit(0);return flag;int jiao_deng(struct jiaoshi su) /*教师登录验证*/FILE *fp;int flag=0;char name20;char password12;printf(n); p
20、rintf(tt请先登录该系统请输入你的登录名和密码:);scanf(%s%s,name,password);if(fp=fopen(g:标准化考试.txt,r)=NULL)printf(文件打开有误!n);exit(0);while(!feof(fp)fscanf(fp,%s%s,su.username,su.password);if(strcmp(name,su.username)=0&strcmp(password,su.password)=0)flag=1;break;if(fclose(fp)printf(无法关闭此文件!n);exit(0);return flag;void jia
21、o_xun(struct tiku tm) /*教师验证通过后,可对题目进行修改*/int choice;while(1)if(jiao_deng(su)=0)printf(tt对不起,用户名或密码错误!请重新输入!n);else printf(tt*登录成功,欢迎使用*n);break;while(1)printf(n);printf(n);printf(tt请选择按何种方式进行修改!n);printf(tt选择1:按题号查找,并修改!n);printf(tt选择2:输入部分题目内容查找并进行修改!n);printf(n);printf(ttt请输入你的选择:);scanf(%d,&choi
22、ce);switch(choice)case 1: cha_tihao(tm); break; /按题号查找,并修改case 2: return; /输入部分题目内容查找并进行修改!void cha_tihao(struct tiku tm) /*先查询出题目,然后调用函数进行修改*/int n;FILE *fp;int flag=0;printf(请输入你要修改的题目的题号:);scanf(%d,&n);if(fp=fopen(g:标准化考试.txt,r)=NULL)printf(文件打开有误!n);exit(0);while(!feof(fp)printf(n);fscanf(fp,%d
23、%s %s %s %s %s %s,&tm.nb,tm.tigan,tm.option1,tm.option2,tm.option3,tm.option4,tm.daan);if(n=tm.nb)printf(%d%sn,tm.nb,tm.tigan);printf(%sn,tm.option1);printf(%sn,tm.option2); printf(%sn,tm.option3);printf(%sn,tm.option4);printf(ttt答案:%sn,tm.daan);printf(n);printf(%d,ftell(fp);flag=1;break;if(flag=0)printf(对不起,没有找到,请检查你的输入是否正确!);if(flag=1)xiu_gai(tm,n);if(fclose(fp)printf(无法关闭此文件!n);exit(0);void xiu_gai(struct tiku tm,int n) /*修改函数*/FILE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024 A+ 生物 学考必刷题公开课教学设计课件资料
- 生态补偿机制在2025年京津冀区域大气污染防治中的应用探索报告
- 基于新零售的实体书店变革策略与市场前景分析报告2025
- 《家庭教育学》高职教育类专业全套教学课件
- 中职高考英语一轮练习(祈使句)含答案
- 2025年度金融行业翻译保密合作协议
- 二零二五年体育赛事赞助与冠名合同
- 二零二五年度建筑工程施工合作框架协议书
- 二零二五年度金融租赁无限连带责任担保协议
- 2025年度房屋租赁与租赁物维修服务合同024
- 四川省南充市2023-2024学年八年级上学期期末英语试卷
- JAVA程序员岗位说明书
- LY/T 3355-2023油茶
- 辽宁省辽宁鞍山五校联考2022-2023学年高二下学期7月期末英语试题(含答案无听力音频无听力原文)
- 2023年届高考英语高频词汇进阶素材4:900词(依据2023年高考英语真题62套)
- 胸痛三联征“一站式”CTA检查技术讲义课件
- 新时代三会一课(讲解)
- 初三化学竞赛推断题大全
- 2023年蛟川书院入学考试语文试卷
- MT 285-1992缝管锚杆
- GB/T 9163-2001关节轴承向心关节轴承
评论
0/150
提交评论