C语言课程设计(单项选择题标准化考试系统)报告[精].docVIP

C语言课程设计(单项选择题标准化考试系统)报告[精].doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言课程设计(单项选择题标准化考试系统)报告[精]

重 庆 理 工 大 学 课程设计 课程 程序设计基础C 题目 C语言综合程序设计 院系名称 班 级 学生姓名 学号 指导教师 评阅教师 时 间 2011.6 1 问题描述 题目十四:单项选择题标准化考试系统设计 功能要求: (1)、用文件保存试题库。(每个试题包括题干、4个备选答案、标准答案) (2)、试题录入:可随时增加试题到试题库中 (3)、试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入) (4)、答题:用户可实现输入自己的答案 (5)、自动判卷:系统可根据用户答案与标准答案进行评分。 2 系统分析 2.1 题目要求 程序分4个函数来实现菜单操作、将题目装入内存、开始答题、题目的录入。 1.菜单操作: Main函数,实现程序的菜单操作。根据用户选择的菜单的不同选项调用不同的函数,实现“开始答题”、“添加试题”、“退出系统”等功能。 2.将试题装入内存: 此函数由“开始答题”函数调用。调用此函数时传递一个整型参数m,函数开辟内存空间将试题文件(“C:\test.txt”)中第m道题装入内存中,并返回总题数。如果传递参数m为-1,函数将直接返回试题文件中所储存的总题数,不将任何试题装入内存中。 3.开始答题: 函数会让用户输入要答的题目数并进行判断,若用户要求的答题数大于总题数程序会要求用户重新输入。程序生成随机数并判断是否合法,如果合法就调用“将试题装入内存”函数,参数为随机数。在屏幕上输出题干和选项并让用户输入答案。判断用户输入答案是否正确。 4.添加试题: 打开储存试题的文件(“C:\test.txt”)2.2算法设计 (1)模块一:菜单操作模块 该模块实现程序的菜单操作。 实现算法如下: 在屏幕上输出菜单选项。 接受用户输入。 判断用户输入,跳转到对应函数入口。 (2)模块二:将题目装入内存模块 函数开辟内存空间将试题文件中题目装入内存中。 实现算法如下: 遍历文件判断回车符个数(计算题目数)。 根据提供参数判断是否将当前题目装入内存。 开辟内存空间,将题目信息装入内存。 关闭文件返回题目总数。 (3)模块三:开始答题模块 函数会让用户输入要答的题目数,在屏幕上输出题干和选项并让用户输入答案。判断用户输入答案是否正确。 实现算法如下: 接受用户输入题目数,判断是否合法(大于0、小于总题数)。 置随机数并判断随机数是否合法。 调用将题目装入内存模块题目装入内存。 在屏幕上输出题目,接受用户输入答案。 判断用户输入的答案是否正确,输出答题结果统计。 (4)模块四:添加试题模块 打开储存试题的文件进行试题信息输入。 实现算法如下: 打开文件。 开辟内存空间,接受用户输入题目信息。 判断用户输入是否合法。 写到文件并保存。 2.3流程图 1.菜单操作模块: 2.将题目装入内存模块: 3.开始答题模块: 4.添加试题模块: 2.4关键问题 文件读写时文件指针的移位: 当用fgetc()函数遍历文件时文件指针是顺序移动的,当遇到回车符时才会判断出文件在第几行。而当读取文件信息的时候文件指针的位置应该在行首,这是就要用到fseek()函数将文件指针移位。而且还要恢复文件指针的位置,用于继续判断当前是文件的第几行。 3 系统实现 3.1 源代码 #include stdio.h #include stdlib.h #define LEN sizeof(struct test) struct test { char que[81]; char answer1[81]; char answer2[81]; char answer3[81]; char answer4[81]; char ture; struct test *next; }; struct test *head;//全局变量储存第一个结构体的指针 int zts(int m)//将第m道题装入内存,输入-1时将返回总题数 { FILE *fp; struct test *p1=NULL; char ch,ch1[5]; int i,n=0,wz,py; if((fp=fopen(c:\\test.txt,r))==NULL)//只读方式打开文件 { printf(文件打开失败请检查C盘下的test.txt文件。\n);

文档评论(0)

dart002 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档