c语言 -单选标准化考试系统--课程设计报告
沈 阳 航 空 航 天 大 学
课 程 设 计
学 班 姓
号 级 名
指导教师
2012 年
9 月
7 日
沈阳航空航天大学
课程设计任务书
学院:自动化 专业:测控技术与仪器 班级:14070102 学号:2011040701075 题目:单项选择题标准化考试系统(1) 一、课程设计时间
2012~2013第1学期 第2周,共计1周,20学时。
二、课程设计内容
用C语言编写标准化考试中的一些基本功能:
用文件保存试题库。(每个试题包括题干、4个备选答案、标准答案) 1.试题录入:可随时增加试题到试题库中
2.试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入) 3.答题:用户可实现输入自己的答案
自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出
成绩。
三、课程设计要求 1. 程序质量:
贯彻结构化的程序设计思想。
用户界面友好,功能明确,操作方便。 用户界面中的菜单至少应包括“试题录入”、“试题抽取”、“答题”、“退出” 4项。
代码应适当缩进,并给出必要的注释,以增强程序的可读性。
2. 课程设计说明书:
课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的模板。
四、指导教师和学生签字
指导教师:________ 学生签名:________ 五、成绩
六、教师评语
目录
一、需求分析 ...................................................... 1 二、设计分析 ...................................................... 3 三、主要界面截图 .............................................. 6 四、技术要点 ...................................................... 8 五、个人总结 ...................................................... 11 六、参考文献 ...................................................... 12 七、源程序 .......................................................... 12
一、需求分析
根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。本系统用于考试,鉴于使用环境的特殊要求,本系统应具有稳定、便捷的特点。
1. 稳定性分析
本系统用于考试,故考试中本系统的稳定性将决定考试是否成功。对于考生的操作应该有正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。
2.便捷性分析
本系统用于考试,为方便考试的进行。便捷性是本系统所必须的特性。功能明确,操作方便将会改善考生的心情,减少考生不必要的心理压力。
3. 主要功能分析
(1)题库存储:允许试题管理人员输入新的试题,并永久保存在磁盘中。文件的具体格式应采用文本文件。以便于程序自动读取或人工阅读。
(2)试题抽取:用户输入查询试题数目,系统规则
地在界面显示抽取结果。当输入试题数目时,体统规则的在屏幕上显示相应数量的试题,供考生提前复习或试题管理人对题库进行管理。
(3)答题系统:考生输入自己想要回答的问题的数量,本系统则相应的显示试题。并允许考生输入自己的答案,并将该答案信息保存在磁盘中,以方便其他系统自动判卷。
二、设计分析
主要有4个功能模块,每个模块对应一个C语言自定义函数。这些函数原型及其功能简述如下:
1.Main()模块:本模块的作用是根据用户的要求调用其他的模块。实现目录的功能。
2.Save()模块:本模块的作用是将试题输入后将试题保存进磁盘中,实现永久保存。同时方便其他模块调用试题信息。
3. Load()模块:本模块的作用是根据用户输入的想要查看的试题数目调用保存在磁盘中的试题信息。以方便考生或试题管理人员的浏览试题。
4. Answer()模块:根据用户输入的想要回答的试题数量,本模块将从磁盘文件中调用相应数量的试题文件。并允许用户将自己的答案也一并保存在磁盘文件中,实现永久保存,方便判卷。
1、程序总体结构图
图1程序总体结构图 2、主要功能模块框图 (1)添加试题函数save()
图2 添加试题数据函数
(2)抽取试题load()
图3 抽取试题数据函数
(3)答题模块函数answer()
图4 答题模块
三、主要界面截图
图1
程序主界面
图2 试题录入界面
图3
试题抽取界面
图4 答题界面
四、技术要点
1、结构体的应用
定义了结构体用来记录试题信息。具体的定义如下:
struct question {int num;
char quest[50]; char option_a[20]; char option_b[20]; char option_c[20]; char option_d[20]; char answer_t[2]; char answer[2]; };
所定义的结构体主要用于定义数组。 2、文件操作
包括了文件的写入和读取两个方面。文件的写入操作,用于保存录入的试题数据,也用于保存用户的答案。例如如下程序段用于保存录入的试题信息:
void save() { void main(); FILE *fp; int i=0,n=0;
if((fp=fopen("i:\\test.txt","w"))==NULL) { printf("* 很遗憾,题库文件打开失败\n"); } else
{ do { printf("\n请输入问题题干 :");scanf("%s",&que[i].quest); printf("\n*请输入A选项 :");scanf("%s",&que[i].option_a); printf("\n*请输入B选项 :");scanf("%s",&que[i].option_b); printf("\n*请输入C选项 :");scanf("%s",&que[i].option_c); printf("\n*请输入D选项 :");scanf("%s",&que[i].option_d); printf("\n请输入正确选项 :");scanf("%s",&que[i].answer_t);
fprintf(fp,"%d %s %s %s %s %s %s\n",i,que[i].quest,que[i].option_a,que[i].option_b,que[i].option_c,que[i].option_d,que[i].answer_t);
printf("\n* 您想继续录入题目?(1.是 0.否)\n"); scanf("%d",&n); i++; }while(n==1); system("cls"); main(); } fclose(fp); }
3、关于答题系统
实现从系统中抽取相应数量的试题,实际上就是对保存好的试题数据进行提取。允许用户输入自己想要抽取的题目数量,并输入自己的答案,保存在磁盘文件中。然后显示下一道试题在屏幕上。程序如下:
void answer() { FILE *fp; void main(); void answer(); int n,i,b;
system("cls");
printf("* 请输入要答题数 :"); scanf("%d",&n); if(n<0||N<n) { printf("* 对不起,没有该数量的题目 "); answer(); }
if((fp=fopen("d:\\test.txt","r"))==NULL) { printf("* 题库打开失败\n"); answer(); } else {
for(i=0;i<n;i++)
fscanf(fp,"%d %s %s %s %s %s %s\n",&i,que[i].quest,que[i].o …… 此处隐藏:3019字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [小学教育]四年级综合实践活动课《衣物的洗涤》教
- [小学教育]2014半年工作总结怎么写
- [小学教育]20世纪外国文学专题综合试题及答案
- [小学教育]TS_1循环使用催化丙烯环氧化反应研究
- [小学教育]最实用的考勤签到表(上下班签到表)
- [小学教育]气候与生态建筑——以新疆民居为例
- [小学教育]二人以上股东有限责任公司章程参考样本
- [小学教育]2014届第一轮复习资料4.1,3美好生活的
- [小学教育]土方开挖、降水方案
- [小学教育]手绘儿童绘本《秋天的图画》(蜡笔)
- [小学教育]2002级硕士研究生卫生统计学考试试题
- [小学教育]环保装备重点发展目录
- [小学教育]金蝶K3合并报表培训教材
- [小学教育]岩浆岩试题及参考答案
- [小学教育]知之深爱之切学习心得
- [小学教育]第十二章 蛋白质的生物合成
- [小学教育]Chapter 2-3 Solid structure and basi
- [小学教育]市政道路雨季专项施工方案
- [小学教育]中国海洋大学2012-2013学年第二学期天
- [小学教育]教育心理学第3章-学习迁移
- 浅谈深化国企改革中加强党管企业
- 2006年中国病理生理学会学术活动安排
- 设计投标工作大纲
- 基于ARP的网络攻击与防御
- 2016届湖北省七市(州)教科研协作体高三
- Google_学术搜索及其检索技巧
- 2019-2020学年七年级地理下册6.3美洲教
- 城市道路可研报告
- 【名师指津】2012高考英语 写作基础技
- 6级知识点培训北京师范大学《幼儿智趣
- 注册会计师会计知识点:金融资产
- 新安装 500 kV 变压器介损分析与判断
- PS2模拟器PCSX2设置及使用教程.
- 医院药事管理与药剂科管理组织机构
- {PPT背景素材}丹巴的醉人美景,免费,一
- NAS网络存储应用解决方案
- 青海省西宁市六年级上学期数学期末考试
- 测量管理体系手册依据ISO10012:2003
- 洞子小学培养骨干教师工作计划
- 浅谈《牛津初中英语》的教材特点及教学




