c语言课程设计(单项选择题标准化考试系统)分析报告

重庆理工大学课程设计

PAGE

2

重 庆 理 工 大 学

课程设计

课程 程序设计基础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)模块一:菜单操作模块

该模块实现程序的菜单操作。

实现算法如下:

eq \o\ac(○,1)在屏幕上输出菜单选项。

eq \o\ac(○,2)接受用户输入。

eq \o\ac(○,3)判断用户输入,跳转到对应函数入口。

(2)模块二:将题目装入内存模块

函数开辟内存空间将试题文件中题目装入内存中。

实现算法如下:

eq \o\ac(○,1)遍历文件判断回车符个数(计算题目数)。

eq \o\ac(○,2)根据提供参数判断是否将当前题目装入内存。

eq \o\ac(○,3)开辟内存空间,将题目信息装入内存。

eq \o\ac(○,4)关闭文件返回题目总数。

(3)模块三:开始答题模块

函数会让用户输入要答的题目数,在屏幕上输出题干和选项并让用户输入答案。判断用户输入答案是否正确。

实现算法如下:

eq \o\ac(○,1)接受用户输入题目数,判断是否合法(大于0、小于总题数)。

eq \o\ac(○,2)置随机数并判断随机数是否合法。

eq \o\ac(○,3)调用将题目装入内存模块题目装入内存。

eq \o\ac(○,4)在屏幕上输出题目,接受用户输入答案。

eq \o\ac(○,5)判断用户输入的答案是否正确,输出答题结果统计。

(4)模块四:添加试题模块

打开储存试题的文件进行试题信息输入。

实现算法如下:

eq \o\ac(○,1)打开文件。

eq \o\ac(○,2)开辟内存空间,接受用户输入题目信息。

eq \o\ac(○,3)判断用户输入是否合法。

eq \o\ac(○,4)写到文件并保存。

2.3流程图

1.菜单操作模块:

2.将题目装入内存模块:

3.开始答题模块:

4.添加试题模块:

2.4关键问题

文件读写时文件指针的移位:

当用fgetc()函数遍历文件时文件指针是顺序移动的,当遇到回车符时才会判断出文件在第几行。而当读取文件信息的时候文件指针的位置应该在行首,这是就要用到fseek()函数将文件指针移位。而且还要恢复文件指针的位置,用于继续判断当前是文件的第几行。

3 系统实现

3.1 源代码

#include

#include

#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

c语言单项选择题标准化考试系统,c语言课程设计(单项选择题标准化考试系统)分析报告.doc...相关推荐

  1. 基于51单片机的光照强度检测c语言程序,智能仪器课程设计-基于51单片机的光照强度检测报告.doc...

    该设计论文已经通过各大高校老师审核认可并通过答辩,.欢迎大家下载学习交流.如有疑问可随时联系店主,竭诚为您解答!! 课程设计报告 课程名称: 智能仪器课程设计 题 目: 基于51单片机的光照强度 摘要 ...

  2. c语言考试系统设计报告,C语言课程设计(单项选择题标准化考试系统)报告

    <C语言课程设计(单项选择题标准化考试系统)报告>由会员分享,可在线阅读,更多相关<C语言课程设计(单项选择题标准化考试系统)报告(15页珍藏版)>请在人人文库网上搜索. 1. ...

  3. C语言程序设计会员计费系统,C语言课程设计酒店房间登记与计费管理系统总结报告...

    <C语言课程设计酒店房间登记与计费管理系统总结报告>由会员分享,可在线阅读,更多相关<C语言课程设计酒店房间登记与计费管理系统总结报告(19页珍藏版)>请在人人文库网上搜索. ...

  4. C语言课程设计之火车订票系统

    C语言课程设计之火车订票系统 下载链接 运行效果图 文档报告 答辩PPT 下载链接 运行效果图 文档报告 答辩PPT

  5. c语言招生信息查询系统,《C语言程序设计》课程设计报-招生信息查询系统.docx...

    <C语言程序设计>课程设计报-招生信息查询系统 课程设计报告题目:招生信息查询系统课程名称:C语言程序设计专业班级:信息安全1302学号:姓名:指导教师:报告日期:2014年9月17日计算 ...

  6. dac单缓冲方式C语言设计,课程设计基于DAC0832单缓冲工作波形发生器.doc

    课程设计基于DAC0832单缓冲工作波形发生器.doc 成绩 课程论文 题 目:基于DAC0832单缓冲工作波形发生器 学生姓名: 学生学号: 系别:电子工程学院 专业:通信工程 年级:2014 任课 ...

  7. 计算机课程设计-ssm在线点餐系统(沙箱支付)-javaweb外卖系统

    计算机课程设计-ssm在线点餐系统(沙箱支付)-javaweb外卖系统 1 开发环境及工具下载 开发语言:Java 后台:SSM(Spring+SpringMVC+Mybatis) 前端:HTML+C ...

  8. C语言源码做的职工工资管理系统课程设计(源码+课程设计报告)

    一.课程设计的目的: C语言课程设计是计算机科学与技术专业重要的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C语言程序设计的知识点,又接近工程实际需要.本次设计的目的是通过课程设计 ...

  9. C语言源码做的班级档案管理系统课程设计(源码+课程设计报告)

    一.课程设计的目的: C语言课程设计是计算机科学与技术专业重要的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C语言程序设计的知识点,又接近工程实际需要.本次设计的目的是通过课程设计 ...

  10. 【camera】基于深度学习的车牌检测与识别系统实现(课程设计)

    基于深度学习的车牌检测与识别系统实现(课程设计) 代码+数据集下载地址:下载地址 用python3+opencv3做的中国车牌识别,包括算法和客户端界面,只有2个文件,surface.py是界面代码, ...

最新文章

  1. numpy.triu详解
  2. 微软推出的Pylance,随着VS Code的更新,性能又前进了一步
  3. c++实现单例类(懒汉与饿汉)
  4. 【Python 2.7】str和unicode的互相转换,摘自《Effective Python》
  5. HTML引入媒体查询CSS,CSS3 多媒体查询
  6. Centos 5 手动安装yum
  7. j连接oracle数据库,JFinal连接Oracle数据库实战
  8. 全面理解Unity加载和内存管理
  9. 从html富文本中提取纯文本
  10. Python Django 之 jQuery
  11. MATPOWER中case文件的编写经验与技巧
  12. SparkStreaming----复习
  13. 路由器的路由选择协议详解
  14. Tensorflow Serving初体验
  15. 使用命令行生成文件目录树
  16. 数据库根据经纬度查询离我最近的数据
  17. 基于MATLAB的语音去噪处理系统
  18. 知乎书籍排行网站——建站始末
  19. JavaDoc文档生成
  20. linux下安装及使用DNW

热门文章

  1. 数据库原理实验六——ODBC/JDBC数据库编程
  2. 线性代数常用知识点总结
  3. 基于单片机智能交通灯控制系统设计外文文献_三种典型的微机控制系统
  4. 3.7V升压5V,3.7V转5V电路图芯片
  5. 日期插件中中文乱码修改
  6. 【设计】同步降压型DC-DC转换器驱动电路设计
  7. 计算机科学与技术研究生课表,计算机科学与技术(一级学科)硕士研究生培养方案...
  8. MFC动态加载OCX控件
  9. JS 在线格式化工具
  10. 2023南京师范大学计算机考研信息汇总