- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言课程设计报告单项选择题标准化考试系统
《C语言程序设计》课程设计
题 目: 单项选择题标准化考试系统
专 业: 计算机科学与技术
班 级: 计科1001
目录
《C语言程序设计》课程设计 1
1. 程序分析与设计 3
2.流程图 3
3. 源程序清单 3
4.调试过程 4
参考文献 5
附录 5
单项选择题标准化考试系统
1. 程序分析与设计
系统给用户提供一个简单的人机界面,使用户可以根据提示输入操作项, 调用相关的函数实现对应的功能,主要功能描述如下:
用文件保存试题库:每个试题包括题干、4个备选答案、标准答案,本模块的功能是将单链表中的信息存储到文本文件中,系统将提示用户输入文本文件名,确认后单链表中的信息存储到文本文件中;
试题抽取:从磁盘读取文本文件,可以随机的从中选取N个题目并显示出来给用户进行测验,每次从试题库中可以随机抽出N道题(N由键盘输入);
自动判卷:用户答完所选的题目后,系统可根据用答题户答案与标准答案的对比实现判卷并给出成绩;
试题录入:用户可以随时增加试题到试题库中,根据提示输入题目的主干、四个基本选项和一个标准答案;
退 出 :退出系统;
系统主控平台:显示该系统可以进行的操作选项,允许用户进行其想要进行的操作,包括添加试题信息、随机抽取试题、保存到文件和退出系统等;
总体设计:
添加试题(add()函数)
首先建立单链表,调用input_exam()函数输入试题的基本信息,将用户输入试题的基本信息储存到单链表中,提示用户是否继续输入,用户输入“Y”或“y”,则调用add()函数实现继续添加试题的操作;用户输入“”或“”,则返回主菜单界面。
随机抽取试题(ran_choice()函数)
首先用typedef定义试题的结构体类型的全局变量ran及rans,从键盘输入,将该数及单链表的头指针传给ran_choice()函数,调用rand()随机数产生函数及srand(seed)设置一个独特的随机数种子,运用for()循环产生N个随机数,根据指针运算从单链表中取出N个试题的信息并显示出来。
自动判卷系统功能:在自动抽取试题并将其显示出来后,用一个getchar()函数从键盘接收一个选项的字符,并用if语句,将其与标准答案进行比较,若两者相同,则用计分器自加十分,并显示当前分数;
保存到文件(save()函数)
首先定义一个exma_book类型的指针p,指向头结点head,在定义一个文件类型的指针fp,根据文件的相关操作,用函数fprintf将链表中的实体信息逐个保存到文件中;
退出系统(quit()函数)
首先定义一个exma_book类型的指针pdel,指向头节点head,在定义一个exma_book类型的指针p并将其置空,使用if语句进行判断pdel是否为空,若为空,则使用exit(0)函数直接退出系统;反之,则遍历链表中的所有节点,若不为空,则使用free()函数将该节点的内存释放掉。最后,将单链表中的数据全部释放掉,防止内存泄漏,退出系统。
功能模块图
程序流程图
系统的执行应从选项菜单开始,用户在输入1~4后系统将执行相应的函数功能,输入其它字符都是无效的,系统会自动给出错误提示。若用户输入1,则调用add()函数,执行添加试题的操作;若用户输入2,则调用random()函数;若用户输入3,则调用save()函数;若用户输入3,则调用函数;若用户输入4,则调用exit()函数;
四、程序源代码
#include stdio.h/**/
#include stdlib.h/**/
#include string.h/**/
#include time.h //
#define MAX_TEXT 100
#define MAX_OPTION 50
/*数据类型的定义*/
/*定义一个结构体类型_exma,使用typedef语句定义一个新的类型exma,结构体中包括试题的题号、主干信息、四个基本选项、一个标
准答案*/
typedef struct _exma
{
int num;
char name[MAX_TEXT];
char option[MAX_OPTION][4];
char da_an;
}exma;
/*定义一个结构体类型_exma_book,使用typedef语句定义一个新类型exma_book,结构体中包括一个储存试题基本信息的结构体变量
per和指向下一个试题信息的指针变量*/
typedef struct _exma_book
{
您可能关注的文档
- (答案整理版)人员素质测评试题库.doc
- -湿地公园木栈道施工组织设计.doc
- -南坝镇微信公众平台建设方案.doc
- -连锁药店门店经营管理手册完整版.doc
- aypQC七手法的完整版.ppt
- Bmusbha考研复试英语口试终极整理版.doc
- BOT模式下城市污水处理厂运营阶段的项目管理.doc
- CDMA网络优化浅析通信技术论文.doc
- C实验:最简单的C程序设计.doc
- C语言提交代码作业.doc
- 邯郸市复兴区南城乡社区工作者招聘考试试题汇总2024.docx
- 重庆市江津区四面山镇社区工作者招聘考试试题汇总2024.docx
- 重庆市渝北区两路街道社区工作者招聘考试试题汇总2024.docx
- 重庆市渝北区仙桃街道社区工作者招聘考试试题汇总2024.docx
- 重庆市渝北区礼嘉街道社区工作者招聘考试试题汇总2024.docx
- 唐山市玉田县大安镇社区工作者招聘考试试题汇总2024.docx
- 唐山市迁西县兴城镇社区工作者招聘考试试题汇总2024.docx
- 邢台市巨鹿县阎疃镇社区工作者招聘考试试题汇总2024.docx
- 邢台市广宗县件只乡社区工作者招聘考试试题汇总2024.docx
- 邢台市清河县坝营镇社区工作者招聘考试试题汇总2024.docx
文档评论(0)