c语言标准化考试系统课程设计_第1页
c语言标准化考试系统课程设计_第2页
c语言标准化考试系统课程设计_第3页
c语言标准化考试系统课程设计_第4页
c语言标准化考试系统课程设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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<stdio.h>#include<stdlib.h>#include<string.h>int count=0;struct jiaoshi /教师用户信息结构体char username20; /用户名char password12; /用户密码su;

6、struct xuesheng /学生用户信息结构体char username120; /用户名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

7、(struct xuesheng su);void jiao_cha(struct tiku 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(st

8、ruct xuesheng sb);int jiao_deng(struct jiaoshi 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(&

9、quot;tt提示:如果你是第一次使用该系统,请先注册你的基本信息!n");while(1)printf("ttt请输入你的选择项:");scanf("%d",&choice);getchar();if(choice=1|choice=2)break; elseprintf("ttt对不起,输入有误,请重新输入!n");if(choice=1)while(1)printf("n");printf("n");printf("ttt选择1:注册!n");prin

10、tf("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); break; /调用函数,开始考试case 3: xue_chax(ch)

11、; 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请输入你的选择:&qu

12、ot;);scanf("%d",&choice2);switch(choice2)case 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=fo

13、pen("g:标准化考试.txt","a")=NULL)printf("文件打开有误!n");exit(0);for(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);voi

14、d 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个用户的姓名和密码:",i);scanf("%s%s",sb.username1,sb.password1);fprintf(fp,"%s %sn",sb.usern

15、ame1,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:标准化考试.txt","r")=NULL)p

16、rintf("文件打开有误!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);

17、 printf("%sn",tm.option3);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对不起,用

18、户名或密码错误!请重新输入!n");else printf("tt*登录成功,欢迎使用*n");break;printf("请输入本次要添加的题目个数n:");scanf("%d",&n);if(fp=fopen("g:标准化考试.txt","a")=NULL)printf("文件打开有误!n");exit(0);for(i=1;i<=n;i+)printf("请输入题号:");scanf("%d",&t

19、m.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:"

20、);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 t

21、m) /*读出文件,学生开始答题,并将成绩存入文件*/FILE *fp;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("

22、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<=k;i=i+j)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&qu

23、ot;,tm.nb,tm.tigan);printf("%sn",tm.option1);printf("%sn",tm.option2); printf("%sn",tm.option3);printf("%sn",tm.option4);printf("n");/printf("%sn",tm.daan);printf("请输入你的选项:");scanf("%s",s);if(strcmp(tm.daan,s)=0) chengji

24、=chengji+10;printf("你的成绩是:%dn",chengji);printf("tt为方便你以后查询成绩,请再次输入你的信息:n");xue_cha(ch,chengji);if(fclose(fp)printf("无法关闭此文件!n");exit(0);void xue_cha(struct chaxun ch,int chengji) /*考试结束,将成绩录入文件*/FILE *fp;int i;if(fp=fopen("g:标准化考试.txt","a")=NULL)prin

25、tf("文件打开有误!n");exit(0);/*printf("请输入你的学号和姓名:");scanf("%d %s ",&ch.num,);printf("请输入你本次考试的成绩:");*/printf("请输入你本次考试的成绩:");while(1)scanf("%d",&i);if(i=chengji)printf("请输入你的学号和姓名和成绩:");scanf("%d %s ",&ch.n

26、um,,&ch.chengji );fprintf(fp,"%d %s %dn",ch.num,,chengji);break;elseprintf("tt对不起,你输入的成绩与本次考试成绩有误,请重新输入!"); /fprintf(fp,"%d %sn",ch.num,);if(fclose(fp)printf("无法关闭此文件!n");exit(0);void xue_chax(struct chaxun ch) /*成绩查询函数1.按学号2.按姓名3.按成绩*

27、/int choice;printf("ttt选择1,按学号查询成绩n");printf("ttt选择2,按姓名查询成绩n");printf("ttt选择3,按成绩信息n");printf("请输入你的选择:");scanf("%d",&choice);switch(choice)case 1:xue_hao(ch); break;case 2:xing_ming(ch); break;case 3:cheng_ji(ch); break;void xue_hao(struct chax

28、un ch) /*按学号查询成绩*/FILE *fp;/int i;int num;int flag=0;if(fp=fopen("g:标准化考试.txt","r")=NULL)printf("文件打开有误!n");exit(0);printf("请输入你的学号:");scanf("%d",&num);while(!feof(fp)fscanf(fp,"%d%s%d",&ch.num,,&ch.chengji);if(num=ch.num

29、)printf("学号:%dt姓名:%st成绩:%dn",ch.num,,ch.chengji);flag=1;break;if(flag=0)printf("对不起,没有找到,请检查你的输入是否正确!");if(fclose(fp)printf("无法关闭此文件!n");exit(0);void xing_ming(struct chaxun ch) /*按姓名查询成绩*/FILE *fp;char name20;int flag=0;if(fp=fopen("g:标准化考试.txt","

30、r")=NULL)printf("文件打开有误!n");exit(0);printf("请输入你的姓名:");scanf("%s",name);while(!feof(fp)fscanf(fp,"%d%s%d",&ch.num,,&ch.chengji);if(strcmp(name,)=0)printf("学号:%dt姓名:%st成绩:%dn",ch.num,,ch.chengji);flag=1;break;if(flag=

31、0)printf("对不起,没有找到,请检查你的输入是否正确!");if(fclose(fp)printf("无法关闭此文件!n");exit(0);void cheng_ji(struct chaxun ch) /*按成绩查询信息*/FILE *fp;int chengji;int flag=0;if(fp=fopen("g:标准化考试.txt","r")=NULL)printf("文件打开有误!n");exit(0);printf("请输入你的成绩:");scanf(&q

32、uot;%d",&chengji);while(!feof(fp)fscanf(fp,"%d%s%d",&ch.num,,&ch.chengji);if(chengji=ch.chengji)printf("学号:%dt姓名:%st成绩:%dn",ch.num,,ch.chengji);flag=1;if(flag=0)printf("对不起,没有找到,请检查你的输入是否正确!");if(fclose(fp)printf("无法关闭此文件!n");exi

33、t(0);int xue_deng(struct xuesheng sb) /*学生登录验证*/FILE *fp;int flag=0;char name20;char password12;printf("n"); printf("tt>>>>>请先登录该系统<<<<<nn");printf("tt>>>>>请输入你的登录名和密码:");scanf("%s%s",name,password);if(fp=fopen(&quo

34、t;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);return flag;int ji

35、ao_deng(struct jiaoshi su) /*教师登录验证*/FILE *fp;int flag=0;char name20;char password12;printf("n"); printf("tt>>>>>请先登录该系统<<<<<nn");printf("tt>>>>>请输入你的登录名和密码:");scanf("%s%s",name,password);if(fp=fopen("g:标准化考试.t

36、xt","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 jiao_xun(struct

37、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选择

38、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) /*先查询出题目,然后调用函数进行修改*/int n;FILE *fp;int flag=0;printf("请输入你要修改

39、的题目的题号:");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);printf("%sn",tm.option1);printf("%sn",tm.option2); printf("%sn",tm.option3);printf("%

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论