D单项选择题标准化考试系统设计(2)

2020-04-15 13:00

单项选择题标准化考试系统

第3章 系统设计

3.1 设计思路

1、基本任务

开始 教师系统 进行试题库维护 学生系统 进行答题、判卷 删除试题修改试题增加试题答题判卷

2、程序中涉及到的全局变量

(1)int m,用来存储题目和答案的数目;

(2)FILE *fp1,*fp2,是文件指针,用于对文件进行操作。

3、程序中涉及到的自定义函数

void jindutiao(void),void logo_Interface(void),void readq(),void reada(),void writeq(), void writea(),int shumu(),void shanchu(void),void zengjia(void),void xiugai(void) void teacher(void),void student(void),int menu_select() 利用这些自定义函数和基本的循环、运行程序进行操作。

第 6 页 共 30 页

单项选择题标准化考试系统

3.2 基本算法及流程图

1、菜单

在主函数中输出菜单,并选择教师系统或学生系统,定义函数void teacher()、void student(),以实现选择系统。

开始 输出菜单 char= =T Y teacher N char= =S Y

2、教师系统

student 教师系统共有三个功能,即试题的删除、增加、修改,定义函数void teacher()、void shanchu()、void zengjia()、void xiugai(),在teacher()函数中分别调用这三个函数以实现各自功能。

输出菜单 输入选项 N N t= =2 Y zengjia t= =3 Y xiugai t= =1 Y shanchu

第 7 页 共 30 页

单项选择题标准化考试系统

3、学生系统

学生系统共有两个功能,答题和判卷。

开始 char= =Y Y 抽题 N 回主菜单 答题 判卷 结束 3.3 各自定义函数及其功能

1、void logo_Interface(void)和void jindutiao(void)利用简单的字符画,用于使界面友好。 2、void readq()和void reada()分别用于读题和读答案。利用fopen函数打开文件,用fscanf函数格式化读出并将读出数据存入结构体数组中。

3、void writeq()和void writea()分别用于写入题目和答案。利用fopen函数打开文件,用fprintf函数将结构体中的数据格式化写入文件。

4、int shumu(),用于测文件中的题目数,并将数目返回到全局变量m中。

5、void shanchu(void),用于删除某一题目。利用数组从后往前一次覆盖得到删除后的结果。

6、void zengjia(void),用于增加一道题目。将题目写入结构体中,用“追加”的方式打开文件并用fprintf函数格式化写入。

7、void xiugai(void),用于修改某一题目。用void readq()和void reada()将题目和答案读入结构体中,将要修改的题目进行重新输入再将新的结构体数组利用void writeq()和void

第 8 页 共 30 页

单项选择题标准化考试系统

writea()函数写入文件。

8、void teacher(void),用于出现菜单并选择功能,用switch实现调用不同函数。 9、void student(void),用于实现从题库中自动抽题和判卷。当输入Y选择开始做题后,利用rand函数产生随机数并将这些随机数存入一个数组中,实现随机抽题,将这些题目从文件中读出并存储在结构体中,用printf函数输出;当输入答案后利用循环对各个题答案与标准答案进行对比,得到正确的题数和错误的题数,并计算出正确率,输出。

10、int menu_select(),用于输出提示信息,并对教师系统选择和学生系统进行选择。利用switch实现对不同函数的调用。

3.4 源程序代码

#include #include #include #include #include #include struct Question_type { int t;

char timu[1000]; char a[100]; char b[100]; char c[100];

char d[100];

}question[100];

struct Answer_type { int t; char a;

}answer[100]; FILE *fp1,*fp2; int m;

第 9 页 共 30 页

单项选择题标准化考试系统

void jindutiao(void) { int i;

for(i=0;i<78;i++) putchar('.'); printf(\ for(i=0;i<78;i++) {

if(i==0) putchar('|'); Sleep(100); printf(\ }

void logo_Interface(void) /*logo界面*/ {

char *tu[9],*tu2[9];

char *wenzi = \ LOVE C LANGUAGE ! ! ! . . .\ char *wenzi1 = \欢迎使用 单项选择题标准化考试系统\ char *wenzi2 = \制作: D*J*S 研发小组 \ char *p; int k = 0; int i = 0; int j = 0; int M = 10;

tu[0] = \ ~ b_____________\ tu[1] = \ ,, ??? b| '\\\\\\\\\\\\\\\\\\\\\\\\\ tu[2] = \ ? b| ' ____|_\ tu[3] = \ '||::::::\ tu[4] = \ o- / \\\\_/ '\\\\ b| '||_____|\ tu[5] = \ | \\\\ ' o \\\\'b________|_____|\ tu[6] = \ | )- # < b___/____|___\\\\___\ tu[7] = \ `_/'------------b| _ ' <<<:|\ tu[8] = \ /________\\\\| b|_________'___o_o|\}

第 10 页 共 30 页


D单项选择题标准化考试系统设计(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:罗马式建筑风格与哥特式建筑风格的对比研究

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: