数据结构家谱管理系统报告书

数据结构家谱管理系统报告书
数据结构家谱管理系统报告书

数据结构大作业说明文档

一、题目的选择

这次数据结构的大作业,我的选题是家谱管理系统的设计与实现。由于平时疏于编程——针对我得个人实际——我把主要的目标定位在完成家谱管理系统得基本要求。(基本要求大纲中有,就不浪费版面了)

二、设计的思路

接到这个题目,我的总体设计思路是先为程序搭建好一个结构框架,再跟据时间的宽裕程度和其它的要求逐步增强程序的性能。

关于IO的设计:

考虑到题目要求家谱信息以树形的形式一次读入内存,而个人的各种资料现在虽然条目不多,但随着程序的升级,以后可能变得越来越大。我把树形结构和个人信息记录的文档分为两个文件保存在外存中,一个文件串行化地记录家谱树的结构信息,保存少量个人信息作为识别标志;另一个文件保存完整的个人信息,所有的个人信息以线性记录的方式记录在其中。当程序运行要读入家谱结构时,只读入保存少量记录的文件并建立起树形结构。索引时,以树形中的少量信息为依据在另一个文件中找到全部的各人信息资料。

这样的好处主要有两点:

1. 由于树形结构是串行化记录于外存,一个节点记录多次,信息大量冗余,如果树形节点中保留全部信息,必将造成大量的空间浪费;只保存作为索引的少量信息在树形结构中,节约了空间。

2. 由于结构的精简,在家谱初始化时读入内存需要的时间相应减少,节约了装载时间。

这样做存在的问题:

每次执行修改,添加,删除,查询时都要直接访问外存来取得或写入数据。内外存访问上的巨大时间差的存在,使得进行这些操作相对来说并不显得很高效。

关于树形的结构:

在树形结构的选择上,根据实际中多子女的现象选择一般树,考虑到家谱中成员可能存在的不定成员数问题,抛弃了以数组为基础的一般树方案,决定用链表来实现。

树形结构的外存保存。为了提高效率,树形结构在程序初始化时由外存文件一次读入内存,此后不管插入还是修改,删除都不再对外存的树结构保存文件进行操作,只在内存中处理,程序退出时对外存树结构文件进行一次更新。也就是说,不管在程序运行中中对家谱结构进行多少种,多少次的操作,外存的树结构文件始终只会被程序访问两次。

关于功能的设计(以基本要求为准):

1.插入:用户按提示输入资料,在树形中插入节点,在个人完整记录文

件中添加插入人的所有信息并保存。

2.删除:用户输入被删除人的识别关键字(即名字),在树形结构中删

除此人,在个人记录文件中不处理。

3.修改:用户输入被删除任的识别关键字(即名字),从个人完整记录

文件中读出该人所有信息供用户进行修改,然后写回。

4.查询:完成了关键字查找部分和关系查找部分,读出个人全部信息并

显示。

关于个人资料单元:

由于树形节点要涉及到大量的逻辑操作,要用到一些运算符的重载,个人资料在树形单元定义为class类,而写入文件的单元存萃是数据,定义为简单的struct 类。

定义为struct和class类,使得不管是树形结构插入删除还是IO都是对整个结构体进行的操作,这样,如果要往结构体中添加若干个新信息条目或取消一些不必要的信息条目,需要修改的代码非常之少,方便了以后的升级。

三、程序源/头文件及主要类的说明

程序包含六个文件。一个源文件:test.cpp ;五个头文件:GTNode.h 、GTree.h 、IOMan.h 、LList.h Link.h 。

GTNode.h 头文件的说明:

文件中有GTNode模板类的定义和说明,GTNode类是一般树的节点类,类中的私有变量包含一个待定义的数据变量,一个最左孩子指针,一个右兄弟指针,一个父指针。类中公有成员函数的作用主要是对四个私有成员进行返值和置值,此外还包括一个叶子节点的判断函数。

GTree.h 头文件的说明:

文件中有GTree 模板类的定义和说明,GTree 类是一般树类,以GTNode 类为基础进行操作。

一般树类的私有部分包括两个私有变量:树的根指针和整型的当前树的节点个数记录。另外还有三个私有辅助函数:析构辅助函数,打印辅助函数和查找辅助函数。这三个函数都是用递归的方式访问整棵树来完成打印,查找和树的析构。

一般树的公有部分重定义了构造和析构函数,定义了以私有的辅助查找函数为基础的对外的查找函数,定义了节点插入函数,节点删除函数和返回值节点个数记录的求树节点个数的函数。

List.h 头文件的说明:

文件中定义并说明了模板类List 类,这是程序中最简单的一个类,类中只有公有部分,包含一个待定义的数据变量,一个指向下一个节点的指针,和两个构造函数。

LList.h 头文件的说明:

文件中定义并说明了模板类LList 类,这是一个但链表类,这个类主要是我以数据结构教材中了LList 类为范本,进行一些细部的修改,并添加了一些成员函数后形成。

LList 类的私有部分包含了一个待定义的数据,头、尾和“栅栏”三个指,两个分别辅助构造与析构的函数。

LList 类的公有部分我根据需要添加了一个删除最后一个节点的函数,其它部分与教材中基本一致。

IOMan.h 头文件的说明:

IOMan.h 头文件是本程序中最大的一个头文件,其它四个头文件都是这个文件的支持。其中包含了两个类,一个结构:一个一般树节点类,一个IOMan类,一个个人记录文件模块化写入读出的结构。

这里重点介绍一下处理文件,树,输入输出的IOMan 类,这个类也是本程序的核心所在。

IOMan 类的私有部分包含一个树,一个链表和一个写入辅助函数。树是用来存放家谱中关系的结构;链表主要用来辅助输入,输出;写入辅助函数在链表的帮助下完成串型化地把树的结构写入外存保存树结构的文档中。

IOMan类的公有部分包含六个函数:构造函数,析构函数,家谱添加函数,删除函数,修改函数和查找函数。构造函数处理完成家族树的建树任务,析构函数同时完成家族树的写入外存保存,其它四个函数处理用户输入输出的同时也对外部文件进行更新。

test.cpp源文件的说明:

该文件中包含了main 函数。在main 函数中,如果没有记录文件,则完成记录文件的创建,否则,完成记录文件的打开。同时,main 函数还提供初始化的用户面板供用户进行操作。

四、主要函数的说明:

这次的大作业,我在程序中总共新写了(原创)五个类和二十多个较复杂的函数。其中的大部在源文件中都有较好的注释或用了比较常规的手法,在这里就不多加说明了,现在介绍的主要是比较特别的几个函数。

IOMan::IOMan ( ) 构造函数。这个构造函数的逻辑流程是:先打开线型化保存树形结构的文件,如果打开成功则继续后续操作,否则退出程序。在打开结构文件成功的情况下,模块化以树节点大小为单位逐个读入保存在结构文件中的内容,并用两个指针变量记录当前和上次读入的节点,如果当前读入节点在树中存在,则更新上次记录指针为当前记录指针值,如果读入节点不存在,则把当前读入的节点值作为上次记录节点的孩子插入结构树中,最后读完整个结构记录文件后,关闭该文件。

IOMan::~IOMan ( ) 析构函数。该函数主要完成树结构的写入保存工作。函数流程是:先打开保存树结构的文件,如打开失败则提示用户无法保存信息,否则调用辅助函数writeHelp ( ) 把树的结构写入结构保存文件。writeHelp ( ) 函数的写入规则是:遇到中间节点,往链表中添加该节点,先递归访问它的最左孩子,

从链表中剔除该节点,再访问它的右兄弟;遇到叶子节点,顺序写出链表中所有节点数据和该节点,再递归访问它的右兄弟。

IOMan::appendIt ( ) 家谱成员添加函数。该函数首先打印出家谱树的结构供用户查看,然后由用户添加成员,为了确认添加位置,除了主根节点外,所有添加的成员都要求用户输入父节点的关键码(即父亲姓名),否则无法添加。然后用户按提示输入添加成员的信息,由系统保存在个人信息记录文件中,同时更新树结构。当个人记录保存文件无法打开时提示用户无法添加。

IOMan::removeIt ( ) 家谱成员删除函数,不对个人记录文件进行操作,只在树形机构中进行删除。

IOMan::changeIt ( ) 家谱成员修改函数,由用户输入新的信息,更新个人记录文件。

IOMan::inquire ( ) 家族成员查看函数,该函数有两个选择提供给用户:按成员名字查找或者按父亲名字查找,查找到的结构包含树中的关系。

五、心得体会

这次大作业的推荐学时是20个学时,但回想起来,光这篇报告就写了有三四个学时,由于我本身编程能力不强,构思,写代码,修改,调试的时间加起来绝对是有余了。虽然付出不少,但在前期的设计组织中,中期的代码编写和后期的修改调试中都学到了不少。

起初我的家谱中数据并不是以结构的形式打包,读入,写出操作的时候代码异常繁琐,这是恰好看到一本编程书上有用结构输入输出的范例,深深感到结构化确实是方便多了,而且读写不容易出错。当时我的代码本已经写了有一大半,思虑再三,还是决定进行大换血,家谱数据的改变让程序来了个大换血,提高了效率的同时,代码几乎变了一多半。我想,当时唯一不变的就只有对整个程序越来越清醒地认识和对将要完成的代码的更准确地把握。

代码完成之后,一编译,至少有五六十个错误提示,而且最末debug一行栏的最后一行提示因为先前的错误而中断编译,有的是指针指向错误,有的是忘了分号,括号,更多的是一些赋值错误,前面的错误都好改,赋值错误就比较麻烦了,因为要使用赋值的地方太多,逐行改代码虽然也可以,但实在是一个巨大工程。所谓巧招必是险招——至少对我是这样——说来惭愧,我只有尝试着写以前从未是过的运算符重载函数,为此专门翻找出了大一的C++教材,温习了一番运算符重载才战战兢兢地搞定了赋值问题。

试运行时出现了更多的问题,而且更具有隐蔽性,几次为了一个逻辑错误而来回反复地翻看代码,嘿嘿,再加上网上有代码的传说,让人有想直接放弃的冲动,但一想到写代码的辛苦,觉得放弃了实在可惜。那几天吃饭,睡觉,走路,看电视,随时随地,都记挂着那几处错误,脑子都会浮现出代码的影子,不自觉地开始找错误。哎~那种感觉!~不知道是充实还是急迫地烦恼,最后终于找到了,根本来不急高兴,只有松了一口气和一阵的疲惫。

现在程序终于完成了,心里的石头也下了地。至于成绩,不想了~~

六、程序运行剪影

剪影中只以两个节点的树为例,其实程序本身可以支持任意多节点,欢迎老师

测试。

主面板

个人信息显示(其中的数字2代表实际信息)

查询页面

附:

程序得到了比较好的调试和极限输入测试,很多问题的到了解决,但有一个漏洞,现有的设计很难完美解决:当用到亲戚查询,选择子女序号时,必须按提示输入数字,否则系统会出现未知错误。其它界面即使随便输入系统也会给予纠正。

数据库课程设计报告:学生成绩管理系统

《数据库系统原理》课程设计报告 学生成绩管理系统 设计成员 所在专业 所在班级 指导教师 提交时间

目录 卷首语:读书笔记 (4) 1、课程设计的目的 (6) 2、课题组成员的设计任务 (7) 3、学生信息管理系统概述 (8) 4、系统需求分析 (10) 5、数据库设计 (12) 6、系统模块详细设计 (17) 7、课程设计设计总结 (21) 8、程序源代码 (22) 参考文献 (50)

学生信息管理系统 班级:制作成员:指导教师:

卷首语: I、读书笔记 关于网上花店管理系统的读书笔记: 在网上购物逐步平民化的今天,网上购物人数不断增加,现代IT技术和互联网的结合。给了市场创造了无限商机!我阅读了一片“网上花店管理系统”的论文。该论文主要研究网上花店管理系统。该系统以MySQL作为后台数据库,JSP作为前台开发工具,通过Java中的JDBC连接数据库。提供给用户网上浏览,购买,支付等功能,同时.管理员对可以该系统进行维护和管理! SQL Server安全可靠,性能好,易用性强,JSP的Web运用跨平台,系统底层采用Java开发。Java语言简单,面向对象,安全性高的特点,运用Serlvet 模式和Tomcat服务器。这几点的综合搭配使得该系统灵活方便易用,简化了动态网站的开发。 网上花店管理系统实现了用户注册,网上订购支付,留言,购物车,鲜花资料管理和用户管理,订单管理等功能。SQl数据库实现了用户注册登记信息的存储,和网站资料维护,更新等使得数据的管理更加便利,高效…JSP则为用户提高动态图形界面,简化了操作,提高了易用性。论文还详细介绍了系统的逻辑结构设计,逻辑图,总功能设计,和数据库设计等。该系统即使是不懂web 技术的人也可以熟悉运用。 开发工具和数据库的工具有很多,各有各的优势。在互联网大行其道的时代,电脑技术顺应着时代的发展,只有我们把握运用好各类技术,相互结合与利用,才能制作出更好的软件和程序。 在现在信息化高速发展的时代,信息只有快,准,精才能发挥其价值。所以机器代替人力是必然的历史发展趋势,人工操作必将被计算机代替。计算机在我们的日常生活中的使用越来越不可或缺,计算机进行信息管理,不仅提高了工作效率,而且大大的提高了其安全性.尤其对于复杂的信息管理,计算机能够充分发挥它的优越性. 数据库技术,已经成为先进信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。数据库技术从诞生到现在,在不到半个世纪

数据结构家谱管理系统范本

数据结构家谱管理 系统

宁波大红鹰学院 信息工程学院 课 程 设 计 报 告 项目名 家谱查询系统 称: 白钰琦 项目组 长: 徐程凯、徐海域、项鸿伟 项目成 员: 10计科1班 班级名 称: 计算机科学与技术 专业名 称: 完成时间: 12月1日 信息工程学院制 目录 一、案例描述 ............................................................ 错误!未定义书签。 1、总体描述 ....................................................... 错误!未定义书签。 2、模块描述 ....................................................... 错误!未定义书签。

二、设计思路 ............................................................ 错误!未定义书签。 三、程序设计 ............................................................ 错误!未定义书签。 1、数据结构描述................................................ 错误!未定义书签。 2、主函数及其流程图........................................ 错误!未定义书签。 3、源程序 ........................................................... 错误!未定义书签。 四、调试与分析 ........................................................ 错误!未定义书签。 1、主菜单 ........................................................... 错误!未定义书签。 2、显示家谱信息................................................ 错误!未定义书签。 3、显示家谱中第n代人所有信息 .................... 错误!未定义书签。 4、按姓名查找某人并相应输出 ........................ 错误!未定义书签。 5、按出生日期查找家谱成员信息 .................... 错误!未定义书签。 6、为家谱中成员添加孩子信息 ........................ 错误!未定义书签。 7、为家谱中成员添加妻子信息 ........................ 错误!未定义书签。 8、删除家谱中成员及其后代信息 .................... 错误!未定义书签。 9、修改家谱中成员信息.................................... 错误!未定义书签。 10、确定家谱中两个成员关系 .......................... 错误!未定义书签。 11、按出生年月排序家谱 .................................. 错误!未定义书签。 五、设计总结 ............................................................ 错误!未定义书签。 1、完成情况 ....................................................... 错误!未定义书签。 2、心得体会 ....................................................... 错误!未定义书签。

数据结构课程设计独立题目

题目2:运动会分数统计 1.问题描述 参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20) 2.功能要求 1)可以输入各个项目的前三名或前五名的成绩; 2)能统计各学校总分; 3)可以按学校编号、学校总分、男女团体总分排序输出; 4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。 。 题目6:哈夫曼编/译码器 1.问题描述 利用哈夫曼编码进行信息通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个哈夫曼编/译码系统。 2.功能要求 I:初始化(Initialization)。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中。 E:编码(Encoding)。利用已建好的哈夫曼树(如不在内存,则从文件htmTree 中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile 中。 D:译码(Decoding)。利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中。 P:印代码文件(Print)。将文件CodeFile以紧凑格式显示在终端上,每行50个代码。同时将此字符形式的编码写入文件CodePrint中。 T:印哈夫曼树(Tree Printing)。将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显示在终端上,同时将此字符形式的哈夫曼树写入文件TreePrint 中。 题目9:构造可以使n个城市连接的最小生成树 1.问题描述 给定一个地区的n个城市间的距离网,用Prim算法或Kruskal算法建立最小生成树,并计算得到的最小生成树的代价。 2.功能要求 城市间的距离网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道路,则将相应边的权值设为自己定义的无穷大值。要求在屏幕上显示得到的最小生成树中包括了哪些城市间的道路,并显示得到的最小生成树的代价。

数据库学生成绩管理系统课程设计

河南理工大学 计算机科学与技术学院 课程设计报告 200 7 — 200 8 学年第二学期 课程名称数据库课程设计 设计题目学生成绩管理系统 学生姓名 ^0^ 学号 专业班级 指导教师申自浩 2008 年 7 月 1 日

? 1 问题描述 1.1 背景 1)某大学有学生若干万名,每个学生每学期必须学习若干门课程。 2)每个学生有学号、姓名、性别、班级、出生日期等基本信息。 3)每门课程有课程号,课程名称、任课教师、学分等信息。 4)学校需要对每个学生的基本信息、所学课程、成绩进行统一管理,以便于对信息进行查询、浏览和修改。 1.2 数据需求 学生成绩管理系统主要用于学生成绩信息管理,据分析学生成绩管理系统的数据表可浓缩为:学生基本信息表、课程基本信息表和学生成绩信息表。根据学校的情况,可按下面的步骤来分析: (1) 确定学生所在的院系、所学的专业以及所在的班级。 (2) 确定学生所在班级的课程以及该课程学生的成绩;另外还需要知道学生所在 班级、学号和学期。 (3) 分析学生的基本信息,如姓名、性别、出生年月、家庭住址、联系电话。 (4) 用户信息分析,通常包括用户名和密码。 ? 2 解决方案 ( 或数据库系统设计 ) 2.1 E-R 模型设计 课程 学生 班级 学号 出生日期 姓名 查询成绩 任课教师 课程号 课程名称 学分 成绩 性别

根据E—R图,将其转化为如下数据实体,数据库:学生成绩管理系统.dbc,包括如下的表和视图: 1)学生登记表——学生表.dbf。 字段名称字段类型字段宽度 xh 字符型 10 xm 字符型 6 xb 字符型 2 csrq 日期型 8 bj 字符型 4 2)课程登记表——课程表.dbf。 字段名称字段类型字段宽度 kch 字符型 2 kcm 字符型 10 js 字符型 10 xf 字符型 10 3)成绩登记表——成绩表.dbf 字段名称字段类型字段宽度 xh 字符型 10 kch 字符型 2 cj 数值型 3 4) 借书视图(lyxview)。 为了进行浏览总表的需要,需要设计了一个总表浏览视图,该视图从学生表.dbf等3个表中提取了10个字段的数据: 学生表.xh 学生表.xm 学生表.xb 学生表.csrq 学生表.bj 课程表.kch 课程表.kcm 课程表.js 课程表.xf 成绩表.cj 其视图关系可由以下SQL语句定义: SELECT 学生表.*, 课程表.*, 成绩表.cj;

家谱管理实验报告

Project 3 家谱管理

一、题目 用树型结构实现家族成员信息管理,(如建立、删除、查询、统计、打印等) 二、数据结构与算法 1.定义树结点node { string name; node *left; node *right; string sex;//male or female int num;//结点编号 node() { name = ""; left = right = NULL; num = 0; sex = "male"; } }; 2.定义class tree{};实现不同对树的操作 其中,以static int count记录节点总数; 以static int height记录树高度; 以node* root作为头指针; 以node* arr[maxnode]将每个节点的指针记录在数组里。 3.对于该树的操作: a. 创建树: 首先此project中树由男性为根结点。男性的左孩子是其兄弟,右孩子是其第一任妻子,第一任妻子的右孩子是其第二任妻子,每个妻子的左孩子是其与这位妻子的孩子。如此递归生成家谱。 输入时,用0表示左孩子,1表示右孩子,以1010等的字符串输入结点位置来创造结点。创建后用函数cheak来检验创造的树是否正确,具体来说就是避免创建树时出现有结点没有父结点的情况。 b.删除结点:以结点的name成员搜索结点,删除结点及其子树。 c.查询结点:以结点的name成员搜索结点,打印该结点的父母兄弟、妻 子、男孩。 d.统计函数:统计家谱总数。本project中通过#define定义打印屏幕宽 度screen_width为96,最多结点maxnode为32,因此树高度不超过5层,总数count不超过32. (linux下测试,终端宽度可以任意,windows下的话只能是80) e.打印:采用广度优先搜索遍历来打印树。

家谱管理系统 -数据结构大作业

/* 家谱管理系统 任务:实现具有下列功能的家谱管理系统 功能要求: 1). 输入文件以存放最初家谱中各成员的信息,成员的信息中均应包含以下内容: 姓名、出生日期、婚否、地址、健在否、死亡日期(若其已死亡),也可附加其它信息、但不是必需的。 2). 实现数据的存盘和读盘。 3). 以图形方式显示家谱。 4). 显示第n 代所有人的信息。 5). 按照姓名查询,输出成员信息(包括其本人、父亲、孩子的信息)。 6). 按照出生日期查询成员名单。 7). 输入两人姓名,确定其关系。 8). 某成员添加孩子。 9). 删除某成员(若其还有后代,则一并删除)。 10).修改某成员信息。 11).按出生日期对家谱中所有人排序。 12).打开一家谱时,提示当天生日的健在成员。 要求:建立至少30个成员的数据,以较为直观的方式显示结果,并提供文稿形式以便检查。 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。 存储结构:学生自己根据系统功能要求自己设计,但是要求相关数据要存储在数据文件中。 测试数据:要求使用1、全部合法数据;2、局部非法数据。进行程序测试,以保证程序的稳定。 测试数据及测试结果请在上交的资料中写明; */ #include #include

#include #include #include"map.h" #define MAXN 100 #define MAXMEM 100 #define Elemtype char ============================== //树 typedef struct BiTNode { i nt mark;//标记 int level; char name[50];//姓名 char birthday[50];//生日 char address[MAXN];//住址 bool marriage;//婚否(true表示结婚,false表示没结婚) bool live;//建在(true表示活着,false表示过世) bool sex;//性别(true表示男,false表示女) char livemassage[50];//死亡日期(如果其已经死亡) Elemtype data;// struct BiTNode *lc,*rc; }BiTNode,*BiTree; //树的相关操作 char nametemp[50];//姓名 char birthdaytemp[50];//生日 char addresstemp[MAXN];//住址 bool marriagetemp;//婚否(true表示结婚,false表示没结婚)bool livetemp;//建在(true表示或者,false表示过世)

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

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

摘要 本数据库的主要功能如下: 学生信息设置,该模块包括数据的添加、修改、删除、查询,数据库后台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

《软件综合设计》 家谱管理系统 院系:计算机科学技术学院二系 班级:计11 – 2班 姓名:刘文秀(15) 合作者:姜雪(05) 、岳奉宜(33) 指导教师:薛曼玲 2013 年 12 月 01 日

《软件综合设计》任务书 一、题目:家谱管理系统 二、设计要求 (1)刘文秀(组长)、姜雪和岳奉宜组成课程设计小组。 (2)小组成员分工协作完成。要求每个成员有自己相对独立的模块,,同时要了解其他组员完成的内容。 (3)查阅相关资料,自学具体课题中涉及到的新知识。 (4)采用结构化、模块化程序设计方法设计,功能要完善,界面美观。 (5)所设计的系统应有菜单、动画和音乐。 (6)按要求写出课程设计报告,并于设计结束后1周内提交。其主要内容包括:封皮、课程设计任务书,指导教师评语与成绩、目录、概述、软件需求分析、总体设计、详细设计、程序的调试与测试、总结与体会、结束语、程序清单(带中文注释)、参考文献等。报告一律用A4纸打印,正文的中文字体为宋体,西文字体用Time New Roma,一律用小四号字,行距采用“固定值”18磅,首行缩进2字符。1级标题中文字体为黑体,西文字体为Time New Roma,采用三号字;段落为居中、段前18磅、段后12磅、行距采用“固定值”18磅,首行缩进:无,段中不分页,与下段同页。仅一级标题上目录。 三、课程设计工作量 由于是设计小组团结协作完成设计任务,一般每人的程序量在400行有效程序行以上,不得抄袭。 四、课程设计工作计划 2013年12月2日,指导教师讲课,学生根据题目准备资料,需求分析; 2013年12月3日,设计小组进行总体方案设计和任务分工; 2013年12月4日~2013年12月10日,每人完成自己承担的程序模块并通过独立编译; 2013年12月11日~12日,将各模块集成为一个完整的系统,并录入足够的数据进行调试运行; 2013年12月13日,验收、开始撰写课程设计报告; 2013年12月18日前,提交课程设计报告和软件。 指导教师签章: 教研室主任签章

最新数据结构课程设计题目

数据结构课程设计 一、考核方法和内容 根据课程设计过程中学生的学生态度、题目完成情况、课程设计报告书的质量和回答问题的情况等按照10%、40%、30%、20%加权综合打分。成绩评定实行优秀、良好、中等、及格和不及格五个等级。评分标准: 优秀:答辩所有问题都能答出+报告良好 或报告良好+实现“提高部分”的功能; 良好:答辩所有问题都能答出+报告一般; 或报告一般+实现“提高部分”的功能; 中等:答辩大部分问题能答出+报告良好; 及格:答辩大部分问题能答出+报告一般; 以下四种,都不及格: 1)答辩几乎答不出问题; 2)报告几乎都是代码; 3)雷同部分达到60%; 4)课设报告与数据结构和c/c++关联不大。 课设报告的装订顺序如下: 任务书(签名,把题目要求贴在相应位置,注意下划线)-----目录(注意目录的格式,页码)-----1、设计任务(题目要求)-----2、需求分析(准备选用什么数据逻辑结构?数据元素包含哪些属性?需要哪些函数?为什么要这样设计?最后列出抽象数据类型定义)-----3、系统设计(设计实现抽象数据类型,包含选择什么物理存储方式?数据元素的结构体或类定义,以及各函数的设计思路,算法,程序流程图等)----4、编码实现(重要函数的实现代码)-----5、调试分析(选择多组测试数据、运行截图、结果分析)-----6、课设总结(心得体会)-----7、谢辞-----8、参考文献; 课设报告打印要求: B5纸张打印,报告总页数控制在10—15页内,报告中不能全是代码,报告中代码总量控制在3页内。版式:无页眉,有页码,页码居中 字号:小四,单倍行距 字体:宋体+Times new Romar 截图:截图要配图的编号和图的题目,如:“图1 Insert函数流程图” 二、课程设计的题目 1.长整数的加法运算 2.通讯录管理系统的设计与实现——顺序表 3.广义表的应用 4.学生成绩管理系统的设计与实现 5.家谱管理系统的设计与实现 6.集合的并、交和差运算的程序 7.运动会分数统计 8.一元多项式计算器 9.文章编辑 10.哈夫曼树及其编码 11.校园导游咨询 12.通讯录管理系统的设计与实现——单链表 13.地图着色问题 14.内部排序算法比较 15.火车售票系统 16.图书管理系统 17.客户消费积分管理系统 18.产品进销存管理系统

数据结构家谱管理系统

//////////////////////////////////////////////////////////// /////////////////// //题目:家谱资料管理 //要求:家谱用于记录某家族历代家族成员的情况与关系。现编制一个家谱资料管理软件, //实现对一个家族所有的资料进行收集整理。支持对家谱的增加,删除,更新,统计等。 //////////////////////////////////////////////////////////// /////////////////// #include #include #include int MATEFLAG=0; typedef struct TreeNode

int Num; //记录这个人拥有几个儿女 char Name[20]; //记录这个人的姓名 char Kind; //标示节点的种类有女G男B struct TreeNode * NextNode[20]; //记录这个人的儿女struct TreeNode * Parent; //记录这个节点的父节点 }TreeNode; void CreatTree(TreeNode *Tree); void OutPutAll(TreeNode *Tree); TreeNode * SearchTree(TreeNode *Tree,char name[],int length); void MainMenue(TreeNode *Tree); void SubMenue1(TreeNode * Tree); void SubMenue2(TreeNode *Tree); void Change(TreeNode * Tree); void AddNew(TreeNode * Tree);

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

计算机与软件工程学院 C++课程设计报告 选题:学生成绩管理系统 专业班级: 时间:2016/6/20——2016/6/29 指导教师: 完成日期:2016/6/27 一、课题描述

管理容包括:学号、姓名、班级、五门课成绩。 主要功能有:添加、修改、删除、读出、写入、查找、排序、计算总分、平均分、分类汇总等。 编写代码,运行程序后,显现下面的参考界面: 成绩管理 ============ 1.输入学生成绩 2.修改学生成绩 3.删除学生成绩 4.计算每位学生的总分 5.计算每位学生的平均分 6.按学号或姓名查询学生成绩 7.按班级查询学生成绩 8.成绩排序 9.按班级统计学科总分、平均分等 请选择(1~9,0:退出): 二、需求分析 开发一个学生成绩管理系统的目的,主要是对查询学生成绩过程中的所有信息进行更加科学、规和有效的综合管理,是为了让同学们能在任时候都能查阅到有关自己学科成绩有关

的信息,也有利于让他们充分了解有关自己在大学期间所有课程的学习情况,提高查询速度。该学生成绩管理系统主要包括期末成绩管理、具体的查询等。本系统还提供学生相关的基本信息统计、汇总、查询,这样便于辅助学校领导的学生管理工作,改善管理质量、提高管理效率包括本班的每一位学生在校期间的基本情况与课程绩汇总。 本系统利用C++面向对象的功能,实现对学生成绩的管理。主要功能为管理有关学生基本信息、成绩课程等,对每个学生的基本信息、专业成绩信息、选修课成绩信息、课程信息的查询、修改和删除。本系统的结构分为学生基本情况管理模块、学生成绩管理模块、学生课程管理模块。 这是一个很实际的编程实例。编程要求很详细,容也比较多,有一定难度。首先,学生成绩记录是一个复杂的数据结构,至少应包括学号,姓名,性别和成绩。所以,必须建立一个类student,用来记录班级,学号,姓名和成绩。此外还得建立一个类对象数组s1[80],用来记录多个学生的成绩记录。 模块设计与分析 (1)输入学生资料模块: 主要功能用来对学生的成绩进行收集和输入。在学生信息保存在系统中的前提下,成绩录入需要输入学生资料,比如班级,学号,姓名。在准确输入学生资料后,就可以对该学生的各科成绩进行录入。该学生各科成绩输入成功后,系统会提示是否继续进行操作,如果想继续输入学生成绩就输入y,不想再输入学生成绩的话就输入n,再输入n之后,系统返回到主菜单。 (2)输出学生资料模块:

家谱管理系统(含源代码)

家谱管理系统——C语言(数据结构) 目的和要求:树形结构是一种非常重要的非线性结构,它用于描述数据元素之间的层次关系,人类家谱是树形结构的典型体现,通过此项训练让学生掌握树形结构的知识;使学生重点掌握树与二叉树的转换,二叉树的存储和遍历,和二叉树相关的一些运算;要求完成家谱信息的录入和保存,任意成员的查找及某一成员祖先、子孙、兄弟、堂兄弟的查找。 排答疑和辅导。 完整代码: #include #include #include int MATEFLAG=0; //是否入赘或嫁入这家的,1表示为是,0表示否 typedef struct TreeNode//树节点定义 { int Num; //保存此人儿女个数 char Name[20]; //保存此人姓名 char Kind; //保存此人性别,男M,女F struct TreeNode * NextNode[20]; //保存此人的儿女,NextNode[0]里存放配偶的地址struct TreeNode * Parent; //保存此节点的父节点 }TreeNode; void CreatTree(TreeNode *Tree);//创建树 void OutPutAll(TreeNode *Tree);//输出树 TreeNode * SearchTree(TreeNode *Tree,char name[],int length); void MainMenu(TreeNode *Tree); void SubMenue1(TreeNode * Tree); void SubMenue2(TreeNode *Tree); void Change(TreeNode * Tree); void AddNew(TreeNode * Tree); void OutPutMessage(TreeNode * Tree,char name[],int length); //主函数 void main() { TreeNode *Tree;//产生根节点 Tree=(TreeNode *)malloc(sizeof(TreeNode)); Tree->Parent =NULL; strcpy(Tree->Name,"0"); MainMenu(Tree);//显示主菜单 } //添加新的成员 void AddNew(TreeNode * Tree) { SubMenue2(Tree);//添加新成员界面 } //显示添加家庭信息的界面

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

数据库系统原理及其应用教程 课程设计报告 题目名称:学生成绩管理系统 任课教师: 姓名: 学号:

一.概述 1.设计背景 学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快 捷的查询手段,但是几年前,各个学校的学生成绩管理基本上都是靠手工进行,随着各 个学校的规模增大,有关学生成绩管理工作所涉及的数据量越来越大,有的学校不得不 靠增加人力、物力来进行学生成绩管理。这种管理方式存在着许多缺点,如:效率低、保 密性差,另外所用其时间长,产生大量的文件和数据,这对于查找、更新和维护都带来了 不少的困难。如今学校的学生越来越多,成绩管理的工作量越来越大,手工管理成绩的 弊端也越来越明显。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为 人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机 应用的一部分,使用计算机对学生档案信息进行管理,具有手工管理所无法比拟的优点。 例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这 些优点能够极大地提高学生档案管理的效率。所以我想借本次课程设计之际,设计一个 简易的学生成绩管理系统。 2. 设计目的 1、掌握运用数据库原理进行系统分析和设计的方法; 2、掌握关系数据库的设计方法; 3、掌握利用SQL Server 2000技术; 4、加强C++的编程能力 3. 设计内容 1.设计一个简易学生成绩管理的数据库系统,包括数据库的建立的需求分析,数据的输 入输出。 2.设计用户的操作界面,主要实现数据的查询,添加,修改,删除基本功能。 二.需求分析 1.功能分析 在成绩管理系统中最主要的是对学生成绩的管理,管理主要包括:对学生成绩的录入,修改,删除,以及按不同的方式对学生成绩进行查询。系统中包括学生的

大数据结构(二叉树)家谱管理系统

数学与计算机学院 课程设计说明书 课程名称: 数据结构与算法课程设计 课程代码: 题目: 二叉树生成家谱 年级/专业/班: 学生姓名: 学号: 开始时间:2015 年12 月09 日 完成时间:2015 年12 月29 日课程设计成绩:

指导教师签名:年月日 目录(小三黑体,居中) 1 需求分析 (8) 1.1任务与分析 (8) 1.2测试数据 (9) 2 概要设计 (9) 2.1 ADT描述 (9) 2.2程序模块结构 (10) 2.3各功能模块 (12) 3 详细设计 (14) 3.1结构体定义 (14) 3.2 初始化 (15) 3.3 插入操作 (18) 3.4 查询操作 (22) 4 调试分析 (25) 5 用户使用说明 (26)

6 测试结果 (26) 结论 (30) 附录 (32) 参考文献 (33)

摘要 随着计算机科学技术、计算机产业的迅速发展,计算机的应用普及也在以惊人的速度发展,计算机应用已经深入到人类社会的各个领域。计算机的应用早已不限于科学计算,而更多地应用在信息处理方面。计算机可以存储的数据对象不再是纯粹的数值,而扩展到了字符、声音、图像、表格等各种各样的信息。对于信息的处理也不再是单纯的计算,而是一些如信息存储、信息检索等非数值的计算。那么,现实世界的各种数据信息怎样才能够存储到计算机的存之中,对存入计算机的数据信息怎样进行科学处理,这涉及计算机科学的信息表示和算法设计问题。为解决现实世界中某个复杂问题,总是希望设计一个高效适用的程序。这就需要解决怎样合理地组织数据、建立合适的数据结构,怎样设计适用的算法,以提高程序执行的时间效率和空间效率。“数据结构”就是在此背景下逐步形成、发展起来的。 在各种高级语言程序设计的基本训练中,解决某一实际问题的步骤一般是:分析实际问题;确定数学模型;编写程序;反复调试程序直至得到正确结果。所谓数学模型一般指具体的数学公式、方程式等,如牛顿迭代法解方程,各种级数的计算等。这属于数值计算的一类问题。而现实生活中,更多的是非数值计算问题,如手机中的通讯录,人们对它的操作主要是查找、增加、删除或者修改记录。再如,人们经常在互联网上查阅各种新闻,或查阅电子地图,人们可以在某城区地图上查找自己所需的街道或店铺,其操作主要是搜索和查询。下面

数据结构课程设计题目

数据结构课程设计 一、考核方法和容 根据课程设计过程中学生的学生态度、题目完成情况、课程设计报告书的质量和回答问题的情况等按照10%、40%、30%、20%加权综合打分。成绩评定实行优秀、良好、中等、及格和不及格五个等级。 评分标准: 优秀:答辩所有问题都能答出+报告良好 或报告良好+实现“提高部分”的功能; 良好:答辩所有问题都能答出+报告一般; 或报告一般+实现“提高部分”的功能; 中等:答辩大部分问题能答出+报告良好; 及格:答辩大部分问题能答出+报告一般; 以下四种,都不及格: 1)答辩几乎答不出问题; 2)报告几乎都是代码; 3)雷同部分达到60%; 4)课设报告与数据结构和c/c++关联不大。 课设报告的装订顺序如下: 任务书(签名,把题目要求贴在相应位置,注意下划线)-----目录(注意目录的格式,页码)-----1、设计任务(题目要求)-----2、需求分析(准备选用什么数据逻辑结构?数据元素包含哪些属性?需要哪些函数?为什么要这样设计?最后列出抽象数据类型定义)-----3、系统设计(设计实现抽象数据类型,包含选择什么物理存储方式?数据元素的结构体或类定义,以及各函数的设计思路,算法,程序流程图等)----4、编码实现(重要函数的实现代码)-----5、调试分析(选择多组测试数据、运行截图、结果分析)-----6、课设总结(心得体会)-----7、谢辞-----8、参考文献; 课设报告打印要求: B5纸打印,报告总页数控制在10—15页,报告中不能全是代码,报告中代码总量控制在3页。版式:无页眉,有页码,页码居中 字号:小四,单倍行距 字体:宋体+Times new Romar 截图:截图要配图的编号和图的题目,如:“图1 Insert函数流程图” 二、课程设计的题目 1.长整数的加法运算 2.通讯录管理系统的设计与实现——顺序表 3.广义表的应用 4.学生成绩管理系统的设计与实现 5.家谱管理系统的设计与实现

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

中南大学 《C语言程序设计》 课程设计报告课题名称:学生成绩管理系统 专业电气信息 学生姓名舒畅 班级0914 学号0909091424 指导教师穆帅 完成日期2010年7月10日 信息科学与工程学院

目录 1 课程设计的目的 (1) 2 设计内容与要求 (1) 3 主要技术指标及特点 (2) 3.1 登录界面显示 (2) 3.2登记学生资料 (4) 3.3保存学生资料 (5) 3.4 删除学生资料 (6) 3.5修改学生资料 (7) 3.6 查询学生资料 (8) 3.6统计学生资料(自加功能) (8) 3.8对学生资料进行排序 (9) 3.9程序主要代码 (9) 4 设计小结 (31)

成绩管理系统 1 课程设计的目的 1.加深对《C语言程序设计》课程知识的理解,掌握C语言应用程序的开发方法和步骤; 2.进一步掌握和利用C语言进行程设计的能力; 3.进一步理解和运用结构化程序设计的思想和方法; 4.初步掌握开发一个小型实用系统的基本方法; 5.学会调试一个较长程序的基本方法; 6.学会利用流程图或N-S图表示算法; 7.掌握书写程设计开发文档的能力(书写课程设计报告)。 2 设计内容与要求 设计内容:成绩管理系统 现有学生成绩信息,内容如下: 姓名学号 C 数学英语 shuchang 12 99 98 99 jiutian 32 87 68 87 changzi 33 98 89 99 jiutia 13 7 43 45 设计要求: ?封面(参见任务书最后一页) ?系统描述:分析和描述系统的基本要求和内容; ?功能模块结构:包括如何划分功能模块,各功能模块之间的结构图,以及各模块 的功能描述; ?数据结构设计:设计数据结构以满足系统的功能要求,并加以注释说明; ?主要模块的算法说明:即实现该模块的思路; ?运行结果:包括典型的界面、输入和输出数据等; ?总结:包括C语言程序设计实践中遇到的问题,解决问题的过程及体会、收获、

数据结构家谱课程设计报告

家谱管理系统 姓名:田鑫磊 学号:1514020421 (1)功能部分: 本程序共实现了6个功能分别为: 1.读出家谱并显示 2.确定指定成员在家族中的辈份 3.输出指定辈的所有成员 4.在家谱中添加新成员,并追加到文件中 5.输出指定家庭的所有成员 6. 退出本系统 (2)各功能的算法思想: 1.读出家谱并显示 存储结构用栈,按照先显示双亲,然后显示其所有孩子的顺序显示所有的家庭成员。 2.确定指定成员在家族中的辈份 用求成员所在的二叉树中的层数(按层遍历二叉树)来确定,这里采用的是递归算法3.输出指定辈的所有成员 此处定义了一个新的结构体类型(增加存储节点所在的层数),定义如下: struct { BTNode *q; int loc; //存结点所在的层数 }qu[10]; 并用一个队列来比较显示同辈分的所有成员。 4.在家谱中添加新成员,并追加到文件中 首先,输入一个新成员的名字; 然后,输入其双亲; 之后,再添加到整个存储二叉链表中。 然后,再将新的存储结构写回到文件中。 二叉链表的结点类型为:typedef struct node { ElemType data[10]; //存放成员的名字 struct node *child; //其孩子指针 struct node *brother; //其兄弟指针 }BTNode; 5.输出指定家庭的所有成员 首先,设一个栈,并设一个标记位,先置1; 然后,找到输入的要待显示的成员,将标记位置0; 再次,显示其孩子和兄弟,依次下去直到显示完其所有的亲戚。 6.退出本系统 通过一个输入字符q来控制,每完成一个功能,系统提示是否要继续操作:

数据结构家谱管理系统报告书

数据结构大作业说明文档 一、题目的选择 这次数据结构的大作业,我的选题是家谱管理系统的设计与实现。由于平时疏于编程——针对我得个人实际——我把主要的目标定位在完成家谱管理系统得基本要求。(基本要求大纲中有,就不浪费版面了) 二、设计的思路 接到这个题目,我的总体设计思路是先为程序搭建好一个结构框架,再跟据时间的宽裕程度和其它的要求逐步增强程序的性能。 关于IO的设计: 考虑到题目要求家谱信息以树形的形式一次读入内存,而个人的各种资料现在虽然条目不多,但随着程序的升级,以后可能变得越来越大。我把树形结构和个人信息记录的文档分为两个文件保存在外存中,一个文件串行化地记录家谱树的结构信息,保存少量个人信息作为识别标志;另一个文件保存完整的个人信息,所有的个人信息以线性记录的方式记录在其中。当程序运行要读入家谱结构时,只读入保存少量记录的文件并建立起树形结构。索引时,以树形中的少量信息为依据在另一个文件中找到全部的各人信息资料。 这样的好处主要有两点: 1. 由于树形结构是串行化记录于外存,一个节点记录多次,信息大量冗余,如果树形节点中保留全部信息,必将造成大量的空间浪费;只保存作为索引的少量信息在树形结构中,节约了空间。 2. 由于结构的精简,在家谱初始化时读入内存需要的时间相应减少,节约了装载时间。 这样做存在的问题: 每次执行修改,添加,删除,查询时都要直接访问外存来取得或写入数据。内外存访问上的巨大时间差的存在,使得进行这些操作相对来说并不显得很高效。 关于树形的结构: 在树形结构的选择上,根据实际中多子女的现象选择一般树,考虑到家谱中成员可能存在的不定成员数问题,抛弃了以数组为基础的一般树方案,决定用链表来实现。 树形结构的外存保存。为了提高效率,树形结构在程序初始化时由外存文件一次读入内存,此后不管插入还是修改,删除都不再对外存的树结构保存文件进行操作,只在内存中处理,程序退出时对外存树结构文件进行一次更新。也就是说,不管在程序运行中中对家谱结构进行多少种,多少次的操作,外存的树结构文件始终只会被程序访问两次。

C语言学生成绩管理系统实验报告

C语言学生成绩管理系统实验报告

HUNAN UNIVERSITY 程序设计训练 报告 题目学生成绩管理系统 学生姓名 学生学号 专业班级 指导老师 湖南大学程序设计训练报告

目录 一程序功能简介 (3) 二本人完成的主要工作 (3) 三设计方案 (3) 1)设计分析 (3) 2)模块的功能及程序分析 (4) 3)核心算法流程图 (7) 4)核心源程序模块 (8) 5)操作方法简

介 (8) 6)实验结果 (9) 8)设计体会 (11) 四附录 (12) 一、程序功能简介; 本程序作为一个学生成绩管理系统,用户能够首先使用管

理员模式初始化该系统。初始化完成之后,用户能够选择使用成绩记录人模式进入系统,对学生成绩进行记录。系统自动储存所记录的学生成绩,然后用户可根据不同需要来选择不同的功能来使用程序,其中包括成绩查询与增减,成绩排序,成绩分析等功能。 二、本人完成的主要工作; 程序设计分析,绘制程序流程图,写出大致结构算法以及各个核心算法模块,写出核心源程序,对源程序进行算法优化,对源代码进行多次试验验证其正确性,完成源代码的测试以及代码书写规范检测。 三、设计方案; 1)设计分析; 首先拿到这个题目,我就开始思考如何将这个看似简单的系统做的较为完善,而不是简简单单的学生成绩管理 系统,学生管理系统自然是这个题目的核心,从中发散思 维,我想到了几个比较细小的地方。例如:如何很好的将 程序中的功能步骤化,系统化以及便利化。基于C语言程 序的特点,我还联想到了对信息的保存问题。这些问题都 随着代码的一步一步完善而解决。管理员系统与查询系统 的选择很好的解决了这些问题。 2)模块的功能及程序说明;

相关文档
最新文档