c语言化考试系统课程设计.docx

上传人:小飞机 文档编号:3155108 上传时间:2023-03-11 格式:DOCX 页数:21 大小:41.90KB
返回 下载 相关 举报
c语言化考试系统课程设计.docx_第1页
第1页 / 共21页
c语言化考试系统课程设计.docx_第2页
第2页 / 共21页
c语言化考试系统课程设计.docx_第3页
第3页 / 共21页
c语言化考试系统课程设计.docx_第4页
第4页 / 共21页
c语言化考试系统课程设计.docx_第5页
第5页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《c语言化考试系统课程设计.docx》由会员分享,可在线阅读,更多相关《c语言化考试系统课程设计.docx(21页珍藏版)》请在三一办公上搜索。

1、c语言化考试系统课程设计课 程 报 告 课 程 名 称: 标准化考试系统 专 业 班 级 : 学 生 姓 名 : 学 号 : 任 课 教 师 : 学 期 : 课程报告任务书 题 目 标准化考试系统 开发出一个标准化考试系统,所谓标准化考试系统即仅支持选择题,也是为方便自动批改的功能的实现。要求实现以下基本功能: 提供给教师添加试题的功能-输入 试题的整体浏览功能 能够抽取试题组合成一套试卷 主要 教师实现题目信息的管理,比如删除、修改等 内容 查询功能(至少一种查询方式)、排序功能(至少一种排序方式) 扩展功能:可以按照自己的程度进行扩展。比如简单的权限处理 成绩报表打印功能甚至根据自己情况,

2、可以加上学生信息和考试成绩信息的管理,并扩充为广义的考试系统。即学生输入账号密码登陆,进行考试,交卷后显示成绩;模糊查询 综合查询 统计、分析等功能 总之,可以根据自己需求进行分析功能。 特别说明:尽可能地运用自己已经学习过的数据结构的知识去展现。 一、提交材料应包括:系统源代码 课程报告 二、整个设计过程具体要求 需求分析 要求学生对案例系统进行分析,设计出需要完成的功能,完善任务 要求 各个模块的调用关系; 设计过程 要求学生进一步明确各模块调用关系,进一步完善模块函数细节 实现过程 要求学生养成良好的编码习惯、完成各个模块并进行测试,最终完成系统整体测试; 总结阶段 按照要求完成系统设计

3、和实现报告,并进行总结、答辩。 报告撰写情况 系统完成情况 答辩情况 内容 规范程度 程序测试 基本功能扩展功能自述情况答辩情况 20分 5分 5分 20分 10分 10分 30分 总分 成绩 评定 成绩评定教师: 1 需求分析 设计一个标准化考试系统,让学生和老师都能登录。老师可以输入试题、修改试题,学生可以答题、查分,实现不同功能。 2 概要设计 int main Int jiao_deng(struct jiaoshi su) /*教师登录验证*/ void jiao_xin(struct jiaoshi su) /*将教师的用户信息存入文件*/ void jiao_xin(struct

4、 jiaoshi su) /*将教师的用户信息存入文件*/ void jiao_xun(struct tiku tm) /*教师验证通过后,可对题目进行修改*/ void jiao_zeng(struct tiku tm) /*在原有文件基础上,进行新增题目*/ Voidxiu_gai(struct tiku tm,int n) /*修改函数*/ int xue_deng(struct xuesheng sb) /*学生登录验证*/ void xue_xin(struct xuesheng sb) /*将学生的用户信息存入文件*/ 标准化考试系统 学生入口 教师入口 第一次进入 是 否 登录

5、注册 第一次进入 否 登录 注册 开查退始询出 考成系试 绩 统 3 详细设计 #include #include #include int count=0; struct jiaoshi / char username20; / char password12; /su; struct xuesheng / char username120; / char password112; / sb; struct tiku / int nb; / char tigan100; / char option180; / char option280; char option380; char opti

6、on480; char daan10; /tm; struct chaxun int num; char name20; int chengji; 查插修看入改试试试题 题 题 教师用户信息结构体 用户名 用户密码 学生用户信息结构体 用户名 用户密码 题库结构体 题号 题目内容 选项 答案 ch; void jiao_xin(struct jiaoshi su); void xue_xin(struct xuesheng su); void jiao_cha(struct tiku tm); void jiao_zeng(struct tiku tm); void xue_kaoshi(st

7、ruct 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 su); void jiao_xun(struct tiku tm); void cha_t

8、ihao(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); getchar; if(choice=1|choice=2) break; el

9、se printf(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: xue_kaoshi(tm); brea

10、k; /调用函数,开始考试 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 1:ji

11、ao_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(

12、i=1;i=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;

13、i+) printf(请输入第%d个用户的姓名和密码:,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*登录成功,现在可以

14、查看试题了!*n); break; if(fp=fopen(g:标准化考试.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.op

15、tion3); printf(%sn,tm.option4); printf(n); printf(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(请输入本次要添加的

16、题目个数n:); scanf(%d,&n); if(fp=fopen(g:标准化考试.txt,a)=NULL) printf(文件打开有误!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.opti

17、on3 ); printf(D:); scanf(%s,tm.option4 ); printf(请输入第%d个题目的答案:,tm.nb); scanf(%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

18、; int i; int j,k; char s10; int chengji=0; while(1) if(xue_deng(sb)=0) printf(tt对不起,用户名或密码错误!请重新输入!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=3

19、0; for(i=1;i请先登录该系统请输入你的登录名和密码:); scanf(%s%s,name,password); if(fp=fopen(g:标准化考试.txt,r)=NULL) printf(文件打开有误!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);

20、 return flag; int jiao_deng(struct jiaoshi su) /*教师登录验证*/ FILE *fp; int flag=0; char name20; char password12; printf(n); printf(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(s

21、trcmp(name,su.username)=0&strcmp(password,su.password)=0) flag=1; break; if(fclose(fp) printf(无法关闭此文件!n); exit(0); return flag; void jiao_xun(struct tiku tm) /*教师验证通过后,可对题目进行修改*/ int choice; while(1) if(jiao_deng(su)=0) printf(tt对不起,用户名或密码错误!请重新输入!n); else printf(tt*登录成功,欢迎使用*n); break; while(1) pri

22、ntf(n); printf(n); printf(tt请选择按何种方式进行修改!n); printf(tt选择1:按题号查找,并修改!n); printf(tt选择2:输入部分题目内容查找并进行修改!n); printf(n); printf(ttt请输入你的选择:); scanf(%d,&choice); switch(choice) case 1: cha_tihao(tm); break; /按题号查找,并修改 case 2: return; /输入部分题目内容查找并进行修改! void cha_tihao(struct tiku tm) /*先查询出题目,然后调用函数进行修改*/ i

23、nt 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 %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); prin

24、tf(%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

25、 tm,int /*修改函数*/ FILE *fp; int i; if(fp=fopen(g:标准化考试.txt,a)=NULL) n) printf(文件打开有误!n); exit(0); for(i=1;i=1;i+) printf(请输入改后题目的题号:); scanf(%d,&tm.nb ); printf(请输入改后题目的题干:n); scanf(%s,tm.tigan ); printf(A:n); scanf(%s,tm.option1 ); printf(B:n); scanf(%s,tm.option2 ); printf(C:n); scanf(%s,tm.option3

26、 ); printf(D:n); scanf(%s,tm.option4 ); printf(请输入改后第题的答案:); scanf(%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); 4 调试分析 登录时,解决账号密码错误问题,修改试题后存入的问题。 5测试结果 6心得体会 刚开始进行写标准化考试系统源代码时,用的是单链表写的,同时对书上的关于单链表的试题也进行了分析与研究,但是由于指针的相关知识学的不是很扎实,对于标准化考试系统中用单链表对试题进行删除、添加等功能无法实现。进而改用结构数组实现标准化考试系统,在我的程序运行中,只实现了一些基本功能,学生的答题,教师的删题添题,以及显示试题功能。而老师所要学生进行的一些拓展功能,还没有写,另外进行多项选择题也没有考虑。 在源程序中还存在明码转暗码的问题,在进行学生登录时虽然在网上看了许多明码转暗码的代码,但只是在教师登陆界面实现了此功能。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号