数据结构程序设计说明文档
- 格式:docx
- 大小:315.60 KB
- 文档页数:43
《数据结构》课程设计任务书
计算机与通信学院
2012-5
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
湖南工业大学计算机与通信学院《数据结构》课程设计任务书
湖南工业大学计算机与通信学院《数据结构》课程设计任务书
湖南工业大学计算机与通信学院《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
湖南工业大学计算机与通信学院《数据结构》课程设计任务书
湖南工业大学计算机与通信学院《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书
《数据结构》课程设计任务书。
数据结构与算法课程设计报告题目:学院:专业班级:学生姓名:指导教师: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[]。
程序设计课程设计文档一、教学目标本课程的教学目标是让学生掌握程序设计的基本概念、原理和方法,培养学生运用编程语言解决实际问题的能力。
具体来说,知识目标包括了解编程语言的基本语法、数据结构、算法和软件开发流程;技能目标包括能够熟练使用编程语言编写简单的应用程序,并具备一定的调试和优化能力;情感态度价值观目标包括培养学生对程序设计的兴趣,增强其创新意识和团队协作精神。
二、教学内容本课程的教学内容主要包括编程语言的基本语法、数据结构、算法和软件开发流程。
具体安排如下:1.编程语言基本语法:介绍编程语言的基本元素,如变量、数据类型、运算符、控制结构等。
2.数据结构:讲解常用的数据结构,如数组、链表、栈、队列、树等。
3.算法:介绍算法的概念和设计方法,分析常见算法的效率和适用场景。
4.软件开发流程:讲解软件开发的整个过程,包括需求分析、设计、编码、测试和维护等。
三、教学方法为了达到本课程的教学目标,我们将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。
具体应用如下:1.讲授法:用于讲解编程语言的基本语法、数据结构、算法和软件开发流程等理论知识。
2.讨论法:鼓励学生积极参与课堂讨论,提高其问题发现和解决问题的能力。
3.案例分析法:通过分析实际案例,让学生了解编程语言在实际应用中的方法和技巧。
4.实验法:安排实验室实践环节,让学生动手编写代码,培养其实际编程能力。
四、教学资源为了支持本课程的教学内容和教学方法,我们将准备以下教学资源:1.教材:选用权威、实用的编程语言教材,为学生提供系统的理论知识。
2.参考书:提供丰富的参考书籍,拓展学生的知识面。
3.多媒体资料:制作精美的PPT、教学视频等多媒体资料,提高课堂效果。
4.实验设备:保障实验室设施齐全,为学生提供实践编程的硬件支持。
五、教学评估本课程的教学评估将采用多元化评价方式,全面客观地评价学生的学习成果。
评估方式包括平时表现、作业、考试等。
具体来说:1.平时表现:评价学生在课堂上的参与程度、提问回答、小组讨论等,占总评的30%。
程序设计说明书一、引言程序设计说明书是指导开发人员进行软件开发的重要文档,旨在提供清晰明确的指导,使开发人员能够准确理解需求,并以适当的方式实现软件功能。
本文将详细介绍XXX程序的设计要求和开发流程。
二、需求分析在进行程序设计之前,我们首先需要进行需求分析,明确软件的功能和实现目标。
本程序的主要功能包括xxxx。
为了确保程序的稳定性和可靠性,在需求分析阶段我们还需要考虑用户交互、数据处理等方面的具体需求。
三、程序设计框架在程序设计过程中,良好的设计框架可以提高开发效率和软件质量。
本程序采用MVC(Model-View-Controller)设计模式,将业务逻辑、界面展示和用户交互分离,以提高代码的可复用性和维护性。
1. 模型(Model)层该层负责数据管理和处理,包括数据库设计、数据的增删改查、以及其他与数据操作相关的功能。
对于本程序,我们将使用xxx数据库存储数据,并设计相应的表结构来满足程序的需求。
2. 视图(View)层视图层负责程序的展示和用户交互,包括界面设计、用户输入验证、界面布局等。
为了提高用户体验,我们将采用响应式设计,使界面在不同设备上都能良好显示。
3. 控制器(Controller)层控制器层负责根据用户的请求和视图层的交互,调用相应的模型层进行业务处理,并将结果返回给视图层。
控制器还负责路由配置、异常处理以及其他与程序流程控制相关的功能。
四、关键算法和实现细节在软件开发中,关键算法和实现细节往往对程序的性能和功能起到决定性的作用。
为了满足本程序的需求,以下是我们要特别关注的几个方面:1. 数据加密和安全性由于本程序涉及用户隐私信息的处理,数据的加密和安全性是非常重要的。
我们将采用xxx加密算法对用户敏感信息进行加密,并确保数据库连接的安全性。
2. 大数据处理本程序可能会涉及大量数据的处理,例如大规模数据集的查询和分析。
为了提高程序的运行效率,我们将采用合适的数据结构和算法,以及并行计算等技术来优化处理速度。
数据结构课程设计报告
题目:
组长:
成员:
成员:
成员:
成员:
成员:
指导教师:
年月日
一、课程设计题目:
二、问题定义:(由教师指定)
三、需求分析
以明确的无歧义的陈述说明课程设计的任务,强调的是程序要做什么?并明确规定:
1、输入的形式和输入值的范围;
2、输出的形式;
3、程序所能达到的功能;
4、算法涉及的基本理论分析:比如对文件压缩,算法用到了
Huffman树,就要从理论上对文件压缩的几种方式、Huffman树的定义、Huffman编码的原理、解码的过程等进行分析。
5、题目研究和实现的价值。
四、算法设计
1、概要设计
阐述说明本算法中用到的所有数据结构的定义及其含义、主程序的流程以及各程序模块之间的层次(调用)关系。
3.详细设计
(1)实现概要设计中定义的所有数据类型;
(2)所有函数的接口描述;
(3)所有函数的算法描述(只需要写出伪码算法);
(3)对主程序和其他模块也都需要写出伪码算法(伪码算法达到的详细程度建议为:按照伪码算法可以在计算机键盘直接输入高级程序设计语言程序),可采用流程图、N – S 图或PAD图进行描述
(4)画出函数的调用关系图。
五、算法实现
以附件形式
六、软件测试
这里的测试主要是基于功能的黑盒测试,所以首先提出测试的功能点,然后给出测试数据(包括正确的输入及其输出结果和含有错误的输入及其输出结果。
)
要求在附件里给出软件的基本数据和测试数据。
七、技术讨论(可选)
八、收获与体会
九、软件运行的部分截图及说明。
上海应用技术学院课程设计报告课程名称《数据结构课程设计》设计题目猴子选大王;建立二叉树;各种排序;有序表的合并;成绩管理系统;院系计算机科学与信息工程专业计算机科学与技术班级姓名学号指导教师日期一.目的与要求1. 巩固和加深对常见数据结构的理解和掌握2. 掌握基于数据结构进行算法设计的基本方法3. 掌握用高级语言实现算法的基本技能4. 掌握书写程序设计说明文档的能力5. 提高运用数据结构知识及高级语言解决非数值实际问题的能力表。
3、输出功能:void print(LinkList *head);通过一个while的循环控制语句,在指针p!=NULL时,完成全部学生记录的显示。
知道不满足循环语句,程序再次回到菜单选择功能界面。
4、删除功能:LinkList *Delete(LinkList *head);按想要删除的学生的学号首先进行查找,通过指针所指向结点的下移来完成,如果找到该记录,则完成前后结点的连接,同时对以查找到的结点进行空间的释放,最后完成对某个学生记录进行删除,并重新存储。
5、插入功能:LinkList *Insert(LinkList *head);输入你想插入的位置,通过指针所指向结点的下移,找到该位置,将该新的学生记录插入到该结点,并对该结点后面的指针下移。
链表长度加一,重新存储。
(5) 程序的输入与输出描述输入:调用LinkList *create()函数,输入学生的姓名、学号、三门功课的成绩;输出:调用void print(LinkList *head)函数,输出学生的记录。
(6) 程序测试主菜单:成绩管理系统的主界面:学生成绩记录的输入:输出学生成绩记录:学生成绩记录的删除(删除学号是1101的学生记录)插入新的学生成绩记录(插入学号为1103的学生记录)(7) 尚未解决的问题或改进方向尚未解决的问题:该成绩管理系统还存在不少缺陷,而且它提供的功能也是有限的,只能实现学生成绩的输入、输出、删除、插入。
数据结构课题报告说明书数据结构课题报告指导教师:揭安全组长:肖清泉组员:朱智红、苏彦洲班级:计算机科学与技术(正大)专业:计算机科学与技术(师范)时间: 2015-01-20——2015-03-01 课程设计题目:图书管理系统图书馆管理系统或许众所周知,任何一个学校,有关单位似乎都需要这个类似的系统以此管理图书与读者借阅情况。
借此,我们合作也做出一个系统,尽管可能有些逊色,但感觉还是可以。
本系统总结了前人牛人的经验,剔除了其中的不足创造了自己独有的特色。
传承了牛人的优点,经过我们仔细的观摩,思考后创造此系统。
“书上得来终觉浅,要知此事需躬行。
”是呀!在没亲身动手去编写程序时,我总觉得我会了。
书本上的我都懂了。
可我真的懂了吗?答案是否定的。
在编写过程中,会出现很多的问题,而这些问题你是在书本上是接触不到的。
只有发现问题,解决问题,你才会有提高。
在过去人们对信息管理的主要方式是基于文本、表格等纸质的手工处理之上的,而用手工进行图书借阅管理存在多种弊端,其中包括图书过于繁多,包含很多的信息数据的管理对于图书借阅情况如:借阅天数、超过限定借阅时间等等的统计和核实,往往采用对借阅卡的人工查询进行,对借阅天数等用人工计算、手抄进行。
信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。
总的来说缺乏系统、规范的管理手段人们操控起来是很困难的;因此,使用电子化的管理手段将是大势所趋,建立一个图书管理系统也是图书管理部门提高工作效益的有效手段。
系统能够合理高效地利用图书资源,使得图书借阅更加的科学合理。
第一章需求分析与目的概述 ---------- 041.1 需求分析概述----------------------- 041.2 系统功能分析----------------------- 04 第二章系统设计----------------------043.1 系统功能模块设计-------------------04 3.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 信息录入(一)绘制函数表如下:函数功能操作简述BOOK *creat_book(); 图书录入将图书信息采用链表存储STUDENT *creat_student(); 学生录入将学生信息存储TEACHER *creat_teacher(); 老师录入将老师信息存储TUSHU_ADMINISTRATION图书管理员录入将图书管理员信息存储*creat_tushu_administration();XITONG_ADMINISTRATIO系统管理员录入将系统管理员信息存储N*creat_xitong_administration();READERBOOKS读者录入将读者信息存储*creat_readerbooks();(二)示意图如下:Array(1)3.1.2 学生菜单(一)绘制函数表如下:(二)示意图如下:(2)3.1.3 老师菜单(一)绘制函数表如下:函数功能操作简述void teacher_menu(TEACHER*s,TEACHER *head3,FILE *fp3,BOOK*head1,READERBOOKS*head6,TEACHER *tea);教师清单显示教师菜单便于选择void teacher_info(TEACHER *s,TEACHER*head3,FILE *fp3,BOOK*head1,READERBOOKS*head6,TEACHER *tea);教师个人信息显示教师个人基本信息void teacher_changexinxi(TEACHER *s,TEACHER *head3,FILE *fp3,BOOK *head1,READERBOOKS 教师更改自己信息调用教师信息函数,实现更改原有信息*head6,TEACHER *tea);void teacher_changepassword(TEACHER *s,TEACHER *head3,FILE *fp3,BOOK *head1,READERBOOKS*head6,TEACHER *tea);更改密码调用教师信息函数,实现更改原有密码void teacher_borowagin(TEACHER*s,TEACHER *head3,FILE *fp3,BOOK*head1,READERBOOKS*head6,TEACHER *teaa);查询图书信息实现查询图书基本信息(3)3.1.4 图书管理员菜单(一)绘制函数表如下:函数功能操作简述(4)3.1.5系统管理员菜单(一)绘制函数表如下:函数功能操作简述void xitong_administration_menu(STUDENT*head2,TEACHER*head3,TUSHU_ADMINISTRATION*head4,XITONG_ADMINISTRATION *head5,FILE*fp5,XITONG_ADMINISTRATION *y);系统管理员菜单显示管理员菜单voidxitong_administration_info(XITONG_ADMINIS TRATION *y);管理员基本信息调用函数实现管理员信息查询intxitong_administration_changepassword(XITO NG_ADMINISTRATION *y); 管理员修改密码实现管理员的自己密码3.2 逻辑结构设计3.2.1 系统结构体设计/*结构体如下,存储图书,学生教师,管理员等信息*/ typedef struct date1{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 shuming[N][N];//书的名字int totalCount[N];//该书共有多少本int leftCount[N];//剩余本数double price[N];//书的价格char author[N][N];//书的作者char publishing_company[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 struct tushu_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];//借的图书名字int reader_BooksTimes[N];//该书被本人连续借的次数struct readerBooks *next6;}READERBOOKS;3.2.2 系统业务流程设计(一)首先,设计登入界面,供用户登入;(二)设计用户菜单便于用户登入后可选择;(三)实现各菜单功能供用户实现各功能;(四)退出系统。