数据结构程序设计说明文档

合集下载

数据结构说明书

数据结构说明书
{
p = Stack[top];
top--;
p = p -> RChild;
}
}
}
//用栈实现中序遍历
void InOrderTree(BiTree root)
{
int top = -1;
BiTNode* Stack[MAX_STACK_SIZE]={NULL};
BiTNode* p;
p = root;
遍历是二叉树上最重要的运算之一,是二叉树上进行其它运算之基础。
2.2遍历方案
2.2.1
从二叉树的递归定义可知,一棵非空的二叉树由根结点及左、右子树这三个基本部分组成。因此,在任一给定结点上,可以按某种次序执行三个操作:
(1)访问结点本身(N),
(2)遍历该结点的左子树(L),
(3)遍历该结点的右子树(R)。
③LRN:后序遍历(PostOrderTree l)
——访问结点的操作发生在遍历其左右子树之后。
2.3
2.3.1
二叉树的每个结点最多有两个孩子。用链接方式存储二叉树时,每个结点除了存储结点本身的数据外,还应设置两个指针域lchild和rchild,分别指向该结点的左孩子和右孩子。结点的结构为:
图1链式存储结点结构
{
printf("%c ", p -> data);
q = p;
top--;
p = NULL;
}
else
{
p = p -> RChild;
以上三种操作有六种执行次序:
NLR、LNR、LRN、NRL、RNL、RLN。
2.2.2
根据访问结点操作发生位置命名:
①NLR:前序遍历(亦称(PreOrderTree先序遍历))

程序设计与数据结构

程序设计与数据结构
i
确定记录在该 物理块中的成 员资格 的二进 制位串的位数
2019/6/5
山东大学管理学院 戚桂杰 姚云鸿
8
• 查找操作
查找关键字为K的记录,先计算出H(K),取出这一 二进制位串的前i位(设为k〞),并找到序号为k〞的 存储桶目录项。根据此目录项的指针找到物理块B。
• 插入操作
为了插入关键字为K的记录,先其所在的物理 块,若该物理块中有空闲空间,我们就把新记 录存入,插入操作完成。如果B中没有空闲空 间,那么根据数字i的不同有两种可能:
12
§ 5 索引顺序文件
一、ISAM
• 专为磁盘存取设计的文件组织方式,是一种静态索引结构。 • ISAM采用多级索引:主索引、柱面索引、磁道索引。
• 注意,分裂B可能解决不了问题,因为有可能块B中所有记 录将分配到由B分裂成的两个存储块的其中一块中。如果 这样,我们需要对仍太满的块用下一个更大的j值重复上述 操作。
2019/6/5
山东大学管理学院 戚桂杰 姚云鸿
10
再插入关键字值为1000的记录
插入关键字为0000、 0111的记录
2019/6/5
山东大学管理学院 戚桂杰 姚云鸿
11
§ 4 索引文件
• 索引文件的结构
索引区
文件名
查找
索引表 关键字 地址
记录1 记录2


记录N

块 块



数据区
稠密索引:每个数据记 录,在索引表里都有一 个索引项
• 二级索引、多级索引
稀疏索引:每一组 数据记录仅有一索
引项
2019/6/5
山东大学管理学院 戚桂杰 姚云鸿
K<Li时,执行high = i-1;

数据结构课程设计模板(DOC)

数据结构课程设计模板(DOC)

数据结构与算法课程设计报告题目:学院:专业班级:学生姓名:指导教师:2016 年06 月2 9日目录一、课程设计目的 (3)二、课程设计步骤 (3)三、课程设计内容 (5)四、课程设计报告...................................................................... 错误!未定义书签。

五、提交材料 (6)六、考核方式与评分标准 (7)七、参考文献 (9)附录1 齐齐哈尔大学软件工程系课程设计说明书(报告)撰写规范 (10)一、课程设计目的及要求《数据结构与算法分析》课程设计培养计算机专业的学生的算法程序设计能力。

通过上机实验,可以培养学生程序设计的方法和技巧,提高学生编制清晰、合理、可读性好的系统程序的能力,加深对数据结构课程和算法的理解。

使学生更好地掌握数据结构的基本概念、基本原理、及基本算法,具有分析算法、设计算法、构造和开发较复杂算法的基本能力。

要求学生能综合运用《数据结构与算法分析》的相关知识,培养学生上机解决一些与实际应用结合紧密的、规模较大的问题的能力,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握数据结构和算法设计技术,掌握分析实际问题的能力并提高C语言编程技巧,培养良好的编程风格。

课程设计要求独立完成,题目自选(参考题目见三,也可自拟),但需要老师确认(6月16日前定题),一人一题,要求程序有能采用交互式工作方式的界面进行功能的选择,只能用文件存储数据和处理数据不能使用数据库。

要求在教学周的第18周前完成。

二、课程设计步骤随着计算机性能的提高,它所面临的软件开发的复杂度也日趋增加。

然而,编制一个10000行的程序的难度绝不仅仅是一个5000行的程序的两倍,因此软件开发需要系统的方法。

一种常用的软件开发方法,是将软件开发过程分为分析、设计、实现和维护四个阶段。

虽然数据结构课程中的课程设计的复杂度远不如(从实际问题中提出来的)一个“真正的”软件,但为了培养一个软件工作者所应具备的科学工作的方法和作风,完成课程设计的应有如下的5个步骤:1.问题分析和任务定义通常,课程设计题目的陈述比较简洁,或者说是有模棱两可的含义。

数据结构设计文档

数据结构设计文档

数据结构设计文档一、简介数据结构是计算机科学中重要的基础概念之一,用于组织和管理数据的方式。

一个好的数据结构设计能够提高程序的运行效率和数据处理能力。

本文档将详细介绍一个数据结构的设计,并给出相应的实现和使用说明。

二、需求分析在进行数据结构设计之前,首先需要进行需求分析,明确设计的目的和功能。

下面是对该数据结构的需求分析:1. 存储能力:数据结构需要具备足够的存储能力,能够存储大量的数据。

2. 检索速度:数据结构需要提供快速的数据检索能力,使得用户能够高效地对数据进行查找。

3. 数据操作:数据结构需要支持常见的数据操作,如添加、删除、修改等,以满足用户对数据的需求。

4. 灵活性:数据结构需要具备一定的灵活性,适应不同类型的数据和应用场景。

5. 可扩展性:数据结构需要支持扩展,能够方便地向其中添加新的功能和特性。

三、设计方案根据需求分析的结果,我们可以设计并实现一个基于链表的数据结构。

链表是一种灵活的数据结构,能够满足以上需求,并且具备较高的效率。

链表可以分为单链表、双链表和循环链表等多种形式,根据具体的应用场景选择合适的链表结构。

在本设计中,我们选择使用双链表,以提供更高效的数据操作和检索能力。

以下是该数据结构的设计要点:1. 数据结构定义:首先,我们需要定义一个节点结构,包含数据域和指针域。

数据域用于存储具体的数据,指针域用于指向前一个节点和后一个节点。

2. 数据操作:接下来,我们需要实现数据的添加、删除和修改等操作。

添加数据时,创建一个新的节点,并将其插入合适的位置。

删除数据时,找到目标节点,并修改前后节点的指针指向。

修改数据时,找到目标节点并更新其数据域。

3. 数据检索:为了提高数据检索的效率,我们可以实现一些优化算法,如二分查找等。

另外,针对不同的应用场景,我们可以设计不同的索引结构,加速数据检索过程。

4. 扩展功能:根据实际需求,我们可以为该数据结构添加一些扩展功能,如排序、过滤和分页等,以满足用户更加复杂的数据处理需求。

数据结构设计说明书

数据结构设计说明书

[键入公司名称]设计说明书航空订票系统软件***班***2018/1/9[在此处键入文档摘要。

摘要通常为文档内容的简短概括。

在此处键入文档摘要。

摘要通常为文档内容的简短概括。

]设计说明书设计说明书 (1)1.程序系统的结构 (2)2.程序1 (标识符)设计说明 (2)1)程序描述 (2)2)功能 (2)3)性能 (2)4)输入项 (2)5)输出项 (2)6)算法 (3)7)流程逻辑 (3)8)接口 (3)9)存储分配 (3)10)注释设计 (3)11)限制条件 (3)12)测试计划 (3)13)尚未解决的问题 (3)3.程序2 (标识符)设计说明 (4)1 .程序系统的结构用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间的层次结构关系。

实现的功能:2.程序1 (标识符)设计说明从本节开始,逐个地给出各个层次中的每个程序的设计考虑。

以下给出的提纲是针对一般情况的。

对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。

1)程序描述给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如是否有返回值?等)。

2)功能说明该程序应具有的功能,可采用输入一处理一输出的形式。

3)性能说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。

4)输入项给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。

数量和频度、输入媒体(例如键盘,文件等、输入数据的来源和安全保密条住笺笺件等等。

5)输出项给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出(例如显示器,文件等、对输出图形及符号的说明、安全保密条件等等。

6)算法详细说明本程序所选用的算法,具体的计算公式和计算步骤。

数据结构课程设计说明书

数据结构课程设计说明书

车厢调度问题摘要:实现栈的基本操作,即实现类型。

程序对栈的任何存取,即更改,读取和状态判别等操作,必须借助于基本操作。

在操作过程中的任何状态下都有两种可能的操作:“入”“出”。

每个状态下处理问题的方法都是相同的,具有递归特性。

关键字:栈递归打印0.引言《数据结构》是计算机科学与技术、软件工程及相关学科的专业基础课,也是软件设计的技术基础。

《数据结构》课程的教学要求之一是训练学生进行复杂的程序设计的技能和培养良好程序设计的风格,其重要程度决不亚于理论知识的传授,因此课程设计环节是一个至关重要的环节,是训练学生从事工程科技的基本能力,是培养创新意识和创新能力的极为重要的环节。

基本要求如下:(1) 熟练掌握基本的数据结构;(2) 熟练掌握各种算法;(3) 运用高级语言编写质量高、风格好的应用程序。

1.需求分析(1)这个实验要求我用栈实现车厢调度.(2)车厢的个数是由用户输入的.(3)程序会自动给车厢进行从1到 n的编号.(4)用户输入车厢个数后,程序打印出所有可能的车厢出站顺序.2.数据结构设计在这个程序中存储结构是栈,对于栈的声明和定义如下:typedef struct SqStack{int *top; /*栈顶指针*/int *base;/*在栈构造之前和销毁之后.base的值为NULL*/int stacksize; /*当前分配的存储空间*/}SqStack; /*顺序栈的结构体声明和定义*/3.算法设计3.1 对算法的简单描述这个实验中, 要求用到栈. 实现栈的基本操作,即实现类型。

程序对栈的任何存取(即更改,读取和状态判别等操作)必须借助于基本操作。

在操作过程中的任何状态下都有两种可能的操作:“入”“出”。

每个状态下处理问题的方法都是相同的,具有递归特性。

栈实现是方便的无论如何调度,我们的操作都是入栈和出栈,设定入栈为1,出栈为-1,对n列车厢有2n次这样的操作,例如n=4,则有操作1111-1-1-1-1、1-11-11-11-1等.所以还要构造一个操作命令队列trainlist[]。

《数据结构课程设计》指导书

《数据结构课程设计》指导书

《数据结构》课程设计指导书沈阳理工大学.信息学院2013.11.1一.目的与意义软件设计能力对计算机专业的学生是很重要。

通过数据结构的学习,使学生对软件编程能力有一定的提高。

数据结构课程设计是锻炼学生在进一步掌握模块化、结构化程序设计的方法的同时,培养学生运用已学知识分析问题、解决问题及编写实用程序的能力,通过对线性化、层次化、网络化数据结构的了解进一步掌握自然数据的结构方式及组织方式,让学生深入体会存储在计算机中的数据及程序中如何运用数据实现编程。

主要目的如下:1.通过本课程设计使学生对面向对象的设计过程有初的认识,并对面向对象的高能语言的学习打下基础,2.通过不同类型的程序设计使学生进一步掌握数据的几种不同的组织和存储方式,为高级编程做准备,3.为专业课的深入学习和毕业设计打基础二.任务和要求分析每一组题目,按要求完成相应的题目:1.题目参照附录中《数据结构课程设计》题目选题。

2. 要求:1)对相应的题目进行算法设计2)编写源代码3)上机调试4)显示调试结果5)写出实验总结3.课程设计说明书设计完成后,将自己选定的题目按上述要求完成课程设计说明书。

课程设计说明书内容包含:题目、要求、初步设计(可以是流程图、功能模块图)、详细设计、程序代码、测试数据、运行结果、遇到的问题及总结几部分。

三.进度安排设计总学时为2周第一周:查阅资料、小组讨论、进行模块划分写出分析报告,画N-S结构化框图,编写程序清单,上机调试.第二周周四、五:验收(计算机机房),并将课程设计报告交上来.四.考核标准与成绩评定方式成绩评定有如下几项参考:1.初步设计内容的考核:是否有查阅资料能力?是否有设计思想?2.程序编码能力调试能力的考核:程序是否清晰、易读?在技算计上是否可独立完成程序的调试,是否熟练?3.说明书质量的考核:设计结构是否合理?叙述是否正确?方案是否可行?4.答辩:设计结果的调试能力,对自己设计是否熟练?5.出勤率极平时表现的考核:出勤超过2次不到者成绩为不及格。

程序设计课程设计文档

程序设计课程设计文档

程序设计课程设计文档一、教学目标本课程的教学目标是让学生掌握程序设计的基本概念、原理和方法,培养学生运用编程语言解决实际问题的能力。

具体来说,知识目标包括了解编程语言的基本语法、数据结构、算法和软件开发流程;技能目标包括能够熟练使用编程语言编写简单的应用程序,并具备一定的调试和优化能力;情感态度价值观目标包括培养学生对程序设计的兴趣,增强其创新意识和团队协作精神。

二、教学内容本课程的教学内容主要包括编程语言的基本语法、数据结构、算法和软件开发流程。

具体安排如下:1.编程语言基本语法:介绍编程语言的基本元素,如变量、数据类型、运算符、控制结构等。

2.数据结构:讲解常用的数据结构,如数组、链表、栈、队列、树等。

3.算法:介绍算法的概念和设计方法,分析常见算法的效率和适用场景。

4.软件开发流程:讲解软件开发的整个过程,包括需求分析、设计、编码、测试和维护等。

三、教学方法为了达到本课程的教学目标,我们将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。

具体应用如下:1.讲授法:用于讲解编程语言的基本语法、数据结构、算法和软件开发流程等理论知识。

2.讨论法:鼓励学生积极参与课堂讨论,提高其问题发现和解决问题的能力。

3.案例分析法:通过分析实际案例,让学生了解编程语言在实际应用中的方法和技巧。

4.实验法:安排实验室实践环节,让学生动手编写代码,培养其实际编程能力。

四、教学资源为了支持本课程的教学内容和教学方法,我们将准备以下教学资源:1.教材:选用权威、实用的编程语言教材,为学生提供系统的理论知识。

2.参考书:提供丰富的参考书籍,拓展学生的知识面。

3.多媒体资料:制作精美的PPT、教学视频等多媒体资料,提高课堂效果。

4.实验设备:保障实验室设施齐全,为学生提供实践编程的硬件支持。

五、教学评估本课程的教学评估将采用多元化评价方式,全面客观地评价学生的学习成果。

评估方式包括平时表现、作业、考试等。

具体来说:1.平时表现:评价学生在课堂上的参与程度、提问回答、小组讨论等,占总评的30%。

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

数据结构课题报告说明书数据结构课题报告指导教师:喝安全组长:肖清泉组员:朱智红、苏彦洲班级:计算机科学与技术(正大)专业:计算机科学与技术(帅范)时间:2015-01-20 ——2015-03-01课程设计题目:图书管理系统、八前图书馆管理系统或许众所周知,任何一个学校,有关单位似乎都需要这个类似的系统以此管理图书与读者借阅情况。

借此,我们合作也做出一个系统,尽管可能有些逊色,但感觉还是可以本系统总结了前人牛人的经验,剔除了其中的不足创造了自己独有的特色。

传承了牛人的优点,经过我们仔细的观摩,思考后创造此系统。

“书上得来终觉浅,要知此事需躬行。

”是呀!在没亲身动手去编写程序时,我总觉得我会了。

书本上的我都懂了。

可我真的懂了吗?答案是否定的。

在编写过程中,会出现很多的问题,而这些问题你是在书本上是接触不到的。

只有发现问题,解决问题,你才会有提高。

在过去人们对信息管理的主要方式是基于文本、表格等纸质的手工处理之上的,而用手工进行图书借阅管理存在多种弊端,其中包括图书过于繁多,包含很多的信息数据的管理对于图书借阅情况如:借阅天数、超过限定借阅时间等等的统计和核实,往往采用对借阅卡的人工查询进行,对借阅天数等用人工计算、手抄进行。

信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。

总的来说缺乏系统、规范的管理手段人们操控起来是很困难的;因此,使用电子化的管理手段将是大势所趋,建立一个图书管理系统也是图书管理部门提高工作效益的有效手段。

系统能够合理高效地利用图书资源,使得图书借阅更加的科学合理。

第一章需求分析与目的概述 --------- 041.1 需求分析概述---------------- 一041.2 系统功冃匕分析------------- 一04第二章系统设计---------- ---043.1 系统功能模块设计------------ ——043.1.1 信息录入--------------- 053.1.2 学生菜单-------------- 053.1.3 老师菜单-------------- 063.1.4 图书管理员菜单------------- 073.1.5 系统管理员菜单------------- 093.2 逻辑结构设计------------------ 093.2.1 系统结构体设计------------- 103.2.2 系统业务流程设计---------- 133.2.3 数据结构逻辑设计----------- 14 第三章系统的实施--------- 294.1 运行相关界面------------------ 294.1.1 登入界面--------------- 294.1.2 学生界面--------------- 314.1.3 教师界面---------------- 314.1.4 图书管理员界面324.1.5 系统管理员界面324.2 系统测试-------------------- 334.2.1 学生测试---------------- 334.2.2 教师测试---------------- 334.3.4 图书管理员测试344.4.4 系统管理员测试34 第四章总结与体会---------- 34第五章参考文献------------ 35第一章需求分析与目的概述1.1 需求分析概述我们组设计的是“图书管理系统”,主要是针对住宿学生个人信息的管理,适用对象主要是学校,以方便学校对住宿学生的管理。

包括学生的学号、姓名、性别、专业、班级等等。

在编写过程中主要运用C 语言的基本知识有:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的调用与使用)等。

•能够输入图书的综合情况和进行新书入库,对现有图书信息修改以及删除;•能够实现对读者档案进行查询和编辑管理;•能够实现罚款记录,查询功能;•能够实现借阅历史的查询功能。

1.2 系统功能分析•图书维护:为了保存好图书,读者的全部数据,本系统将对每一本图书和每位读者的信息进行管理。

系统维护包括对各种表记录的修改,删除,添加等操作。

•系统查询:可以对图书,借书信息,读者等相关信息进行查询。

•增添或删除学生等有关读者信息。

•其他操作:包括修改密码,添加读者等。

第二章系统设计3.1 系统功能模块设计3.1.1 信息录入(一)绘制函数表如下:(二)示意图如下:(1)3.1.2 学生菜单(一)绘制函数表如下:S *head6);void stude nt i nfo(STUDENT *r); 学生个人信息 调用学生函数实现查学生信息 voidstude nt_borrow(READERBOOKS *head6§TUDENT *r); 学生所借图书信息 实现借书情况voidstude nt_borrowagai n(READERBO OKS *head6,STUDENT *r); 学生网上续借 通过书名进行续借图书intstudent changepassword(STUDEN T *r);- 学生更改密码 通过学生更改原始密码voidprese nt_tushu 」n fo(BOOK*head1);查询图书信息 查询书馆图书信息(二)示意图如下:学生的菜单 学生改变密码学生查询图书退出系统(2)3.1.3老师菜单(一)绘制函数表如下:函数功能 操作简述void teacher_me nu(TEACHER *s,TEACHER *head3,FILE *fp3,BOOK*head1,READERBOOKS *head6,TEACHER *tea);教师清单显示教师菜单便于选择void teacher」nfo(TEACHER *s,TEACHER教师个人信息显示教师个人基本信息学生借书情況学生的验证学生功談学生信息*head3,FILE *fp3,BOOK *head1,READERBOOKS*head6,TEACHER *tea);void teacher_cha ngex in xi(TEACHER *s,TEACHER *head3,FILE *fp3,BOOK*head1,READERBOOKS *head6,TEACHER *tea); 教师更改自己信息调用教师信息函数,实现更改原有信息void teacher_cha ngepassword(TEACHER *s,TEACHER _*head3,FILE *fp3,BOOK*head1,READERBOOKS*head6,TEACHER *tea); 更改密码调用教师信息函数,实现更改原有密码void teacher_borowagi n( TEACHER*s,TEACHER *head3,FILE *fp3,BOOK*head1,READERBOOKS *head6,TEACHER*teaa);查询图书信息实现查询图书基本信息(二)示意图如下:教师的验证老师的菜单老师查询图书老师改变信息退出系銃(3)图书管理员菜单(一)绘制函数表如下:函数功能操作简述voidtushu_admi nistration_me nu(TUSHU_ADMINIST RATION *t,TUsHU_ADMINiSTRATION*head4,FILE *fp4,BOOK 图书管理员菜单为实现图书管理员清单3.1.4老师信息老师续倍者师改变密码老师功能老师惜书情况*head1,READERBOOKS * head6);voidtushu_admi nistration」nfo(TUSHU_ADMINISTR ATIO N *t); 显示图书管理员信息实现该职工信息void look_reader_borrow(READERBOOKS*head6);查看读者借阅信息用于查询读者借阅情况inttushu_admi nistratio n_ cha ngepassword(TUSHU_ADMIN I STRATION *t)~ -图书管理员更改密码调用函数实现更改自己密码void help_reader_borrow_le nd(READERBOOKS*head6,BOOK *head1);为读者借还书籍实现读者借还书籍void prese nt_tushu」n fo(BOOK *head1); 显示图书信息通过链表查询图书信息,便于记录void book_i n(BOOK *head1); 新书入库管理新书并入库void book out(BOOK *head1); 旧书出库管理新书并入库(二)示意图如下:查询个人的信更改密码管理员功能帮读者借还书查读者借阅情* 查询书馆书信(4)3.1.5系统管理员菜单(一)绘制函数表如下: ■F O_|F新图书米编入图书出库退出系统函数功能操作简述void xiton g_admi nistratio n_men u(STUDENT*head2,TEACHER*head3,TUSHU ADMINISTRATION系统管理员菜单显示管理员菜单*head4,XIT0NG_ADMINISTRATI0N *head5,FILE *fp5,XIT0NG_ADMINISTRATI0N *y); voidxito ng_admi nistration 」nfo(XITONG_ADMINIS TRATION *y); 管理员基本信息调用函数实现管理员信息查 询intxito ng_admi nistratio n_cha ngepassword(XITO NG ADMINISTRATION *y);管理员修改密码实现管理员的自己密码void xito ng_admi nistratio n_fin d_reader(STUDENT*head2,TEACHER*head3,TUSHU_ADMINISTRATION *head4);查看读者和职工 查用户的信息便于登记和保 存voidxitong administration add or delete reade r(STUDENT*head2,TEACHER*head3,TUSHU ADMINISTRATION *head4);增删读者或职工信息调用相关函数删除已不存在 的用户和新添用户(二)示意图如下:3.2 逻辑结构设计系统管理员功能/* 结构体如下,存储图书,学生教师,管理员等信息 */ typedef structdate1{ int year; int mouth; int day; }DATE1;日期 /* 图书结构体 */ typedef struct book{char category[N];// 书的类别int every_leibie_shu_totalcount;// 每一类 别不同书的样式总数DATE1 books_in_library[N];// 书入库时间char tushubianhao[N][N];// 书的编号char publishing_company[N][N];// 书的出版3.2.1系统结构体设计char shuming[N][N];// int totalCount[N];// int leftCount[N];// double price[N];// char author[N][N];//书的名字 该书共有多少本 剩余本数 书的价格 书的作者struct book *next1;}BOOK;/* 学生结构体*/typedef struct student{char studentID[N];char studentName[N];char password[N];char studentSex[N];char Tell[N];char xueyuan[N];char major[N];char Class[N];char student_email[N];struct student *next2;}STUDENT;/* 教师结构体*/typedef struct teacher{char teacherID[N];char teacherName[N];char teacherPassword[N];char teacherSex[N];char teacherTell[N];char teacherPosition[N];char teacher_email[N];struct teachar *next3;}TEACHER;/* 图书管理员结构体*/ typedef structtushu_administration{char tushu_administrationID[N];char tushu_administrationName[N];char tushu_administrationPassword[N];char tushu_administrationSex[N];char tushu_administrationTell[N];char tushu_administration_email[N];struct tushu_administration *next4;}TUSHU_ADMINISTRATION;/* 系统管理员结构体*/typedef struct xitong_administration{ char xitong_administrationID[N];char xitong_administrationName[N];char xitong_administrationPassword[N];char xitong_administrationSex[N];char xitong_administrationTell[N]; struct xitong_administration *next5;}XITONG_ADMINISTRATION;typedef struct date2{int year;int mouth;int day;}DATE2;/* 读者结构体*/typedef struct readerBooks{char readerID[N];// 读者IDint total_bookCount;// 共借多少本DATE2 borrowed_BooksTime[N];// 借书的日期,二次借记第二次的DATE2 Return_BooksTime[N];// 还书的日期char readerBooks[N][N];// 借的图书名字intreader_BooksTimes[N];// 该书被本人连续借的次数struct readerBooks *next6;}READERBOOKS;3.2.2 系统业务流程设计(一)首先,设计登入界面,供用户登入;(二)设计用户菜单便于用户登入后可选择;(三)实现各菜单功能供用户实现各功能;(四)退出系统。

相关文档
最新文档