单项选择题标准化考试系统设计报告书.docx

上传人:b****8 文档编号:28080638 上传时间:2023-07-08 格式:DOCX 页数:15 大小:193.24KB
下载 相关 举报
单项选择题标准化考试系统设计报告书.docx_第1页
第1页 / 共15页
单项选择题标准化考试系统设计报告书.docx_第2页
第2页 / 共15页
单项选择题标准化考试系统设计报告书.docx_第3页
第3页 / 共15页
单项选择题标准化考试系统设计报告书.docx_第4页
第4页 / 共15页
单项选择题标准化考试系统设计报告书.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

单项选择题标准化考试系统设计报告书.docx

《单项选择题标准化考试系统设计报告书.docx》由会员分享,可在线阅读,更多相关《单项选择题标准化考试系统设计报告书.docx(15页珍藏版)》请在冰豆网上搜索。

单项选择题标准化考试系统设计报告书.docx

单项选择题标准化考试系统设计报告书

武汉工业学院

C语言课程设计报告

设计题目:

单项选择题标准化考试系统设计

姓名涂可

"

学号5

院(系)动物科学与营养工程

专业动物科学

指导教师刘立峻

2012年6月7日

 

:

第1章综合设计概述2

综合设计名称2

任务要求2

1.3开发环境3

第2章 总体设计3

2.1系统功能需求分析3

2.2系统总体设计框架4

2.3系统功能模块图及各功能模块的目的与意义5

第3章详细设计6

功能模块设计6

数据结构设计8

第4章调试分析过程描述9

?

第五章综合设计体会13

附录14

 

第1章综合设计概述

综合设计名称

——单项选择题标准化考试系统设计

任务要求

——(1)用文件保存试题库(每个试题包括题干﹑4个备选答案﹑标准答案)。

——(2)试题录入:

可随时增加试题到试题库中。

——(3)试题抽取:

每次从试题库中可以随机抽取N道题(N由键盘输入)。

——(4)答题:

用户可输入自己的答案。

——(5)自动判卷:

系统可根据用户答案与标准答案的对比实现判卷并给出成绩。

——(6)系统以菜单方式工作。

1.3开发环境

__Windows操作系统、VC++ C语言

 

第2章 总体设计

2.1系统功能需求分析

编写目的:

通过对用户需求进行调查分析,写出需求分析文档作为项目设计的基本准则要求,以及作为系统分析员进行系统分析和测试人员进行测试时的手册。

需求概述:

设计一个职工信息管理系统,使之能提供以下功能:

(1)用文件保存试题库。

(每个试题包括题干、4个备选答案、标准答案)

(2)试题录入:

可随时增加试题到试题库中

(3)试题抽取:

每次从试题库中可以随机抽出N道题(N由键盘输入)

(4)答题:

用户可实现输入自己的答案

(5)自动判卷:

系统可根据用户答案与标准答案的对比实现判卷并给出成绩。

需求说明:

1)可以输入单项选择题的题目、选择题的选项和正确答案,并将输入的题目存入文件。

2)可以统计列表的长度。

3)可以随机的抽取试题和限定回答的数量,将从文件中抽取的题目添加到列表中。

4)可以找到指定的题目以写的形式重新打开文件,得到选择题的答案(不保证是正确的答案)确保的答案是A、B、C、D中的任意一个。

5)可以回答问题,并统计答对的题目数,显示得分。

2.2系统总体设计框架

1、用来保存试题库,可以用到”StructTestNodeTestquestions”结构体数组,将试题一一对应的保留下来,放在相应的文件里;

2试题的录入,可以定义一个”voidInputTitle(intN)”和”StatusInsertNode(int&N)”函数将试题录入;

3试题的抽取,可以定义一个”voidprintNode(TestNodep,intn)”的函数,用到”Rand”函数进行随机抽取;

4、答题方面,,则定义一个”voidanswer(intsum)”函数用于答题者的输入答案;

5自动判卷,则可以定义一个”StatusMatch(TestNodep,charm)”函数,用来对比答题者答案和正确答案,给出判断正确与否;

6、用一个main函数将上述各个函数功能块连接起来,实现”单项选择题标准化考试系统”的各个方面的功能,完成设计.。

 

2.3系统功能模块图及各功能模块的目的与意义

 

[

第3章详细设计

功能模块设计

.1保存功能模块

 

\

`

3.1.2输出文件功能模块:

<

3.1.3答题功能模块:

N

[

Y

>

YN

数据结构设计

?

 

程序中主要用到了结构体数组,定义类型,如typedefintStatus等,用结构体数组可以使得程序比较简便,易于读懂,免去频繁的赋值,而用定义类型,可以使得程序具有移植性,健壮性好。

 

 

/

 

第4章调试分析过程描述

一、主菜单

 

二、答题界面

 

三、显示全部试题

四、录入试题

 

五、保存文件

六、退出系统

调试分析结论:

1、在抽取试题时,试题的编号不是按照顺序显示的。

错误原因是在输出试题前未重新对试题进行编号,导致输出的编号为以前的试题编号。

2、在随机抽取试题时,里面用到的随机函数在随机选择试题时,有时会遇到选择出来的试题时重复的。

3、

 

 

第五章综合设计体会

经过这些天的C语言课程设计的训练,我学到了很多,最主要的一点是怎样去自学一种东西,怎样去找到你所需要的资料,并在短时间把它学会,运用到你所需要的方面。

这个过程是很艰难的,要花费很多的时间和精力,但是,在事情过后,自己就会发现自己已经在这个过程中学到了自己想要的东西,这种获得是更深刻的。

在做这个C语言课程设计的时候,我原先也是知之甚少,什么是结构体数据,什么是定义类型,怎样在一个main函数中调用别的定义函数,等等,可以说是一无所知。

然而,在这门课程设计中,这些方面却是特别重要的,可以说,掌握了这个,你就完全可以完成自己的任务。

这就要求我们要自己去学,自己去探索。

当然,跑图书馆是必不可少的,还有,身边有非常丰富的网络资源给我们好好利用,XX就是个很不错的地方。

这样就从另一方面锻炼了我们检索知识获取信息的能力,在这个过程中,可以学到的是一种提升自我的能力。

当然,由于个人能力所限,这份课程设计有一些别的方面还是要参考人家的的资料,在读懂别人材料的同时,自己取人所长,补己之短,经过多次的调试,总结,最后交出一份自己比较满意的答卷。

通过这次的课程设计,让我进一步的了解到C语言在我们日常生活中的重要性,而且,也更进一步的激发了我学习这门语言的兴趣.经过这次的训练,我相信自己以后会用更多的时间来把这门语言学好,掌握好这门必修的基础语言。

 

 

附录

#include<>

#include<>

#include<>

#defineTRUE1

#defineERROR0

#defineMAX30

typedefintStatus;

typedefstruct{

charoption1[30],option2[30],option3[30],option4[30],subject[150];

charresult;

}TestNode;

TestNodeTestquestions[MAX];

StatusSaveNode(intN)ubject);

printf("请输入选项A:

");

gets(Testquestions[i].option1);

printf("请输入选项B:

");

gets(Testquestions[i].option2);

printf("请输入选项C:

");

gets(Testquestions[i].option3);

printf("请输入选项D:

");

gets(Testquestions[i].option4);

printf("请输入答案:

");

scanf("%c",&Testquestions[i].result);getchar();

system("cls");ubject);

printf("请输入选项A:

");

gets(Testquestions[N].option1);

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();

N++;程序设计(第四版)[M],北京:

清华大学出版社,2010

[2]谭浩强.C程序设计题解与上机指导(第四版)[M],北京:

清华大学出版社,2011

[3]刘振安等.C++程序设计课程设计[M]-北京:

机械工业出版社,

[4]张淑平.C语言程序设计学习指导,西安电子科技大学出版社,

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

当前位置:首页 > 工程科技 > 城乡园林规划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1