在线考试系统-C语言课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程报告

课程名称:程序设计实践专业班级:计算机1306 学生姓名:王永森学号:************

任课教师:***

学期:2013-2014学年第二学期

课程报告任务书

成绩评定教师

1需求分析

标准化考试系统仅支持选择题,可以在学生做题之后进行自动批改试卷•主要包括以下几个基本功能:

(1)提供给教师添加试卷地功能(试卷信息用文件保存)--输入

(2)试卷地整体浏览功能

(3)能够抽取试卷组合成一套试卷(组卷地策略:可以是随机地,当然若教师添加地试卷时有知识

点、章节等信息,亦可以实现按照一定地组卷策略实现出题:如每个知识点抽取若干题目,最终组合

一套试卷)

(4)教师实现题目信息地管理,比如删除、修改等

(5)查询功能(至少一种查询方式)、排序功能(至少一种排序方式)

2概要设计

图1程序概要图

如图(1)所示,此程序中学生信息使用单向链表存储,题库中地试卷采用结构体数组存储,主要流程分为两部分,一部分为学生登录进行操作,另一部分为老师登录进行操作•程序中自定义了大量地功能函数,包括学生密码地修改,登录权限地确定,个人资料地修改;老师对试卷地查找、添加、修

改、删除、排序,对学生信息地查找、添加、修改、删除,以及自动随机生成一套试卷•各个功能函数都是独立地,可以相互调用,最终构成一个完整地系统

3详细设计

头文件my_head.h

# in elude # in clude # in clude # in clude

char num[20] 。

char name[20] 。

char pass[20] 。

int score 。

struct student *next 。} stu 。

struct teacher{ char account[20] 。char password[20] 。} *Admin 。

struct tests{

// 试卷库采用数组

char maintest[500] 。

char a[30] 。

char b[30] 。

char c[30] 。

char d[30] 。

char ans[30] 。

int zhangjie 。

char nandu[20] 。

} tests[100] 。int ts[100][20] 。

int i, j, tt 。

stu *head, *tail, *pm 。

主函数my_main.c

# include "my_head.h" int main(void) system ("color 1E") 。

getchar() 。 i = 0。 j = 0。 tt = 0 。

head = (stu *)malloc(sizeof(stu)) 。 head->next = NULL 。

my_read() 。 my_menu() 。 return 0 。

}

添加试卷 new_tests.c

# include "my_head.h" void new_tests() // 添加试卷 {

static int n, l 。 system("cls") 。 printf (" 请输入个数: ") 。 n = my_natural() 。

for (l = 1 。 l <= n 。 l ++) {

i ++ 。

printf (" 请输入题干 :%d.", i) 。 gets(tests[i].maintest) 。 printf (" 请输入 A:") 。 gets(tests[i].a) 。 printf (" 请输入 B:") 。 gets(tests[i].b) 。 printf (" 请输入 C:")。 gets(tests[i].c) 。

printf ("

★ -- o -- o

-- ★

\n\n")

printf ("

★ 欢迎进入 ★ \n\n")

printf (" ★ 标准化考试系统 ★ \n\n")

printf (" ★ 王永森 制作 ★

\n\n") 。 printf ("

★ -- -3

□★

\n\n")

printf ("\n 轻敲回车键开始

")

// 头结点申请空间

printf (" 请输入D:") 。

gets(tests[i].d) 。

printf (" 请输入答案( a、b、c、

d):") 。gets(tests[i].ans) 。

printf (" 请输入章节(数字) :") 。

tests[i].zhangjie = my_natural() 。

printf (" 请输入难度( *号表示):")。

gets(tests[i].nandu) 。

}

save_tests()。

printf ("\n新建试卷成功!............... \n回车键返回")。

getchar() 。

return 。

}

修改试卷to_tests.c

# include "my_head.h"

void to_tests() // 修改试卷

{

static int n 。

system("cls") 。

printf (" 请输入题号:")。

n = my_natural() 。

if (n == 0 || n > i)

{

printf ("\n无此题!\n回车键返

回……”)。

相关文档
最新文档