C语言考试系统程序设计报告
《程序设计基础》
课程设计报告
考试系统
指导教师:任姚鹏
班 级:计科系1204班
学生姓名:丁晓荟 加雪梅 姚乐
张进 吕亚斌
完成日期:2013.11.26
运城学院计算机科学与技术系
目录
一、系统分析 -2- 二、系统设计 -2-
三、流程图 -3-
四、系统实现 -5-
五、运行结果 -15-
六、总结 -20-
一、系统分析
该考试系统主要针对单选题与填空题进行随机出题与答题。首先要在程序设计中录入备选的选择题与填空题,然后设计随机选题,在原本录入的试题库中随机选取20道题组成一份试题,让学生做答。
1、主要数据输入(数据以文件形式存储)
试题类型主要有填空题和选择题,每道题目包括题目所在章节、题目难度系数、分值和标准答案。(难度系数分为难、中等、容易三个等级)
2、主要功能
1)根据用户输入的选择标准,从题库中选择20道选择题和10道填空题;
2)进行在线测试,并在用户完成作答后给出答题分数;
3)可以进行用户成绩的查询;
4)列出用户的答题情况。
二、 系统设计
1、菜单操作:Main函数,实现程序的菜单操作。根据用户选择的菜单的不同选项调用不同的函数,实现“登录进入考题系统”、“显示所有参考人员信息”、“查询成绩”、“显示考试信息”、“退出”等功能。
2、主要结构体设计
struct Info //定义最大参考人数的结构数组
{
int count; //用于答对题数计数器
int overall; //总分
char num[6+1]; //存储ID号
char name[20]; //存储姓名
}Information[20];
struct problem //定义题目结构数组
{
int Id; //题目编号
char subject[200]; //题目
char select[200]; //题目选项
char right[100]; //正确答案
}pro[N]={ //结构变量初始化
3、主要功能分析
1)学生进入考试系统
a、输入准考证号(准考证号为六位数)。
b、输入学生姓名。
2)开始答题:函数会根据程序设计随机挑选相应题目,程序也会生成随机数并判断是否合法。题目选出后,屏幕上出现题干让用户输入答案。判断用户输入答案是否正确。
实现算法如下:
a、接受用户输入题目数,判断是否合法(大于0、小于总题数);
b、置随机数并判断随机数是否合法;
c、调用将题目装入内存模块题目装入内存;
d、在屏幕上输出题目,接受用户输入答案;
e、判断用户输入的答案是否正确,输出答题结果统计;
f、学生作答完题后,系统随即计算出答对题的数目及分数。
三、流程图
1)总体流程
2)具体流程
四、系统实现
#include
#include
#include
#include
#define N 40
int n=0; //实际参考人数
#define random(x,y) (rand()%(y-x+1)+x)
struct Info //定义最大参考人数的结构数组
{
int count; //用于答对题数计数器
int overall; //总分
char num[6+1]; //存储ID号
char name[20]; //存储姓名
}Information[20];
struct problem