1、 C C 语言程序设计课程设计语言程序设计课程设计 题题 目:目: 单项选择题标准化考试系统单项选择题标准化考试系统 专专 业:业: 计算机科学与技术计算机科学与技术 班班 级:级: 目录 C C 语言程序设计课程设计语言程序设计课程设计 1 1. 程序分析与设计 . 3 2流程图 错误错误! !未定义书签。未定义书签。 3. 源程序清单 错误错误! !未定义书签。未定义书签。 4调试过程 . 9 参考文献 9 附录 . 错误错误! !未定义书签。未定义书签。 单项选择题标准化考试系统单项选择题标准化考试系统 1. 程序分析与设计程序分析与设计 系统给用户提供一个简单的人机界面,使用户可以根据
2、提示输入操作项, 调用相 关的函数实现对应的功能,主要功能描述如下: 用文件保存试题库:每个试题包括题干、4 个备选答案、标准答案,本模块的 功能是将单链表中的信息存储到文本文件中,系统将提示用户输入文本文件名,确认后 单链表中的信息存储到文本文件中; 试题抽取:从磁盘读取文本文件,可以随机的从中选取 N 个题目并显示出来给 用户进行测验,每次从试题库中可以随机抽出 N 道题(N 由键盘输入) ; 自动判卷:用户答完所选的题目后,系统可根据用答题户答案与标准答案的对 比实现判卷并给出成绩; 试题录入:用户可以随时增加试题到试题库中,根据提示输入题目的主干、四 个基本选项和一个标准答案; 退 出
3、 :退出系统; 系统主控平台:显示该系统可以进行的操作选项,允许用户进行其想要进行的 操作,包括添加试题信息、随机抽取试题、保存到文件和退出系统等; 总体设计: 1) 添加试题(add()函数) 首先建立单链表,调用 input_exam()函数输入试题的基本信息,将用户输入试题的 基本信息储存到单链表中, 提示用户是否继续输入, 用户输入 “Y” 或 “y” , 则调用 add() 函数实现继续添加试题的操作;用户输入“”或“” ,则返回主菜单界面。 2) 随机抽取试题(ran_choice()函数) 首先用 typedef 定义试题的结构体类型的全局变量 ran 及 rans,从键盘输入,
4、将该数 及单链表的头指针传给 ran_choice () 函数, 调用 rand()随机数产生函数及 srand(seed) 设置一个独特的随机数种子,运用 for()循环产生 N 个随机数,根据指针运算从单链表 中取出 N 个试题的信息并显示出来。 3) 自动判卷系统功能:在自动抽取试题并将其显示出来后,用一个 getchar()函数从 键盘接收一个选项的字符,并用 if 语句,将其与标准答案进行比较,若两者相同, 则用计分器自加十分,并显示当前分数; 4) 保存到文件(save()函数) 首先定义一个exma_book类型的指针p,指向头结点head,在定义一个文件类型的指 针 fp,根据文件的相关操作,用函数 fprintf 将链表中的实体信息逐个保存到文件中; 5) 退出系统(quit()函数) 首先定义一个 exma_book 类型的指针 pdel, 指向头节点 head,在定义一个 exma_book 类型的指针p并将其置空, 使用if语句进行判断pdel是