当前位置:文档之家› 在线考试系统-C语言课程设计

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

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

课程报告

课程名称:程序设计实践

专业班级:计算机1306

学生姓名:王永森

学号: 20131692****

任课教师:徐振强

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

课程报告任务书

成绩评定教师:

1 需求分析

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

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

(2)试题的整体浏览功能

(3)能够抽取试题组合成一套试卷(组卷的策略:可以是随机的,当然若教师添加的试题时有知识点、章节等信息,亦可以实现按照一定的组卷策略实现出题:如每个知识点抽取若干题目,最终组合一套试卷)

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

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

2 概要设计

图1程序概要图

如图(1)所示,此程序中学生信息使用单向链表存储,题库中的试题采用结构体数组存储,主要流程分为两部分,一部分为学生登录进行操作,另一部分为老师登录进行操作。程序中自定义了大量的功能函数,包括学生密码的修改,登录权限的确定,个人资料的修改;老师对试题的查找、添加、修改、删除、排序,对学生信息的查找、添加、修改、删除,以及自动随机生成一套试卷。各个功能函数都是独立的,可以相互调用,最终构成一个完整的系统。

3 详细设计

头文件my_head.h

# include

# include

# include

# include

typedef struct student{ //学生信息采用链表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");

printf (" ------------------★--の--の--★------------------\n\n");

printf (" ------------------★欢迎进入★------------------\n\n"); printf (" ------------------★标准化考试系统★------------------\n\n"); printf (" ------------------★王永森制作★------------------\n\n"); printf (" ------------------★--¤--¤--★------------------\n\n");

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

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 ("请输入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回车键返回……");

getchar();

return ;

}

else

{

printf ("请输入题干:%d.", n);

gets(tests[n].maintest);

printf ("请输入A:");

gets(tests[n].a);

printf ("请输入B:");

gets(tests[n].b);

printf ("请输入C:");

gets(tests[n].c);

printf ("请输入D:");

gets(tests[n].d);

printf ("请输入答案:");

gets(tests[n].ans);

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

tests[n].zhangjie = my_natural();

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

gets(tests[n].nandu);

}

save_tests();

C语言程序设计课程设计题目

1一元稀疏多项式的运算 问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理。 实现要求: ⑴输入并建立多项式; ⑵输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……c n,e n,其中n 是多项式的项数,c i,e i分别为第i项的系数和指数。序列按指数降序排列; ⑶多项式A和B相加,建立多项式A+B,输出相加的多项式; ⑷多项式A和B相减,建立多项式A-B,输出相减的多项式; ⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 测试数据: (1) (2x+5x8-3.1x11)+(7-5x8+11x9) (2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15) (3)(x+x2+x3)+0 (4)(x+x3)-(-x-x-3) 2成绩排序 假设某年级有4个班,每班有45名同学。本学期有5门课程考试,每门课程成绩是百分制。假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求: ⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩; ⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中; ⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进

行班内排序; ⑷用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序; ⑸对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 3迷宫问题 问题描述:以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 实现要求: ⑴实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。 ⑵编写递归形式的算法,求得迷宫中所有可能的通路; ⑶以方阵形式输出迷宫及其通路。 [测试数据] 迷宫的测试数据如下:左上角(1,1)为入口,右下角(8,9)为出口。 1 2 3 4 5 6 7 8 实现提示:

C语言程序设计课程设计报告

C语言程序设计课程设 计报告 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

《C语言程序设计》课程设计报告 (2013— 2014学年第 3 学期) 题目: C语言课程设计 专业:软件工程 班级:软件工程技术2班 姓名学号: 1 林燕萍 指导教师:吴芸 成绩: 计算机科学与技术系 2014 年6月23日

目录 一、课程设计的目的与要求 (1) 二、方案实现与调试 (3) 2.1 掷骰子游戏 (5) 2.2 射击游戏 (7) 2.3 计算存款本息之和 (8) 2.4肇事逃逸 (10) 2.5 礼炮 (12) 2.6 汽车加油 (14) 2.7 大优惠 (16) 2.8 金币 (19) 三、课程设计分析与总结 (23) 附录程序清单 (25) 一、课程设计的目的与要求(含设计指标) C语言是一种编程灵活,特色鲜明的程序设计语言。C语言除了基知识,如概念,方法和语法规则之外更重要的是进行实训,以提高学习者的动手和编程能力,从应试课程转变为实践工具。这是学习语言的最终目的。结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《C 语言程序设计任务书》,以在实训过程中给学生提供帮助。达到如下目的: 1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能;

2.让学生扎实掌握C程序设计语言的相关知识; 3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。 编写程序要求遵循如下基本要求: ①模块化程序设计 ②锯齿型书写格式 ③必须上机调试通过 二、方案实现与调试 2.1掷骰子游戏 2.1.1 题目内容的描述 1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。 2) 将每人每次的分值累加计分 3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。4) 结束条件:当双方都掷10次或经过5次后一方累计分数多出另一方的30%及以上。最后显示双方分数并判定优胜者。 2.1.2输入数据类型、格式和内容限制和输出数据的说明 数据类型:整型;内容限制:随机数的产生;输入数据结果:胜利的一方 2.1.3主要模块的算法描述

《C语言程序设计》网上考试系统的设计与实现

毕业设计任务书 题目:《C语言程序设计》网上考试系统的设计与实现 学生姓名:李志旭班级:软件工程一班学号:13740113 题目类型:软件开发(R)指导教师:贾娟娟 一、毕业设计题目 《C语言程序设计》网上考试系统的设计与实现。 二、题目简介 该设计要求学生以《C语言程序设计》课程的考核形式为背景,对“《C语言程序设计》网上考试系统”进行设计和实现。 通过该题目的分析和设计,使学生初步得到软件工程的训练,全面培养软件开发过程中的分析、设计、编码、测试及文档规范书写的能力,得到软件工程的综合训练,提高解决实际问题的能力。 三、设计任务 1. 查阅文献资料,一般在5篇以上; 2. 针对《C语言程序设计》网上考试系统,锻炼学生的分析、设计能力,培养学生对软件文档规范的书写能力; 3. 以《C语言程序设计》课程的考核形式为背景,通过调研、分析现有的考试模式和已有的考试系统,建立系统模型; 4. 完成《C语言程序设计》网上考试系统的软件可行性分析、项目开发计划、需求规格说明、概要设计和详细设计(结构化设计方法和面向对象设计方法可任选一种); 5. 在分析和设计的基础上编码完成一个可演示的版本并进行测试; 6. 撰写设计说明书; 7. 做好答辩工作。 四、主要内容、功能及技术指标 《C语言程序设计》网上考试系统的总体目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,分析和设计一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的网上考试系统,为普通用户和管理者提供充足的信息、快捷的查询和有效的管理方式,减少不必要的损失和浪费,提高考试信息管理和出卷、阅卷的效率。

C语言程序设计课程设计

《C语言程序设计》课程设计 1课程设计目的 C语言课程设计是在“C语言程序设计”课程后集中安排的1周相关的实践技能训练环节。它的目的是通过实践环节的训练,培养学生查阅资料的能力、分析与解决问题的能力、应用C语言开发与设计程序的能力。 2课程设计选题 2.1 题目1 必做题目,其余题目任选一题完成 题目1:年历显示。 功能要求: (1)输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在1940-2040年之间。 (2)输入年月,输出该月的日历。 (3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。 题目2:小学生测验 面向小学1-2年级学生,随机选择两个整数和加减法形成算式要求学生解答。 功能要求: (1)电脑随机出10道题,每题10分,程序结束时显示学生得分; (2)确保算式没有超出1-2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0-50的范围,负数更是不允许的; (3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案; (4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分; (5)总成绩90以上显示“SMART”,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN” 题目3:学生学籍管理系统(可以2人合作完成) 用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。 功能要求: (1)系统以菜单方式工作。 (2)登记学生的学号,姓名,性别,年龄,籍贯,系别,专业,班级;修改已知学号的学生信息; (3)删除已知学号的学生信息; (4)查找已知学号的学生信息; (5)按学号,专业输出学生籍贯表。 (6)查询学生学籍变化,比如入学,转专业,退学,降级,休学,毕业。 题目4:通讯录程序设计 设计一个实用的小型通讯录程序,具有添加,查询和删除功能。由姓名,籍贯,电话号码1,电话号码2,电子邮箱组成,姓名可以由字符和数字混合编码。电话号码可由字符和数字组成。实现功能:(1)系统以菜单方式工作 (2)信息录入功能 (3)信息浏览功能

C语言在线考试系统前言

前言 在网络技术逐渐渗入社会生活各个层面的今天,传统的考试方式也面临着变革,而考试管理则是一个很重要的方向。基于Web技术的网络<>可以借助于遍布全球的Internet进行,相对于传统的白纸黑字考试模式来说,考试管理一方面可以突破时空的界限,使考生可以足不出户进行考核,这就减除了组织考场和考生奔波于考场所造成的资源消耗和环境污染,符合现代人的绿色生活理念。另一方面,考生在自己熟悉的环境中考试也会更自在,能更好地发挥自己的真实水平。而且由于考试管理利用了现代化技术,还由其自身属性衍生出一些有利于考试的功能作用。考试管理的试卷可以根据题库中的内容即时生成,可避免考试前的压题;而且可以采用大量标准化试题,从而使用计算机阅卷,大大提高阅卷效率;还可以直接把成绩送到数据库中,进行统计、排序等操作。这样考试的公平性、答案的安全性可以得到有效的保证。因此,采用网络考试方式将是以后考试发展的趋势。 在线考试系统可以实现教考分离以及考务工作的全自动化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好地服务于各个院校的教学、科研、管理,可以大规模的实施考试,实现考试的客观性、公平性,自动组卷、评卷大大可以减轻教师的工作强度。可以利用无限广阔的网络空间,借助于遍布世界的因特网,随时随地的对学生进行考试,再利用Web数据库技术快速读取和即时储存考试数据,大大简化了传统考试的过程,大大拓展了考试的灵活性。 一个在线的考试系统是建立在全球Internet上的应用系统,客户端的配置可以较为简单,使考试不受地点的限制。一个完备的在线考试系统可以让用户在网上学习后及时检验自己的学习效果,发现自己的不足之处,让学习效率得到很大提高。题目的生成、试卷的提交、成绩的批阅等在在线考试系统中都可以在网络上自动完成。只要录入一套成熟的试题库就可以实现考试的自动化。这样,老师所要做的仅仅只是精心设计题目、维护题库,而不是去费力费时地组织考试,从而大大减轻了老师的负担,降低了考试所需的成本,即经济又环保。 为了适应新形势的发展,更好地提高在线考试的效率,系统应在自动化组卷和自动评分方面给予更好地优化,组成的试卷应更加多样化,尽量避免类似试卷的出现,可以对新组成的试卷的难易度作及时的调整;在评分方面要更具理性化,主观题评分

计算机二级C语言上机考试操作步骤及流程

二级C语言上机考试操作步骤 一、进入考试系统 单击桌面上的“考试系统”图标,进入考试启动界面。“考试启动界面”如图1所示。 图1 二、输入考生信息 进入考试界面后,单击“开始登录”按钮即可进入考试环境进行“考生信息”的输入。“信息输入”如图2所示。 图2 考生输入准考证号如“2427180018001800”后,单击“考号验证”按钮进行信息核实,系统会弹出如图3所示的对话框。 图3

在确定考生信息完全正确时,单击“是”按钮,进入答题界面,如下图所示,上方含有“程序填空题”、“程序修改题”、“程序设计题”三个按钮, 三、开始答题 本次考试共有50套题,每一套题的填空、改错和编程题的答案均附在后面。学生进入上述考试界面后,首先点击程序设计题,根据程序设计题从而明白是哪一套题的组合,然后开始正式答题。过程如下: 1.程序填空题 单击考试界面中的“程序填空题”按钮后,题目显示区将显示出题目对应的文字叙述信息。通过文字叙述可以了解到该题目的考试内容。然后单击左上角“答题”菜单中的“启动Microsoft Visual C++”菜单项进入“Visual C++ 6.0”系统环境界面,如下图所示。 进入系统环境后,执行左上角的“文件|打开”命令,系统弱出“打开”对话框,选择“blank1.c”程序文件,

点击左下角的“打开”按钮,如图4所示。 图4 打开“blank1.c”程序文件后,开始填空。填空方法如下: (1)在程序中找到“******** found *******”标识位置。 (2)把“found ”标识位置下面的需要填空的“占位符”删除(需要连横线一起删除),将程序的答案写在对应位置。例如下图所示。 原“blank1.c ”程序图: 打开

C语言程序课程设计猜数字游戏

C语言程序设计课程设计 : 自 动 化 级 : 名: 学号: 指导教师: 兰州交通大学自动化与电气工程学院 2015年07月21日

一.引言 设计目的 复习和巩固C语言基础知识,进一步加深对C语言的理解和掌握。提高同学将课本上的理论知识和实际结合的能力,锻炼同学的分析解决实际问题的能力,提高同学团队合作的能力。使同学们善于观察和思考,善于合作,具备实践编程的基础素质,和实际问题分析的思考方式。 设计要求 在设计时充分地分析和理解问题本身,综合考虑系统功能,怎样使系统结构清晰、合理、简单和易于调试。然后详细设计,确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。最后认真完成课程设计说明书,并对设计方法,结果等进行总结。 充分地分析和理解问题本身,弄清要求做什么(What to do)。在确定解决方案框架过程中(How to do),综合考虑系统功能,考虑怎样使系统结构清晰、合理、简单和易于调试。最后确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。 确定算法的主要流程,在此基础上进行代码设计(Coding),每个明确的功能模块程序一般不超过60行,否则要进一步划分。 上机前程序静态检查可有效提高调试效率,减少上机调试程序时的无谓错误。静态检查主要有两种途径:(1)用一组测试数据手工执行程序;(2)通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑。 二.基础题 题目 用选择法对10个数进行排序。 有一个已排好序的数组。现输入一个数,要求按原来的规律插入到原数组中。解题思路 程序的主要功能是对数组元素用排序函数按从小到大的顺序进行排序。 先定义一个10个元素的一维数组a[10],然后从电脑输入10个数(也就是对数组赋值),然后使用一次fun()函数,对这10个数进行排序;然后再定义一个11个元素的一维数组b[11],同时再从电脑输入一个数同a[10]一起赋值给b[11],然后再使用fun()函数,重新排序的到最后的有顺序的一组数据。 流程图 子函数流程图如图1所示:

石油大学C语言在线考试附答案

《C语言》综合复习资料 一、单选题 1. C语言中基本数据类型有( ) A)整型、实型、逻辑型B)整型、字符型、逻辑型 C)整型、实型、字符型D)整型、实型、字符型、逻辑型 2. 在C语言中,数字029是一个( ) A)八进制数B)十进制数C)十六进制数D)非法数 3. 在以下关于C语言的不严格的叙述中,错误的说法是( ) A)在标识符中,大写字母和小些字母的意义相同 B)有些不同类型的变量可以在一个表达式中运算 C)在赋值表达式中等号“=”左边的变量和右边的值可以是不同类型 D)同一个运算符号在不同的场合可以有不同的含义 4. 已知int a=4,b=5; ,这执行表达式a=a>b 后,变量a的值为( ) A)0 B)1 C) 4 D) 5 5. 设有定义int a=3,b=4,c=5; ,则以下表达式中,值为0的表达式是( ) A)a&&b B)a<=b C)a||b+c&&b-c D)!((a

《C语言程序设计》课程设计

《C语言程序设计》课程设计 刘力斌 一、意义和目的 C语言是光信息科学与技术专业的重要专业基础课。在很多后续课程中,都要使用到C语言。 学生通过对C语言的学习,已经具备了使用C语言编写简单的应用程序的能力。为了加强程序设计基础,开设课程设计课,使学生对C语言有更全面的理解,进一步提高运用C语言编程解决实际问题的能力,同时,为后续课程的学习夯实基础。 课程设计目的: 提高用程序设计解决实际问题的能力。 通过提出算法、指定输入输出来设计一个解决方案。 用C语言合理地开发两个简洁有效的程序代码来实现该设计。 测试程序是否工作且满足设计指标并评价其效率。 二、目标 完成本课程设计的学生应能在以下几方面证明你们的能力: A、分析问题。各种简单的与计算机有关的案例中所需要的输出结果,把大问题分解成小问题,使用自顶向下或类似设计方法给出模块化或计划。 B、提出算法执行特定任务。模块表示为算法,使用自顶向下或伪代码等设计手段将模块细化成更详细的成分,清楚地表明顺序、选择和重复等到控制结构。 C、把一个算法变为用C语言编写的结构化程序。 D、用合适的测试方法检查程序是否符合最初的要求,为不合适数据设计错误陷阱,并提供错误信息来帮助用户。 E、写出清晰的用户文档,确保用户或者通过遵循程序中的指示或者使用程序设计者编写的文档能成功地运行程序。 F、写出技术文档,对程序中主要标示符的含义或作用加以说明,并提供一个完整的程序流程图。 G、调试程序、测试数据过程成功。

三、要求 参加本课程设计的学生,应当认真完成本课程设计的全部过程。并以最终课程设计成果来证明其独立完成各种实际任务的能力。从而,反映出理解和运用本课程知识的水平和能力。 完成课程设计应提交如下文档: ①程序的总体设计和算法分析。 ②技术文档 ③用户文档 ④源程序代码清单。 ⑤测试数据和测试过程记录。 ⑥遇到的问题及解决方法分析。 四、选题 每人一个题,具体题目可以参考附录。 第一题:链表操作题(包括建立、插入、删除、打印等)(参考教材); 第二题:文件操作,具体题目最好是自拟。 如果选题确实有困难的同学,可参考后面参考题目来完成本课程设计(成绩要影响)。 五、评价 评价是检测学生理解问题和解决问题能力的一个重要手段,教师将根据学生提交的一套文件中,严格检查以下各项任务完成情况: 1、课程设计文档是否齐全。 2、程序的用户文档 如果在程序执行期间有足够的指导信息显示在屏幕上显示,这些用户文档可以是很简要的,也许只限于解释如何装入并运行程序。 3、问题或任务的陈述(描述问题,而且问题是合理原始的、应当包括输 入、输出及其预期范围。)是否正确。 4、问题的解决方案采取由顶向下设计的形式,在适当的地方使用伪代 码,把整个解决方案划分成若干模块。 5、程序完成后的代码应当加以注解。最少应清楚指出每一个模块。 6、用于检查程序的测试数据,或者对一个控制程序给出测试的例程。测 试应考虑探索通过程序的几条路径,在合适的地方选择打印输出来。 7、程序的技术文档

C语言教学网站及网上考试系统的设计与实现

毕业设计(论文)说明书 题目:C语言教学网站及网上考试系统的 设计与实现

毕业设计(论文)中文摘要

毕业设计(论文)外文摘要

目录 1. 引言 (1) 1.1 课题研究背景与意义 (1) 1.1.1 网上教学系统 (1) 1.1.2 网上考试系统 (1) 1.2 问题定义内容简介 (1) 1.2.1 问题定义 (1) 1.2.2 内容简介 (2) 1.3 课题调研与可行性分析 (2) 1.3.1课题调研 (2) 1.3.2 可行性分析 (2) 1.4 论文各章内容介绍 (3) 2. 系统的需求分析 (4) 2.1系统功能需求 (4) 2.2 业务流和数据流图 (4) 2.2.1业务流 (4) 2.2.2数据流图 (5) 2.3 数据字典 (6) 2.3.1 数据流分量 (6) 2.3.2 数据流 (8) 2.3.3 数据存储 (8) 2.3.4 数据处理 (8) 3. 系统设计 (10) 3.1系统总体系结构设计 (10) 3.2 系统数据模型设计 (11) 3.2.1 数据概念结构设计——E-R图 (11) 3.2.2 数据库逻辑结构设计(关系模型) (13) 3.2.3 数据表 (14) 3.3 系统开发与运行环境确定 (16) 3.3.1 开发工具的确定 (16) 3.3.2 运行环境 (17) 3.3.3系统实现的若干关键技术 (17) 4. 用户管理模块设计 (19) 4.1用户管理模块的体系结构设计 (19) 4.1.1 用户管理模块功能简介 (19) 4.1.2 用户管理模块功能图 (19) 4.2 用户管理模块的详细设计 (19) 4.2.1 用户登录和注册界面设计 (19) 4.2.2 用户登录 (20) 4.2.3 用户注册 (21) 4.2.4 用户及其权限管理 (23)

C语言上机考试

一、单项选择 1.题号:4889 以下函数调用语句中,实参的个数是(). exce((v1,v2),(v3,v4,v5),v6); A、3 B、4 C、5 D、6 A、可以在同一个函数中,出现多次 B、在主函数和其他函数中,均可出现 C、必须在每个函数中,出现 D、只能在除主函数之外的函数中,出现一次 A、该数组的首地址 B、该数组的元素个数 C、该数组中各元素的值 D、该数组的长度 答案:A 2.题号:4525 在C语言的函数中,下列正确的说法是(). A、数组名不能作形参 B、可以有也可以没有形参 C、形参必须是变量名 D、必须有形参 答案:B 3.题号:4083 以下正确的函数定义形式是(). A、double fun(int x,int y)

B、#include"" C、scanf D、printf 答案:A 4.题号:4048 下面对函数的叙述,正确的是(). A、函数中无论是否有return语句,都能返回正确值 B、函数中没有return语句,说明不带回值 C、函数不能嵌套定义 D、函数的返回值是通过return语句获得的 答案:C 5.题号:4073 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(). A、传递方式由用户指定 B、由实参传给形参,再由形参传回实参 C、地址传递 D、单向值传递 答案:D 6.题号:5119 下列关于函数的叙述中正确的是(). A、每个函数都可以单独运行 A、5 B、3 C、2 D、4 答案:C 7.题号:4901

A、static B、register C、auto D、extern 答案:C 8.题号:4507 C语言规定,在一个源程序中,main()函数的位置. A、必须在最开始 B、必须在系统调用的库函数的后面 C、可以任意 D、必须在最后 答案:C 9.题号:4847 以下叙述中,正确的是(). A、main()可作为用户标识符,用以命名任意一个函数作为主函数 B、C语言程序将从源程序中,第一个函数开始执行 C、可以在程序中,由用户指定任意一个函数作为主函数,程序将从此开始执行 D、C语言规定必须用main()作为主函数名,程序将从此开始执行,在此结束 答案:D 10.题号:5137 以下函数的类型是 fff(float x) { printf("%d\n",x); }

C语言程序设计课程设计(小结版)

《C语言程序设计》课程小结要求 一、小结内容 1.关键字小结: 表格形式列出所有32个关键字,简要说明其作用(1面)。auto 声明自动变量,缺省时编译器一般默认为auto int 声明整型变量 double 声明双精度变量 long 声明长整型变量 char 声明字符型变量 float 声明浮点型变量 short 声明短整型变量 signed 声明有符号类型变量 unsigned 声明无符号类型变量 struct 声明结构体变量 union 声明联合数据类型 enum 声明枚举类型 static 声明静态变量 switch 用于开关语句 case 开关语句分支 default 开关语句中的“其他”分支 break 跳出当前循环 register 声明寄存器变量 const 声明只读变量 volatile 说明变量在程序执行中可被隐含地改变 typedef 用以给数据类型取别名(当然还有其他作用) extern 声明变量是在其他文件正声明(也可以看做是引用变量) return 子程序返回语句(可以带参数,也可不带参数) void 声明函数无返回值或无参数,声明空类型指针 continue 结束当前循环,开始下一轮循环 do 循环语句的循环体 while 循环语句的循环条件

if 条件语句 else 条件语句否定分支(与 if 连用) for 一种循环语句(可意会不可言传) goto 无条件跳转语句 sizeof 计算对象所占内存空间大小 2.运算符小结:表格形式列出所有45个运算符的符号、名称、优先级、结合性、运算目数(1面)。

3.数据类型小结:表格形式列出11个基本类型的说明符、字节数、范围(1面)。

《C语言程序设计》课程设计教学大纲

《C语言程序设计》课程设计大纲 课程中文名称:C语言程序设计课程设计 课程英文名称:C language programming curriculum design 课程编号:090010031 适用专业:计算机、网络、信管、软件学时数:2周学分数:2 课程类别:必修应开课学期:第三学期 执笔者:安葳鹏审核人:基础教学部 批准人:高岩定稿日期:2013年5月7日 一、课程的目的和意义 《C语言程序设计》课程设计是在学习《C语言程序设计》课程之后进行的一个实践教学环节,学生运用所学的知识,在教师指导下,独立进行。课程设计的目的和意义是: 1、进一步加深对所学基本理论知识的理解和掌握,完善理论和实践的衔接;进一步培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解; 2、针对C语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。 3、掌握C语言的编程技巧和上机调试程序的方法。 4、掌握程序设计的常用算法,培养学生运用所学知识分析问题,解决问题的能力。 二、课程设计基本要求 1.独立、按时、按质、按量完成本课程设计; 2.充分理解并掌握相关理论,熟悉程序设计的控制结构以及设计流程; 3.完成课程设计后,将设计任务书、设计说明书按要求装订成册。 三、设计内容及任务 原则上,学生从以下题目中任选一题进行课程设计。在课程设计指导老师的指导下,也可以选择其他题目,但要保证工作量,并满足课程设计的相关要求。

1、人机猜数游戏 由计算机“想”一个四位数,请人猜这个四位数是多少。人输入这个四位数后,计算机首先判断这四个数中有几个猜对了,并且在猜对的数字中又有几位位置也是对的,将结果显示出来,给人以提示,请人再猜,直到人猜出计算机所想的四位数为止。请编程实现该游戏,游戏结束时,显示人猜一个数用了几次。 提示:用库函数random()产生一个随机数。 2、编一程序,实现将输入的一个无符号整数转换为二进制、八进制和十六进制表示,分别存入字符数组中并输出。(提示:算法采用模拟人工法。) 说明:计算机模拟人工是编程中常用的方法,这种方法要求编程者首先分析在人工方式下解决问题的过程,从中找出步骤和规律,然后编写程序,按照人工解决问题的步骤和规律进行操作。 3、计算分数的精确值。使用数组精确计算M/N(0

C语言程序课程设计欣赏与感受

C语言程序课程设计心得体会 学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。那么,现在就来看看,以下两篇关于C语言程序课程设计心得体会的范文! C语言程序课程设计心得体会1 在科技高度发展的今天,计算机在人们之中的作用越来越突出。而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。 在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。 由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。包括了程序模块处理。简单界面程序。高级界面程序。程序的添加修改。用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。 上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计

语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。 学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c 语言开发程序的能力,为今后的继续学习打下一个良好的基础。为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面: 1、加深对课堂讲授内容的理解 课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。然而要使用c语言这个工具解决实际问题,又必须掌握它。通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。 学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。即把c语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有通过上机才能检验自己是否掌握c语言、自己编写的程序是否能够正确地解题。 通过上机实验来验证自己编制的程序是否正确,恐怕是大多数同

C语言试题生成与考试系统

056JSP+MYSQL C语言试题生成与考试系统样本 联系方式:Email: lw510@https://www.doczj.com/doc/a69166325.html, QQ: 49 7053418 MSN: lw510@https://www.doczj.com/doc/a69166325.html, 以下仅为该设计的基本说明介绍,若需要完整的设计和论文,建议您购买本设计. 056JSP+MYSQL C语言试题生成与考试系统样本 (样本只提供该系统的基本情况介绍,若需要完整的设计和论文,建议您购买本系统,凡是购买本站系统的,本站均根据您的要求,把系统上的开发信息,题目等修改成符合您的要求) 本系统开发工具:JSP+MYSQL 本计算机毕业设计计算机毕业论文包含内容:源代码+毕业论文+开题报告+答辩稿 论文大概: C语言试题生成与考试系统 摘要 当前,网络教学方兴未艾。网上考试已在其中扮演了重要的角色,传统试卷考试方式有待提高。网络教学已从其规范性、科学性及考试工作组织、管理的统一性,影响到教学质量的好坏。基于此,本系统开发实现了基于B/S模式的c试题生成与考试系统,其中数据库采用MYSQL,开发平台是jsp,开发工具是eclipse+myeclip se,服务器采用tomcat。本系统实现了三个功能模块即试题管理模块、在线考试模块、自动评分模块。试题管理模块包括上传试题、试题管理、试卷的自动生成。在线考试模块包括学生登录、考试鉴权、考试时间控制和一些简单的考试意外的避免。自动评分模块包括制定评分规则自动评分和答案的返回。用户机则不需要安装任何应用程序直接通过浏览器就可以访问。本系统的实现有利于提高网络教学的质量同时大大拓展了考试的灵活性,阅卷效率,以及保证了考试的公平性、答案的安全性。 关键词:网络考试系统;Web;B/S模式 目录 目录

C语言程序设计课程设计大全

C语言课程设计 一、课程设计目的 ◆进一步巩固和复习C 程序设计的基础知识。 ◆培养学生结构化程序、模块化程序设计的方法和能力。 ◆提高学生调试程序的技巧和软件设计的能力。 ◆提高学生分析问题、解决问题以及综合利用C 语言进行程序设计的能力。◆了解软件的编制过程。 ◆树立团队合作精神 二、课程设计内容 设计要求 可自己选定一信息管理方面的题目,最多5人一组。 题目一:职工信息管理系统设计 https://www.doczj.com/doc/a69166325.html,/view/76e2ddceda38376baf1fae81.html 职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能: 系统以菜单方式工作 职工信息录入功能(职工信息用文件保存)--输入 职工信息浏览功能--输出 查询和排序功能:(至少一种查询方式)--算法 按工资查询 按学历查询等 职工信息删除、修改功能(任选项) 题目二:图书信息管理系统设计 https://www.doczj.com/doc/a69166325.html,/view/6751448ad0d233d4b14e69c2.html 图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能: 系统以菜单方式工作 图书信息录入功能(图书信息用文件保存)--输入 图书信息浏览功能--输出 查询和排序功能:(至少一种查询方式)--算法 按书名查询 按作者名查询 图书信息的删除与修改(可选项) 题目三:学生信息管理系统设计 https://www.doczj.com/doc/a69166325.html,/view/1423e5e8e009581b6bd9eb62.html 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能: 系统以菜单方式工作 学生信息录入功能(学生信息用文件保存)---输入

C语言在线测试系统

源程序:E-Mail:huier.w@https://www.doczj.com/doc/a69166325.html, 某某某某学院 毕业设计(论文)题目:《C语言程序设计》测试系统 系别: 专业: 班级: 学号: 姓名: 指导教师: 2014 年 5 月 20

引言 (3) 1 绪论 (4) 1.1课题研究背景与意义 (4) 1.2课题调研与可行性分析 (5) 1.2.1 课题调研 (5) 1.2.2 可行性分析 (5) 1.3论文各章内容介绍 (6) 2系统需求分析 (8) 2.1系统功能需求 (8) 2.2在线测试系统优点 (8) 3系统总体设计 (10) 3.1系统总体结构设计 (10) 3.1.1 登录注册模块 (10) 3.1.2 学生模块 (11) 3.1.3 管理员模块 (12) 3.2系统数据模型设计 (14) 3.2.1数据概念结构设计——E-R图 (14) 3.2.2数据表 (14) 3.2.3主要数据表结构 (15) 3.3文件夹结构 (18) 4开发环境 (19) 4.1网站开发环境 (19) 4.2.1网站开发工具 (19) 4.2.2网站开发语言 (19) 4.2.3网站后台数据库 (21) 4.2.4开发环境运行平台 (23) 4.2网站运行环境 (25) 4.2.1服务器端 (25) 4.2.2客户端 (26) 5、管理员用户模块设计实现 (28) 5.1管理员登录首页 (28) 5.1.1 管理员登录首页概述 (28) 5.1.2 管理员登录首页技术分析 (28) 5.1.3管理员登录首页实现过程 (29) 5.2试题管理 (31) 5.2.1 章节管理页面 (31) 5.2.1.1 章节管理页面概述 (31) 5.2.1.2 章节管理页面技术 (31) 5.2.1.3 章节管理页面设计实现 (31) 5.2.2 章节添加页面 (33)

C语言在线考试系统——试题生成模块毕业设计

摘要 现如今,我们生活在信息大爆炸的时代,网络信息的应用已经进入我们的生活的各方各面。尤其在网络教学中,网上在线考试系统在其中扮演了重要的角色,相比于传统的考试方式具有更好的规范性、科学性,更加有利于考试工作的组织和管理。 C语言在线考试系统是一个拥有自动组卷、自动判卷、学生和成绩信息管理的网上考试系统。它分为试题生成模块、在线考试模块、自动评分模块,整个系统层次结构简单,操作简易,并具备了一定的安全性,在有利于提高网络教学的质量的同时,大大的拓展了考试的灵活性,阅卷效率,还保证了考试的公平性,答案的安全性。我主要设计和实现了试题的生成模块,其中包括了批量上传试题,单条上传试题,试题的查询与删除,试卷的自动生成等环节。 本系统的开发实现是基于B/S模式的,数据库采用MySQL,开发平台是PHP,开发工具是Dreamweaver,服务器采用了Apache。 关键词:在线考试系统;B/S模式;PHP

Abstract Today, we are living in the era of information explosion, the application of network information has entered our lives on all sides. Especially in the online teaching, online examination system in which play an important role, compared to traditional examinations have better normative, scientific, more conducive to the examination work of the organization and management. C language is an online examination system has automatic generation, automatic graders, students, and performance information management online examination system. It is divided into questions generation module, online examination module, automatic scoring module, the entire system hierarchy is simple, easy to operate, and have a certain degree of security, the network will help improve the quality of teaching at the same time, greatly expand the flexibility of the exam resistance, scoring efficiency, but also to ensure the fairness of the examination, the answer security. I mainly design and implementation of a generation module test questions, including questions bulk upload, uploading single questions, questions and delete queries, and other aspects of the automatic generation of test paper. Development of this system implementation is based on B / S mode, the database using MySQL, development platform is PHP, development tools is Dreamweaver, the server uses the Apache. Keywords: online examination system; B / S mode; PHP

《C语言程序设计》课程设计报告模板样例

《C语言程序设计》 课程设计报告 (2015— 2016学年第3学期)姓名: 学号: 院系: 专业: 班级: 指导教师:孙金华 成绩: 计算机与信息工程学院 2016 年7月

目录

1. 课程设计的目的与要求 本课程设计旨在理论学习和基础实验的基础上,开发较大规模的程序,掌握应用计算机解决实际问题的基本方法,熟悉C程序开发的全过程。 设计的任务是根据给定问题描述,设计程序的结构、描述程序的算法和用C 语言实现问题的解决,并得到运行测试结果。 通过整个程序开发的过程,提高综合应用C语言的能力、编程和调试能力,为进一步学习相关专业课程创建较扎实的理论基础和实践基础。 本设计可根据实验内容的要求自由选定题目,但要求除基础部分的选题外,深化部分最少必需选择一题。 编写程序要求遵循如下基本要求: ●模块化程序设计 ●锯齿型书写格式 ●必须上机调试通过 2. 方案实现与调试 掷骰子游戏 2.1.1 题目内容的描述 两人玩骰子,游戏规则如下: 1)两人轮流掷骰子,每次掷两个,每人最多掷10次。 2)将每人每次的分值累加计分 3)当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。 4)结束条件:当双方都掷10次或经过5次后一方累计分数为另一方的两倍。最后显示双方分数并判定优胜者。 2.1.2 数据输入输出说明 --这里添加对于数据输出数出和相关格式规范的说明 通过随机数生成函数成生1-6之间的整数作为输入数据。 输出结果为获胜者和失败者相关信息(如A或B获胜),并输出双每一次获得的点数。

2.1.3主要模块的算法描述 –以程序流程图的方式给出,外加少量的语言说明或描述 –或者以语言描述的方式给出 设置一个main()函数用来控制游戏次数并记录sum1和sum2的分数。当进行完第五次游戏时判断两人的分数是否成两倍关系,如果是,则结束游戏,否则继续,直到游戏结束。最后比较两人分数,决出优胜者。设置一个zs()函数来比较每次掷骰子后两人所得点数,当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数,然后将分数返回到main()函数。 主要功能模块的算法描述如下: 1)定义实变量sum、term、a、b、c,整变量i 2)初始化: sum=0,分子a=2,分母b=1 3)初始化:i(计数器)=1 4)计算第i项term =a/b 5)累加sum=sum+term 6)计算c=a+b,更新b= a,更新a=c 7)计数器加1,i++ 8)重复4、5、6、7,直到i>20 9)输出2位精度的结果 2.1.4调试过程及实验结果 --详细记录程序在调试过程中出现的问题及解决方法。 --给出能正常运行的程序源代码 --记录并给出程序执行的结果截图和简要的说明。 程序运行的测试运行结果如下图: 图1 掷骰子游戏测试结果 输出结果为两人的总分值和优胜者名单。

相关主题
文本预览
相关文档 最新文档