文档视界 最新最全的文档下载
当前位置:文档视界 › 数据结构课程设计报告-学生成绩管理系统[1] (1)

数据结构课程设计报告-学生成绩管理系统[1] (1)

数据结构课程设计报告-学生成绩管理系统[1] (1)
数据结构课程设计报告-学生成绩管理系统[1] (1)

武汉理工大学华夏学院课程设计报告书

课程名称:数据结构课程设计

题目:用C语言实现成绩统计程序的设计系名:信息工程系

专业班级:计算机1121

姓名:吴涛

学号:10210412104

指导教师:司晓梅

2016年 3 月 20日

武汉理工大学华夏学院信息工程系

课程设计任务书

课程名称:数据结构课程设计指导教师:司晓梅班级名称:计算机1121 开课系、教研室:信息系计算机

一、课程设计目的与任务

《数据结构》课程设计是为训练学生的数据组织能力和提高程序设计能力而设置的增强实践能力的课程。目的:学习数据结构课程,旨在使学生学会分析研究数据对象的特性,学会数据的组织方法,以便选择合适的数据的逻辑结构和存储结构以及相应操作,把现实世界中的问题转换为计算机内部的表示和处理,这就是一个良好的程序设计技能训练的过程。提高学生的程序设计能力、掌握基本知识、基本技能,提高算法设计质量与程序设计素质的培养就是本门课程的课程设计的目的。

任务:根据题目要求,完成算法设计与程序实现,并按规定写出课程设计报告。

二、课程设计的内容与基本要求

设计题目:用C语言实现成绩统计程序的设计

〔问题描述〕给出n个学生的m门课程的考试成绩信息,每条信息由姓名、课程代号与分数组成,要求设计算法:

(1)输入每个人的各门课程的成绩,计算每人的平均成绩;

(2)按平均成绩的高低次序,打印出个人的名次,平均成绩相同的为同一名次;

(3)按名次列出每个学生的姓名和各科成绩;

〔基本要求〕学生的考试成绩必须通过键盘输入,且需对输出进行格式控制;

〔算法提示〕可以用选择排序、冒泡排序等多种排序算法求解;

具体要完成的任务是:

A. 编制完成上述问题的C语言程序、进行程序调试并能得出正确的运行结果。

B. 写出规范的课程设计报告书;

三、课程设计步骤及时间进度和场地安排

时间:1周地点:现代教育中心

具体时间安排如下:

第一天:布置题目,确定任务、查找相关资料

第二天~第四天:功能分析,编写程序,调试程序、运行系统;

第五天上午:撰写设计报告;

第五天下午:程序验收、答辩。

四、课程设计考核及评分标准

课程设计考核将综合考虑学生的系统设计方案、运行结果、课程设计报告书的质量、态度、考勤、答辩情况等各因素。具体评分标准如下:

(1)设计方案正确,具有可行性、创新性; 30分

(2)系统开发效果较好; 20分

(3)设计报告规范、课程设计报告质量高; 20分

(4)课程设计答辩时,问题回答正确; 20分

(5)态度认真、刻苦钻研、遵守纪律; 10分

按上述五项分别记分后求和,总分按五级制记载最后成绩。

优秀(100~90分),良好(80~89分),中等(70~79分),及格(60~69分),不及格(0~59分)

目录

一、问题描述 (5)

二、基本要求 (5)

三、数据结构设计 (6)

四、软件模块结构图 (7)

五、程序设计思想 (9)

六、程序流程图 (13)

七、源程序 (18)

八、调试分析 (32)

九、测试数据 (33)

十、用户使用手册 (35)

一、问题描述

〔问题描述〕给出n个学生的m门课程的考试成绩信息,每条信息由姓名、课程代号与分数组成,要求设计算法:

(1)输入每个人的各门课程的成绩,计算每人的平均成绩;

(2)按平均成绩的高低次序,打印出个人的名次,平均成绩相同的为同一名次;

(3)按名次列出每个学生的姓名和各科成绩;

〔基本要求〕学生的考试成绩必须通过键盘输入,且需对输出进行格式控制;〔算法提示〕可以用选择排序、冒泡排序等多种排序算法求解;

二、基本要求

〔基本要求〕学生的考试成绩必须通过键盘输入,且需对输出进行格式控制;〔算法提示〕可以用选择排序、冒泡排序等多种排序算法求解;

三、数据结构的设计

为了对学生信息进行统一操作,使用了结构体这一数据结构,学生的各项数据信息都能用结构体来表示,具体如下:

struct stu

{int num;/*学号,整型变量*/

char name[50];/*姓名,长度为50的字符串数组*/

char classes[50]/*班级名称,长度为50的字符串数组*/; double gsps_score;/*高等数学平时成绩,双精度实型变量*/ double gsks_score;/*高等数学考试成绩,双精度实型变量*/ double gszh_score;/*高等数学综合成绩,双精度实型变量*/ double dlps_score;/*电路理论平时成绩,双精度实型变量*/ double dlks_score;/*电路理论考试成绩,双精度实型变量*/ double dlzh_score;/*电路理论综合成绩,双精度实型变量*/ double yyps_score;/*英语平时成绩,双精度实型变量*/

double yyks_score;/*英语考试成绩,双精度实型变量*/

double yyzh_score;/*英语综合成绩,双精度实型变量*/

double wlps_score;/*物理平时成绩,双精度实型变量*/

double wlks_score;/*物理考试成绩,双精度实型变量*/

double wlzh_score;/*物理综合成绩,双精度实型变量*/

double pj_score;/*平均成绩,双精度实型变量*/

}student[1000];/*最多存储1000个学生数据*/

该结构体数据定义为全局变量。

四、软件模块结构图

模块功能描述:

a.主菜单控制模块:主菜单直接控制七个模块(学生信息输出模块的两个子模块直接归主菜单控制),在各模块间起到纽带的作用。在主菜单,可以通过选择进入其他模块,其他模块运行结束后也可回到主菜单继续选择。

b.学生信息录入模块:循环输入学生信息,建立临时的学生信息数据库。

c.学生信息查询模块:可选择按学号或者按姓名查询学生信息,如学生信息不存在则给出提示。

d.学生信息修改模块:查找到要修改的学生信息后,可对该学生的信

主菜单控制模块

学生信息录入模块

学生信息查询模块

学生信息修改模块

学生信息删除模块

学生信息插入模块

学生信息输出模块

按学号查询学生信息

按姓名查询学生信息

输出优秀学生相关信息

输出不及格学生信息

课程成绩统计模块

每门课程的平均成绩

按单科成绩排名次

息进行逐项修改。

e.学生信息删除模块:查找到要删除的学生信息后,可对其进行删除操作。

f.学生信息插入模块:在数据库末尾插入学生信息,逐项输入要插入的学生信息即可。

g.学生信息输出模块:输出优秀学生信息模块能够输出优秀学生(平均成绩大于等90分)的学号和姓名;输出不及格学生信息模块能够输出不及格学生的相关信息。

h.课程成绩统计模块:可以得到每门课程的平均成绩,还可以任意抽取一门课按单科成绩排定学生名次。

五、程序设计思想

结构化的程序设计主要靠设计和调用各模块的函数来实现。本程序设计了多个函数,每个函数自身能完成一个任务,有的函数和别的函数结合能完成更大的任务。每一个模块功能的实现其实就是对函数的调用,本说明首先介绍本程序所涉及的子函数,再介绍主函数,最后介绍程序整体的实现过程。

1.void Inputfun()此函数较特别,它只进行输入操作,但由于此函数所包含的语句较长且需要被其他三个函数使用,为方便调用单写了一个函数。此函数在源程序中放在最前,所以在此先作说明。此函数可细分为11个小块,用来输入学生的基本数据。每小块的结构基本相同即for(;;){基本语句 +一个continue语句+基本语句+一个break语句}之所以用这个结构为了使输入的数据更加正规。比如在分数的输入中就限定了只能输入0至100之间的数值,这也符合分数录入规则。需要特别注意的是,这个函数完成了本程序中要做的两个计算。其一是在每门课的考试试成绩输入后完成了对这门课的综合成绩的加权计算(考试成绩*0.7+平时成绩*0.3);其二是在最后一门课程的综合成绩算出后,计算了该学生四门课的平均成绩。

2.void Getinformation() 此函数用来录入学生信息。它调用了void Inputfun()函数,其实它的主体部分就是void Inputfun()函数。这函数还用了一个for循环以达到循环输入的目的。

3.int Searchbynum (int no)\int Searchbyname (char na[50]) 这是两个“兄弟函数”,是按学号查找和按姓名查询模块中的两个重要函数。主要功能是根据用户输入的学号\姓名返回改学生所在的的数

组下标。利用for循环嵌套一个if语句实现,若找到学生该学生信息就返回数组下标,若找不到就返回-1。

4.void Seekinformation()\void Printinformation(int x) 这两个函数关系紧密,所以一起介绍。void Seekinformation()函数利用for循环和if语句使查找中能够使用学号和姓名两种方式。如源程序所示,在用if语句确定了查找方式后先后调用了int Searchbynum (int no)\int Searchbyname (char na[50])和void Printinformation(int x)两个函数,根据int Searchbynum (int no)\int Searchbyname (char na[50])返回的数组下标,运用void Printinformation(int x)输出所查询的内容。所以

int Searchbynum (int no)\int Searchbyname (char na[50])\void Seekinformation()\void Printinformation(int x)这四个函数是查询模块的四个联系紧密的重要函数,在它们的共同作用下查询模块的功能得以实现。

5.void Modifyinformation()此函数用于修改学生信息。基本原理就是用输入的新数据覆盖原来的老数据,达到修改的目的。本函数还调用了查找模块的函数,使修改前能按学号或姓名找到要修改的学生信息。修改过程中调用了Inputfun()函数

6.void Deleteinformation() 此函数用于删除学生信息。同样调用了查找模块的函数。删除模块的关键语句是for (i=x;i<999;i++) student[i]=student[i+1];从要删除的那一个数据开始,用后一个数据覆盖它,一直循环到最后,相当于把开始的第一个数据删除了。

7.void Insertinformaton() 此函数用于插入学生数据。由于没有用链表,所以选择插入在最后一个有效数据之后。本函数运用if(student[j].num==0)这个语句找到了最后一个有效数据之后的数组下标j,然后将数据输入到student[j]中,便完成的了插入。插入过程中,调用了Inputfun()函数。

8.void Showthefail() 此函数用于显示不及格学生的信息。能够按要求输出不及格学生的学号、姓名、各科成绩以及平均成绩。首先用这条if语句搜索该学生是否有成绩不及格,当四门课中至少有一门不及格时会输出该学生的相关信息。

9.void Stu_p()此函数用于输出优秀学生(平均成绩大于90分)的信息,利用for循环和条件判断句输出找出相应的学生输出相关信息。

10.void Chengjitongji()此函数用于按要求统计成绩。有分别统计每门课的平均成绩的功能;还能够按每门课程的成绩对学生进行排序,使学生在该门课的表现一目了然。排序中用到了冒泡排序的方法。

9.void main() 下面对主函数作简要说明。Switch语句是函数的主体:

switch(c)/*利用switch语句集成各个功能函数*/

{

case 1 : Getinformation();break;/*获得学生信息*/

case 2 : Seekinformation();break;/*查找学生信息*/

case 3 : Modifyinformation();break;/*修改学生信息*/

case 4 : Deleteinformation();break;/*删除学生信息*/

case 5 : Insertinformaton();break;/*插入学生信息*/

case 6 : Stu_p();break;/*显示优秀学生信息*/

case 7 : Showthefail();break;/*显示不及格学生信息*/

case 8 : Chengjitongji();break;/*课程成绩的统计*/

case 0 : exit(0);/*退出*/

default: break;

}

default: break;}

通过一个数值输入函数,使用户在简单的数值输入后就可轻松调用各模块。

还使用了for (;;)使各模块能够循环调用。

11.最后对程序的整体实现过程作个简要说明。源程序中多处运用continue和break语句,同时配合scanf函数和if条件判断语句,使用户能够根据提示通过简单的数值输入来选择下一步该做什么。中文界面,用户很容易根据提示上手,简单易用。

六、程序流程图

N

Y

N

Y

N Y

N

Y

N

Y N N Y

Y N

N Y Y N

N

以上为主函数流程图,主函数下八个供选择的模块只是简单的用一个

开始

a=1? 系统启动口令输入a=? 进入选择菜单 口令错误,系统即将关闭!

c=1?

c=2?

c=3?

c=4?

c=5?

c=6?

c=7? c=8?

结束

录入学生信息

查找学生信息

修改学生信息

删除学生信息

插入学生信息

优秀学生信息

不及格学生信息

课程成绩统计

执行框表示。现分别画出八个模块的流程图: 1、录入学生成绩:

· 1 0

2、查找学生信息:

2 1

1 0 0

3、修改学生信息:

开始

输入学生信息及成绩

是否继续?继续按1,结束按0

结束

开始

按学号查找请按1,

按姓名查找请按2

输出相应学号所对应的信息

输出相应姓名所对应的信息

是否继续?继续按1,结束按0 结束

1

4、删除学生信息:

1

1 0

开始

调用查找函数找到要修改的信息

输入修改后的信息

是否继续?继续按1,结束按0 结束

开始 调用查找函数找到要删除的信息

是否删除?是按1,否按0

删除成功

是否继续?继续按1,结束按0 结束

5、插入学生信息:

1

6、优秀学生信息:

N Y

Y

N Y

7、不及格学生信息:

开始

输入要插入的信息

是否继续?继续按1,结束按0

结束

开始 学生平均成绩是

否大于等于90?

输出该生学号和姓名

检索完毕?

结束

N

Y

N Y

8、成绩统计模块:

1 2

开始

判断该生是否有不及格科目 输出该该生学信息

检索完毕? 结束

开始 每门课程平均成绩请按

1,单科成绩排名请按2 输出每门课程平均成绩

输出该科成绩排名

选择要排名的科目

结束

七、源程序

#include

#include

#include

#include

struct stu/*定义结构体*/

{int num;

char name[50];

char classes[50];

double gsps_score;

double gsks_score;

double gszh_score;

double dlps_score;

double dlks_score;

double dlzh_score;

double yyps_score;

double yyks_score;

double yyzh_score;

double wlps_score;

double wlks_score;

double wlzh_score;

double pj_score;

}student[1000];

int a,b,c,d,x,i,j,k,s,y,flag;

char s1[50],c1;

double f,t,gp,dp,yp,wp;

/***********************录入、修改、插入学生信息三个模块调用了输入模块*************************************/

void Inputfun()/*输入学生信息模块*/

{

for(; ;)/*设计死循环以至于在输入格式错误时可以再次输入*/

{

printf("请输入班级名称:\t"); /*输入班级名称*/

scanf("%s",&s1);

if(strlen(s1)>20)

{

printf("您输入的班级名称过长!\n");

continue;

}

strcpy(student[i].classes,s1);

break; /*格式正确后跳出死循环*/

}

for(; ;)

{

printf("请输入学号:\t");/*输入学号*/

scanf("%d",&b);

if(student[i].num<0)

{

printf("您输入的学号错误!\n");

continue;

}

student[i].num=b;

break;

}

for(; ;)

{

printf("请输入姓名:\t");/*输入姓名*/

scanf("%s",&s1);

if(strlen(s1)>20)

{

printf("您输入的姓名过长!\n");

continue;

}

strcpy(student[i].name,s1);

break;

}

for(; ;)

{

printf("请输入该生高等数学平时成绩:\t");/*输入各科平时成绩和考试成绩*/

scanf("%lf",&f);

if(f>100||f<0)

{

printf("成绩不合理!请您输入合理的成绩.\n");

continue;

}

student[i].gsps_score=f;

break;

}

for(; ;)

{

printf("请输入该生高等数学考试成绩:\t");

scanf("%lf",&f);

if(f>100||f<0)

{

printf("成绩不合理!请您输入合理的成绩.\n");

continue;

}

student[i].gsks_score=f;

student[i].gszh_score=student[i].gsks_score*0.7+student[i].gsps_score *0.3;/*按考试成绩70%平时成绩30%算该门课程的最终成绩*/

break;

}

for(; ;)

{

printf("请输入该生电路理论平时成绩:\t");

scanf("%lf",&f);

if(f>100||f<0)

{

printf("成绩不合理!请您输入合理的成绩.\n");

continue;

}

student[i].dlps_score=f;

break;

}

for(; ;)

{

printf("请输入该生电路理论考试成绩:\t");

scanf("%lf",&f);

if(f>100||f<0)

{

printf("成绩不合理!请您输入合理的成绩.\n");

continue;

}

student[i].dlks_score=f;

student[i].dlzh_score=student[i].dlks_score*0.7+student[i].dlps_score *0.3;

break;

}

for(; ;)

{

printf("请输入该生英语平时成绩:\t");

scanf("%lf",&f);

if(f>100||f<0)

{

printf("成绩不合理!请您输入合理的成绩.\n");

continue;

学生信息管理系统可行性分析报告

学生信息管理系统可行性分析报告 一.引言 1.编写目的 随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。 2.项目背景 该项目开发的软件为学校学生信息管理系统软件,是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校,学院等等)的学生信息的管理.目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少.但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作. 3.定义 学籍管理系统:学籍管理是帮助教学人员、行政人员对人事档案的管理软件。使用汉语编程语言,独立完成其功能。 MIS:管理信息系统;DFD图:数据流图(描述逻辑模型的图形工具,表示数据在系统内的变化。);CFD:流程控制图;

4.参考资料 [1].<软件工程概论> 李存珠李宣东编著南京大学计算机系出版2001年8月 [2]数据库系统原理教程,王删著.清华大学出版社,2002.1 [3]现代软件工程,陈松桥等著.北方交通大学出版社,2002,1 二.可行性研究的前提 1.原因 由于现今的学籍管理非常繁琐,行政人员付出大量的工作时间,得到的效率很低。因此为提高工作效率,减轻校方人员的工作负担,决定开发学籍管理系统软件。 2.系统目标 学籍管理信息系统以计算机为工具,通过对教务管理所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,使其有更多的精力从事教务管理政策的研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量。 3.条件、假定和限制 开发该系统的主要资金来源为用户提供的开发资金投入,故在设计开发中最大不能超过该限度,且软件完成交付用户使用后,应保证软件的运行寿命至少达到用户的要求范围.且软件开发时间应基本控制在用户提出的要求范围内. 4.决定可行性的主要因素: (1)技术可行;

学生成绩管理系统详细操作过程

学生成绩管理系统 我将把我的实现步骤完整的写出来,我是在VC 6.0版本下用MFC实现的。 我创建的基于单文档的应用程序,过程不介绍,大家都会。下面的是我系统菜单: 思路: 刚进入系统时,只有“登录”菜单可用,其他三个菜单项都是灰色不可用的。当用户点“进入系统”菜单项时,用户输入用户名、密码和用户类型,系统将根据相应的用户权限使相应的菜单可用,并且“进入系统”菜单项变为不可用。如:如果用户类型是学生,那么只有学生权限菜单可用,而“教师权限”和“管理员权限”都不可用,同时“进入系统”变为不可用。 “学生权限”下只有“查询成绩”,因为学生只可以查询自己相应的成绩;“教师权限”下有“查询学生成绩”和“增改删学生成绩”两个菜单项,因为教师除了可以查询学生成绩还可以增加、修改和删除学生成绩;“管理员权限”下有“管理学生”和“管理教师”两个菜单项。 整体设计: 因为我们要设置系统菜单的状态,所以必须在CMainFrame中添加相应的函数和代码,具体步骤如下: 【步骤1】由于系统要使用ODBC类操作数据库,所以需要在stdafx.h中加入代码: #include 【步骤2】在CMainFrame中的OnCreat()中添加代码如下,实现菜单的初始化工作,当用户没进入系统之前,只有“登陆”菜单下的“进入系统”菜单项可用,而“退出系统”和其他3个权限菜单都不可用,即都是灰色的。 int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { //使“退出系统”和其他3个权限菜单都不可用,即都是灰色的 GetMenu()->GetSubMenu(0)-> EnableMenuItem(1,MF_BYPOSITION | MF_DISABLED | MF_GRAYED); GetMenu()-> EnableMenuItem(1,MF_BYPOSITION | MF_DISABLED | MF_GRAYED); GetMenu()-> EnableMenuItem(2,MF_BYPOSITION | MF_DISABLED | MF_GRAYED); GetMenu()-> EnableMenuItem(3,MF_BYPOSITION | MF_DISABLED | MF_GRAYED); } 【步骤3】在CMainFrame中添加自己定义的函数void SetMenuSta(int type),此函数在登陆对话框的OnOK()中被调用,即当用户进入系统后使“进入系统”

数据结构课程设计

1.一元稀疏多项式计算器 [问题描述] 设计一个一元稀疏多项式简单计算器。 [基本要求] 输入并建立多项式; 输出多项式,输出形式为整数序列:n, c1, e1, c2, e2,……, cn, en ,其中n是多项式的项数,ci, ei分别是第i项的系数和指数,序列按指数降序排序; 多项式a和b相加,建立多项式a+b; 多项式a和b相减,建立多项式a-b; [测试数据] (2x+5x8-3.1x11)+(7-5x8+11x9)=(-3.1x11+11x9+2x+7) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2-x2+7.8x15)=(-7.8x15-1.2x9-x+12x-3) (1+x+x2+x3+x4+x5)+(-x3-x4)=(x5+x2+x+1) (x+x3)+(-x-x3)=0 (x+x2+x3)+0=(x3+x2+x) [实现提示] 用带头结点的单链表存储多项式,多项式的项数存放在头结点中。 2.背包问题的求解 [问题描述] 假设有一个能装入总体积为T的背包和n件体积分别为w1, w2, …,wn的物品,能否从n件物品中挑选若干件恰好装满背包,即使w1+w2+…+wn=T,要求找出所有满足上述条件的解。例如:当T=10,各件物品的体积为{1,8,4,3,5,2}时,可找到下列4组解:(1,4,3,2)、(1,4,5)、(8,2)、(3,5,2) [实现提示] 可利用回溯法的设计思想来解决背包问题。首先,将物品排成一列,然后顺序选取物品转入背包,假设已选取了前i件物品之后背包还没有装满,则继续选取第i+1件物品,若该件物品“太大”不能装入,则弃之而继续选取下一件,直至背包装满为止。但如果在剩余的物品中找不到合适的物品以填满背包,则说明“刚刚”装入背包的那件物品“不合适”,应将它取出“弃之一边”,继续再从“它之后”的物品中选取,如此重复,直至求得满足条件的解,或者无解。 由于回溯求解的规则是“后进先出”因此自然要用到栈。 3.完全二叉树判断 用一个二叉链表存储的二叉树,判断其是否是完全二叉树。 4.最小生成树求解(1人) 任意创建一个图,利用克鲁斯卡尔算法,求出该图的最小生成树。 5.最小生成树求解(1人) 任意创建一个图,利用普里姆算法,求出该图的最小生成树。 6.树状显示二叉树 编写函数displaytree(二叉树的根指针,数据值宽度,屏幕的宽度)输出树的直观示意图。输出的二叉树是垂直打印的,同层的节点在同一行上。 [问题描述] 假设数据宽度datawidth=2,而屏幕宽度screenwidth为64=26,假设节点的输出位置用 (层号,须打印的空格数)来界定。 第0层:根在(0,32)处输出;

数据结构课程设计报告模板

《数据结构I》三级项目报告 大连东软信息学院 电子工程系 ××××年××月

三级项目报告注意事项 1. 按照项目要求书写项目报告,条理清晰,数据准确; 2. 项目报告严禁抄袭,如发现抄袭的情况,则抄袭者与被抄袭者均 以0分计; 3. 课程结束后报告上交教师,并进行考核与存档。 三级项目报告格式规范 1. 正文:宋体,小四号,首行缩进2字符,1.5倍行距,段前段后 各0行; 2. 图表:居中,图名用五号字,中文用宋体,英文用“Times New Roman”,位于图表下方,须全文统一。

目录 一项目设计方案 (3) 二项目设计分析 (4) 三项目设计成果 (4) 四项目创新创业 (5) 五项目展望 (6) 附录一:项目成员 (6) 附录二:相关代码、电路图等 (6)

一项目设计方案 1、项目名称: 垃圾回收 2、项目要求及系统基本功能: 1)利用数据结构的知识独立完成一个应用系统设计 2)程序正常运行,能够实现基本的数据增加、删除、修改、查询等功能3)体现程序实现算法复杂度优化 4)体现程序的健壮性 二项目设计分析 1、系统预期实现基本功能: (结合本系统预期具体实现,描述出对应基本要求(增、删、改、查等)的具体功能) 1. 2. 3. 4. 5. 6. 7. 2、项目模块功能描述 (基本分为组织实施组织、程序功能模块编写、系统说明撰写等。其中程序功能子模块实现) 模块一: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 模块二: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 模块n: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

学生成绩管理系统设计报告

《学生成绩管理系统》 设计报告

摘要 本数据库的主要功能如下: 学生信息设置,该模块包括数据的添加、修改、删除、查询,数据库后台SQL Sever 2000和前台Delphi都可实现这些功能;院系信息设置,该模块包括数据的添加、修改、删除、查询,数据库后台SQL Sever 2000和前台Delphi都可实现这些功能;课程信息设置,该模块包括数据的添加、修改、删除、查询,数据库后台SQL Sever 2000和前台Delphi 都可实现这些功能;学生成绩查询,该模块包括学生各门课程成绩的查询,因为该模块是利用数据库视图,所以不能对数据进行修改、添加及删除。 关键字:教学管理数据库SQL Sever 2000 Delphi 表查询修改添加删除

第一章绪论 1.1数据库技术的现状 数据库技术是计算机科学技术的一个重要分支。从20世纪50年代中期开始,计算机应用从科学研究部门扩展到企业管理及政府行政部门,人们对数据处理的要求也越来越高。1968年,世界上诞生了第一个商品化的信息管理系统IMS(Information Management System),从此,数据库技术得到了迅猛发展。在互联网日益被人们接受的今天,Internet又使数据库技术、知识、技能的重要性得到了充分的放大。现在数据库已经成为信息管理、办公自动化、计算机辅助设计等应用的主要软件工具之一,帮助人们处理各种各样的信息数据。 在这30多年的历程中,人们在数据库技术的理论研究和系统开发上都取得了辉煌的成就,而且已经开始对新一代数据库系统的深入研究。数据库系统已经成为现代计算机系统的重要组成部分。 1.2、学生成绩管理系统开发的目的与意义 1.掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方案,并加深对数据库系统系统概念和特点的理解。 2.初步掌握数据库应用系统分析、设计和实现方法。 3.进一步提高学生的知识综合运用能力。 4.为学习更高深的计算机技术打下基础。提高其综合素质,便于未来就业以及更深发展。 第二章系统需求分析 2.1 概述 1.信息需求 高校学生的成绩管理工作量大、繁杂,人工处理非常困难。学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅能使管理者从

学生成绩管理信息系统1

1 学生成绩管理信息系统 学生成绩管理系统 一.系统分析

1.现状分析 随着计算机应用的普及和迅雷般的飞速发展,信息化必然成为世界发展的潮流和趋势。信息化正在以前所未有的速度影响着人类 的方方面面,同时对传统教育的改革也起到了推动作用。 在今天的中国,信息化迅速发展,信息化必然走进校园。在学校众多管理工作中,学生的成绩管理原来越重要。然而传统的工作方

式如手工修改和查询成绩是一项非常繁重 而枯燥的工作,经常耗费很大财力和人力。数据量大时,将不可避免的出现失误。因此,学生成绩管理工作的信息化是十分必要的。学生成绩管理系统是利用现代的信息技术,实现学生信息资源的共享,实现学生信息与社会其他信息的有机联系,促进学生成绩管理工作的科学化、现代化,提高学生管理工作的效率。 2.系统需求分析 通过调查,要求系统具有以下功能: 1) 任课教师可以录入所教课程的成绩 2) 成绩的上传和下载 3) 教务处即系导员能够统计成绩

4) 成绩的发布和查询 5) 用户权限的限定 3系统的可行性分析 1)技术可行性分析 该系统选择微软公司的Visual Basic 6.0作为系统开发工具,主要是因为它是一个快速可视化程序开发工具软件且功能强大,主要表现为:所见即所得的界

面设计,尤其是数据窗口能方便而间接操纵数据库的智能化对象,基于对象的设计方法,极短的软件开发周期,较易的代码维护,同时还有众多的Active控制,提高了软件的使用效率。 连接采用SQL Server数据库,SQL Server是一种关系数据库工具,关系数据库已开发的最通用的数据库之一。该数据库能汇集各种信息以供查询、存储和检索。它是一种使用广泛的数据库管理系统,具有许多优点:易用性、适合分布组织科伸缩性、用于决策支持的数据库功能等。. 2)经济可行性分析 从经济角度分析,学生成绩系统所耗费的资源非常的少。目前,计算机越来越普及,大部分

数据结构课程设计报告模板

课程设计说明书 课程名称:数据结构 专业:班级: 姓名:学号: 指导教师:成绩: 完成日期:年月日

任务书 题目:黑白棋系统 设计内容及要求: 1.课程设计任务内容 通过玩家与电脑双方的交替下棋,在一个8行8列的方格中,进行棋子的相互交替翻转。反复循环下棋,最后让双方的棋子填满整个方格。再根据循环遍历方格程序,判断玩家与电脑双方的棋子数。进行大小判断,最红给出胜负的一方。并根据y/n选项,判断是否要进行下一局的游戏。 2.课程设计要求 实现黑白两色棋子的对峙 开发环境:vc++6.0 实现目标: (1)熟悉的运用c语言程序编写代码。 (2)能够理清整个程序的运行过程并绘画流程图 (3)了解如何定义局部变量和整体变量; (4)学会上机调试程序,发现问题,并解决 (5)学习使用C++程序来了解游戏原理。 (6)学习用文档书写程序说明

摘要 本文的研究工作在于利用计算机模拟人脑进行下黑白棋,计算机下棋是人工智能领域中的一个研究热点,多年以来,随着计算机技术和人工智能技术的不断发展,计算机下棋的水平得到了长足的进步 该程序的最终胜负是由棋盘上岗双方的棋子的个数来判断的,多的一方为胜,少的一方为负。所以该程序主要运用的战术有削弱对手行动战术、四角优先战术、在游戏开局和中局时,程序采用削弱对手行动力战术,即尽量减少对手能够落子的位置;在游戏终局时则采用最大贪吃战术,即尽可能多的吃掉对手的棋子;而四角优先战术则是贯穿游戏的始终,棋盘的四角围稳定角,不会被对手吃掉,所以这里是兵家的必争之地,在阻止对手进角的同时,自己却又要努力的进角。 关键词:黑白棋;编程;设计

数据结构课程设计报告

《数据结构与算法》课程设计报告 学号: 班级序号: 姓名: 指导教师: 成绩: 中国地质大学信息工程学院地理信息系统系 2011年12 月

1.需求规格说明 【问题描述】 利用哈夫曼编码进行对已有文件进行重新编码可以大大提高减小文件大小,减少存储空间。但是,这要求在首先对一个现有文件进行编码行成新的文件,也就是压缩。在文件使用时,再对压缩文件进行解压缩,也就是译码,复原原有文件。试为完成此功能,写一个压缩/解压缩软件。 【基本要求】 一个完整的系统应具有以下功能: (1)压缩准备。读取指定被压缩文件,对文件进行分析,建立哈夫曼树,并给出分析结果(包括数据集大小,每个数据的权值,压缩前后文件的大小),在屏幕上输出。 (2)压缩。利用已建好的哈夫曼树,对文件进行编码,并将哈夫曼编码及文件编码后的数据一起写入文件中,形成压缩文件(*.Haf)。 (3)解压缩。打开已有压缩文件(*.Haf),读取其中的哈夫曼编码,构建哈夫曼树,读取其中的数据,进行译码后,写入文件,完成解压缩。 (4)程序使用命令行方式运行 压缩命令:SZip A Test.Haf 1.doc 解压缩命令:SZip X Test.Haf 2.doc或SZip X Test.Haf 用户输入的命令不正确时,给出提示。 (5)使用面向对象的思想编程,压缩/解压缩、哈夫曼构建功能分别构建类实现。 2.总体分析与设计 (1)设计思想: 1、压缩准备:1> 读文件,逐个读取字符,统计频率 2> 建立哈夫曼树 3> 获得哈弗曼编码 2、压缩过程: 1> 建立一个新文件,将储存权值和字符的对象数组取存储在文件头

学生成绩管理系统需求分析报告

学生成绩管理系统需求分析报告 一、任务概述 1.1项目背景 在如今的高校日常管理当中,学生成绩管理是其中非常重要的一环。随着计算机和计算机知识的普及,学生成绩管理得到了更大的发展空间,通过开发学生成绩管理系统,使用计算机对学生成绩信息进行管理,具有手工管理所无法比拟的检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等优点,可以提高校务人员的工作效率和学生的查询效率。 1.2开发目的 采用学生成绩管理系统,可以提高校务人员的工作效率和学生的查询效率。 1.3可行性分析 目前,随着办公信息化的开展,高校的扩招,新生入学以及期末考试结束后,学校都需要对一些繁琐的流程进行管理,通过一个基于B/S架构的管理系统,可以很好的将这一个过程进行化繁为简。此项目具有普遍性,能够应用于很多学校。因此,该类型系统可以大量投入使用。 二、需求分析 2.1功能分析 学生成绩管理系统应该完成以下两个方面的内容:学生档案资料的管理、学生成绩的管理,每个内容均需要提供添加、修改和查询的功能。学生成绩管理系统设计到的用户包括系统管理员、教师、学生,各类用户的权限不一样。系统管

理员可以添加、修改、查询学生档案资料和学生的成绩;教师可以发布学生的成绩信息,而且只能查询自己所授课程的信息以及一些公共信息;学生只能查询自己的档案、成绩以及一些公共的信息。同时系统要有系统备份功能,系统出故障时,因该有相应的应急措施或者系统恢复功能。 2.2模块划分 系统设计主要包括五个主要功能模块:权限验证模块、用户管理模块、基础数据库管理模块、成绩管理模块和数据库管理模块。 (1)权限验证模块主要是根据用户输入的用户名和密码验证用户身份并且 决定其操作权限; (2)用户管理模块实现三个主要功能:添加新用户、修改用户口令和用户 权限、删除指定的用户; (3)基础数据管理模块:维护学生信息相关的一些基础数据,它主要包括 学校系别专业的设置、学生档案资料的管理; (4)成绩管理模块:提供学生考试成绩的管理,满足不同系统用户的管理 和查询需求; (5)数据库管理模块:对现有的数据库进行管理,包括数据备份和恢复, 以方便用户对数据库的管理和维护工作,提高系统的数据安全性。

学生成绩管理系统报告

目录 1、需求与功能分析 3 2、系统总体框架 4 3、模块设计与分析 4 4、类的设计与分析 6 5、特色算法分析7 6、功能测试10 7、存在的不足与对策13 8、程序源代码14 9、使用说明23 10、参考文献23

1、需求与功能分析 (1)需求分析 学生成绩管理系统主要提供成绩查询,便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息,查看留言、提交留言。教师可以通过成绩管理系统查阅学生成绩信息,教师信息,查看教师留言、学生留言、提交留言、留言的管理等相关操作。系统管理员可以实现以上的所有功能,还有对学生的添加、删除、修改、教师的添加、删除、修改,数据库的备份、数据库的还原等相关操作。 根据开发要求,学生成绩管理系统主要应用于教育系统,完成对日常的教学、教务、教师以及学生的计算机化的管理。开发学生成绩管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及各部门关于信息化的步伐,使各项管理更加规化。目前,学校工作繁杂、资料重多。目前,管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的。 (2)功能分析 “学生成绩管理系统”包括九个模块:输入学生资料,输出学生资料,学生姓名按顺

序排列,添加学生资料,按姓名查找,删除该学生资料,查找并显示学生资料,按姓名查找,修改该学生资料,从文件中读入数据,储存学生资料并退出系统。这九个模块既相互联系又相互独立。 本系统根据学生成绩管理的需要,而建立一个“学生成绩管理系统”,以便对成绩的各项管理操作。本系统能对成绩进行输入和输出;能按姓名对学生进行排序,并显示学生资料、成绩等,不过得以系统输入学生资料、成绩为前提;能添加学生成绩资料;能根据学生的姓名来查询该学生的成绩资料,并修改或是删除该学生信息;能够从文件中读取学生信息,并且添加到系统中;能把对系统所进行的操作进行保存,以及时更新系统中的数据。 2、系统总体框架

学生成绩管理系统代码 (1)

C程序学生管理系统 /* Note:Your choice is C IDE */ #include"" #include"" #include"" typedef struct student示所有\t2.按姓名查找\n\t\t\t3.按学号查找\t4.返回主菜单\n"); scanf("%d",&m); fflush(stdin); switch(m) { case 1:printf("\n=>该系统拥有%d名学生!\n\n",head->; p=head->next; printf("\t姓名\t学号\t性别\t数学\t英语\tc语言\t综合\n\n"); while(p) { printf("\t%s\t%d\t%s\t%d\t%d\t%d\t%d\n",p->,p->,p->,p->, p->,p->,p->; p=p->next; } break; case 2:printf("=>请输入查找姓名!\n"); gets(N); fflush(stdin); p=head->next; while(p) { if(strcmp(p->,N)==0) { printf("\t姓名\t学号\t性别\t数学\t英语\tc语言\t 综合\n"); printf("\t%s\t%d\t%s\t%d\t%d\t%d\t%d\n",p->,p->,p->,p->, p->,p->,p->; break; } else {

p=p->next; if(p==NULL) printf("=>你要查的学生不存在!"); } } break; case 3: printf("=>请输入查找学号!\n"); scanf("%d",&m); fflush(stdin); p=head->next; while(p) { if(p->==m) { printf("\t姓名\t学号\t性别\t数学\t英语\tc语言\t 综合\n"); printf("\t%s\t%d\t%s\t%d\t%d\t%d\t%d\n",p->,p->,p->,p->, p->,p->,p->; break; } else { p=p->next; if(p==NULL) printf("=>你要查的学生不存在!\n"); } } break; case 4:n=1;break; } } return 1; } int range(unit *head)学号\t2.按成绩\n\n"); printf("=>请选择操作!\n》"); scanf("%d",&n); fflush(stdin); if(q==NULL) { printf("=>无学生可排序!\n");

数据结构课程设计报告

《数据结构课程设计》报告 题目:课程设计题目2教学计划编制 班级:700 学号:09070026 姓名:尹煜 完成日期:2011年11月7日

一.需求分析 本课设的任务是根据课程之间的先后的顺序,利用拓扑排序算法,设计出教学计划,在七个学期中合理安排所需修的所有课程。 (一)输入形式:文件 文件中存储课程信息,包括课程名称、课程属性、课程学分以及课程之间先修关系。 格式:第一行给出课程数量。大于等于0的整形,无上限。 之后每行按如下格式“高等数学公共基础必修6.0”将每门课程的具体信息存入文件。 课程基本信息存储完毕后,接着给出各门课程之间的关系,把每门课程看成顶点,则关系即为边。 先给出边的数量。大于等于0的整形。 默认课程编号从0开始依次增加。之后每行按如下格式“1 3”存储。此例即为编号为1的课程与编号为3的课程之间有一条边,而1为3的前驱,即修完1课程才能修3课程。 例: (二)输出形式:1.以图形方式显示有向无环图

2.以文本文件形式存储课程安排 (三)课设的功能 1.根据文本文件中存储的课程信息(课程名称、课程属性、课程学分、课程之间关系) 以图形方式输出课程的有向无环图。 拓展:其显示的有向无环图可进行拖拽、拉伸、修改课程名称等操作。 2.对课程进行拓扑排序。 3.根据拓扑排序结果以及课程的学分安排七个学期的课程。 4.安排好的教学计划可以按图形方式显示也可存储在文本文件里供用户查看。 5.点击信息菜单项可显示本人的学好及姓名“09070026 尹煜” (四)测试数据(见六测设结果)

二.概要设计 数据类型的定义: 1.Class Graph即图类采用邻接矩阵的存储结构。类中定义两个二维数组int[][] matrix 和Object[][] adjMat。第一个用来标记两个顶点之间是否有边,为画图服务。第二个 是为了实现核心算法拓扑排序。 2.ArrayList list用来存储课程信息。DrawInfo类是一个辅助画图的类,其中 包括成员变量num、name、shuxing、xuefen分别代表课程的编号、名称、属性、 学分。ArrayList是一个DrawInfo类型的数组,主要用来在ReadFile、DrawG、DrawC、SaveFile、Window这些类之间辅助参数传递,传递课程信息。 3.Class DrawInfo, 包括int num;String name;String shuxing;float xuefen;四个成员变量。 4.Class Edge包括int from;int to;double weight;三个成员变量。 5.Class Vertex包括int value一个成员变量。 主要程序的流程图: //ReadFile.java

数据结构课程设计报告

编号 课程设计 题目 1、一元稀疏多项式计算器 2、模拟浏览器操作程序 3、背包问题的求解 4、八皇后问题 二级学院计算机科学与工程学院 专业计算机科学与技术 班级 2011级 37-3班 学生姓名 XX 学号 XXXXXXXXXX 指导教师 XXXXX 评阅教师 时间 1、一元稀疏多项式计算器 【实验内容】 一元稀疏多项式计算器。

【问题描述】 设计一个一元稀疏多项式简单计算器。 【需求分析】 其基本功能包括: (1)输入并建立多项式; (2)输出多项式,输出形式为整数序列为:n,c1,e1,c2,e2,……,cn,en,其中n 是多项式的项数,ci,ei分别是第i项的系数和指数,序列按指数降序排序;(3)多项式a和b相减,建立多项a+b; (4)多项式a和b相减,建立多项式a-b; (5)计算多项式在x处的值; (6)计算器的仿真界面(选做); 【概要设计】 -=ADT=- { void input(Jd *ha,Jd *hb); void sort(dnode *h)

dnode *operate(dnode *a,dnode *b) float qiuzhi(int x,dnode *h) f",sum); printf("\n"); } 【运行结果及分析】 (1)输入多项式:

(2)输出多项式(多项式格式为:c1x^e1+c2x^e2+…+cnx^en): (3)实现多项式a和b相加: (4)实现多项式a和b相减: (5)计算多项式在x处的值:

2、模拟浏览器操作程序 【实验内容】 模拟浏览器操作程序 【问题描述】 标准Web浏览器具有在最近访问的网页间后退和前进的功能。实现这些功能的一个方法是:使用两个栈,追踪可以后退和前进而能够到达的网页。在本题中,要求模拟实现这一功能。 【需求分析】 需要支持以下指令: BACK:将当前页推到“前进栈”的顶部。取出“后退栈”中顶端的页面,使它成为当前页。若“后退栈”是空的,忽略该命令。 FORWARD:将当前页推到“后退栈”的顶部。取出“前进栈”中顶部的页面,使它成为当前页。如果“前进栈”是空的,忽略该命令。 VISIT:将当前页推到“后退栈”的顶部。使URL特指当前页。清空“前进栈”。 QUIT:退出浏览器。 假设浏览器首先加载的网页URL是:http:

学生成绩管理系统报告

数据库应用 课程设计说明书 班级:软件工程1404 姓名:徐螣 学号: 201426811322 设计题目:学生成绩管理系统(数据库) 设计时间: 2017.6.25 至 2017.7.6 指导教师:廖峰峰

学生成绩管理系统(数据库) 设计总说明 考虑到高校学生的成绩管理工作量大、繁杂,人工处理非常困难,出现了学生成绩管理系统。它借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理也更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。 本系统根据我校的一些实际情况开发,用于对学校教师、学生、课程信息的管理,主要用于管理学生成绩。登录系统时需要访问数据库中的用户信息,确定登录身份。系统完成了日常的教育工作中对学生成绩档案的数字化管理,并且较为系统地对学生信息、成绩信息和课程信息进行管理。查询、增添、修改、删除都变的非常简便,减少了管理的工作量。 基于学校学生众多,为了数据的安全性,系统将学生数据保存在数据库中,以Visual C++设计前台对系统进行设计。因为成绩管理系统是一项很实用的系统,所面对的数据量很大,所以我们要求系统能够高效快速的处理这些数据,并且要保证数据的正确性、相容性和安全性。C++作为前台是将数据库中的数据读取出来,有助于用户对这些数据进行相应的操作,使操作更方便,更符合用户的要求。所以该系统应该要有一个良好的界面,使用户感觉很直观,使用快捷,这就是用C++所要实现的功能。 关键词 Visual C++ 6.0;SQL Server;MFC;学生成绩管理

数据结构课程设计

《数据结构》 课程设计报告 学号 姓名 班级 指导教师 安徽工业大学计算机学院 2010年6月

建立二叉树和线索二叉树 1.问题描述: 分别用以下方法建立二叉树并用图形显示出来: 1)用先序遍历的输入序列 2)用层次遍历的输入序列 3)用先序和中序遍历的结果 2.设计思路: 分三个方式去实现这个程序的功能,第一个实现先序遍历的输入数列建立二叉树;第二个是用层次遍历的方法输入序列;第三个是用先序和后序遍历的结果来建立二叉树;三种方法建立二叉树后都进行输出。关键是将这三个实现功能的函数写出来就行了;最后对所建立的二叉树进行中序线索化,并对此线索树进行中序遍历(不使用栈)。 3.数据结构设计: 该程序的主要目的就是建立二叉树和线索二叉树,所以采用树的存储方式更能完成这个程序; 结点的结构如下: typedef struct bnode { DataType data; int ltag,rtag; struct bnode *lchild, *rchild; } Bnode, *BTree; 4.功能函数设计: BTree CreateBinTree() 用先序遍历的方法讲二叉树建立; BTree CREATREE() 用队列实现层次二叉树的创建; void CreatBT(); 用先序和中序遍历的结果建立二叉树; void InThread(BTree t,BTree pre) 中序线索化; 5.编码实现: #include #include #define max 100 typedef struct bnode { char data; int ltag,rtag; struct bnode *lchild,*rchild; }Bnode,*BTree; BTree Q[max]; BTree CREATREE() { char ch; int front=1,rear=0;

数据结构课程设计报告

数据结构课程设计 设计说明书 TSP 问题 起止日期:2016 年 6 月27 日至2016 年7 月 1 日 学生姓名 班级 学号 成绩 指导教师( 签字) 2016 年7 月 1 日

目录 第1 章需求分析.................................................................................1... 1.1 简介 (1) 1.2 系统的开发背景 (1) 1.3 研究现状 (1) 第2 章概要设计.................................................................................2... 2.1 系统开发环境和技术介绍 (2) 2.2 系统需求分析 (2) 2.2.1 总体功能分析 (2) 2.2.2 核心功能分析 (3) 第3 章详细设计...................................................................................4... 3.1 系统开发流程 (4) 3.2 系统模块设计 (4) 3.3 系统结构 (6) 3.2 系统流程图 (6) 第4 章调试分析...................................................................................7... 4.1 程序逻辑调试 (7) 4.2 系统界面调试 (8) 第5 章测试结果...................................................................................9... 5.1 测试环境 (9) 5.2 输入输出测试项目 (9) 5.3 测试结果 (10) 结论.....................................................................................................1..1.. 参考文献................................................................................................1..1. 附录.......................................................................................................1..2..

学生成绩管理系统报告总结

学生成绩管理系统报告总结 篇一:学生成绩管理系统实训报告 学号20XX1150120338编号20XX150338研究类型基础研究分类号Tn91 《软件工程》实训报告 专业:班级:姓名:学号:指导老师:实训时间:实训地点:朱娜曾凡晋宋海军 目录 一、引言...............................................................................................................1二、项目可行性分析 (2) ⑴引言 ⑵可行性研究的前提 ⑶技术可行性报告…………………………………………………………………………………。3⑷系统经济可行性报告……………………………………………………………………………。4⑸社会因素可行性分析

三、需求分析.........................................................................................................5四、系统分析.........................................................................................................6五、详细分析 (7) ⑴引言 ⑵总体设计六、数据流图、E-R图及事件表 (8) 七、RoSE建立的系统模型.......................................................................................9八、实训总结.........................................................................................................9九、致谢...............................................................................................................10十、参考文献 (10) 一、引言 1.编写目的 在学校面向现代化、面向世界、面向未来、面向互联网的21世纪,

学生成绩管理系统1.0

本程序初始化学生人数为3人,请在header文件中将#define STU_NUM 3改为#define STU_NUM 你将输入的学生数目Function.c /* 学生成绩管理系统V1.0(使用数组) 功能要求: 1、输入学号和成绩(格式化输入) 2、计算平均成绩(求和统计) 3、按成绩从高到低排序(冒泡法、选择法) 4、按成绩从低到高排序(冒泡法、选择法) 5、按学号从小到大排序(冒泡法、选择法) 6、按学号查询成绩名次(顺序查找) 7、统计成绩分布(统计计数) 8、输出学号和成绩(格式化输出) 0、退出系统 */ #include #include #include"header.h" int menu() { int result;

while(1) { system("cls"); printf("学生成绩管理系统V1.0\n"); printf("1 输入学号和成绩\n"); printf("2 计算平均成绩\n"); printf("3 按成绩从高到低排序\n"); printf("4 按成绩从低到高排序\n"); printf("5 按学号从小到大排序\n"); printf("6 按学号查询成绩名次\n"); printf("7 统计成绩分布\n"); printf("8 输出学号和成绩\n"); printf("0 退出系统\n"); if(scanf("%d",&result)!=1) { fflush(stdin); continue; } if(result>=0&&result<=8) break; }

数据结构课程设计

一、高校社团管理 在高校中,为了丰富学生的业余生活,在学校的帮助下,会成立许多社团,少则几个,多则几十个。为了有效管理这些社团,要求编写程序实现以下功能:1.社团招收新成员; 2.修改社团相应信息 3.老成员离开社团 4.查询社团情况; 5.统计社团成员数; 二、简单文本编辑器 设计一个文本编辑器,允许将文件读到内存中,也就是存储在一个缓冲区中。这个缓冲区将作为一个类的内嵌对象实现。缓冲区中的每行文本是一个字符串,将每行存储在一个双向链表的结点中,要求设计在缓冲区中的行上执行操作和在单个行中的字符上执行字符串操作的编辑命令。 基本要求: 包含如下命令列。可用大写或小写字母输入。 R:读取文本文件到缓冲区中,缓冲区中以前的任何内容将丢失,当前行是文件的第一行; W:将缓冲区的内容写入文本文件,当前行或缓冲区均不改变。 I:插入单个新行,用户必须在恰当的提示符的响应中键入新行并提供其行号。 D:删除当前行并移到下一行; F:可以从第1行开始或从当前行开始,查找包含有用户请求的目标串的第一行; C:将用户请求的字符串修改成用户请求的替换文本,可选择是仅在当前行中有效的还是对全文有效的。 Q:退出编辑器,立即结束; H:显示解释所有命令的帮助消息,程序也接受?作为H的替代者。 N:当前行移到下一行,也就是移到缓冲区的下一行; P:当前行移到上一行,也就是移到缓冲区的上一行;

B:当前行移到开始处,也就是移到缓冲区的第一行; E:当前行移到结束处,也就是移到缓冲区的最后一行; G:当前行移到缓冲区中用户指定的行; V:查看缓冲区的全部内容,打印到终端上。 三、电话客户服务模拟 一个模拟时钟提供接听电话服务的时间(以分钟计),然后这个时钟将循环的 自增1(分钟)直到达到指定时间为止。在时钟的每个"时刻",就会执行一次检查来看看对当前电话服务是否已经完成了,如果是,这个电话从电话队列中删除,模 拟服务将从队列中取出下一个电话(如果有的话)继续开始。同时还需要执行一个检查来判断是否有一个新的电话到达。如果是,其到达时间被记录下来,并为其产生一个随机服务时间,这个服务时间也被记录下来,然后这个电话被放入电话队列中,当客户人员空闲时,按照先来先服务的方式处理这个队列。当时钟到达指定时间时,不会再接听新电话,但是服务将继续,直到队列中所偶电话都得到处理为止。 基本要求: (1)程序需要的初始数据包括:客户服务人员的人数,时间限制,电话的到达速率,平均服务时间 (2)程序产生的结果包括:处理的电话数,每个电话的平均等待时间 四、停车场管理 设停车场是一个可停放n辆车的狭长通道,且只有一个大门可供汽车进出。在停车场内,汽车按到达的先后次序,由北向南依次排列(假设大门在最南端)。若停车场内已停满n辆车,则后来的汽车需在门外的便道上等候,当有车开走时,便道上的第一辆车即可开入。当停车场内某辆车要离开时,在它之后进入的车辆必须先退出停车场为它让路,待该辆车开出大门后,其他车辆再按原次序返回车场。每辆车离开停车场时,应按其停留时间的交费(从进入便道开始计时)。在这里假设汽车从便道上开走时不收取任何费用 基本要求: (1)汽车的输入信息格式为(到达/离去的标识,汽车牌照号码,到达/离去的时间)

相关文档
相关文档 最新文档