职工记录表综合性实验报告_第1页
职工记录表综合性实验报告_第2页
职工记录表综合性实验报告_第3页
职工记录表综合性实验报告_第4页
职工记录表综合性实验报告_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、实验目的和要求1.理解链表的逻辑结构特性,深入掌握链式存储结构;2.掌握各种基本运算,实现存储空间动态管理;3.解决一些实际的复杂问题。二、实验内容本实验采用的数据是:typedef structint no;char name10;int depno;float salary;EmpType;typedef struct nodeEmpType data;struct node *next;EmpList;系统任务概述链式存储方式链表可以实现存储空间的动态管理。在链式存储中,每个存储节点不仅包含元素本身的信息(称为数据域),而且包含有远古之间逻辑关系的信息,即一个节点中包含有后继节点的地

2、址信息,这称为指针域,这样可以通过一个节点的指针域方便地找到后继节点的位置。职工信息链表的主要功能就是职工信息的保存,其中包括对信息的输入、显示、修改、删除、平均工、排序等。功能需求ReadFile(EmpList *&L):读取emp.dat文件中所有职工记录并建立带头节点的职工单链表L;InputEmp(EmpList *&L): 采用头插法插入节点,完成添加一个职工记录。Display(EmpList *L): 显示单链表中L所有职工记录。Sortno(EmpList *&L):采用直接插入法对单链表L按no递增有序排序。Sortdepno(EmpList *&L):采用直接插入法对单链

3、表L按depno递增有序排列。Sortsalary(EmpList *&L):采用直接插入法对单链表L按salary递增有序排列。DelAll(EmpList *&L):清除职工文件中全部记录并释放单链表L中除头节点外的所有节点。SaveFile(EmpList *L):将职工单链表L中的所有数据存入到职工文件emp.dat中。change(EmpList *&L):修改职工文件中的职工信息。通过输入要修改的职工编号,*p扫描要找的节点,再输入新的信息。aver(EmpList *L):求职工文件中职工的平均工资。总体设计mainaveragechangeSaveFileDelAllSorts

4、alarySortdepnoSortnoReadFileDisplayInputEmp详细设计exci1.cpp文件包含如下函数:ReadFile(EmpList *&L):读取emp.dat文件中所有职工记录并建立带头节点的职工单链表L,若存在emp.dat文件,则采用尾插法建立单链表L,使用尾指针始终指向当前链表的尾节点,将新节点插到当前链表的表尾上;若不存在该文件,则输出“不能创建emp.dat文件”,最后输出职工单链表的记录个数。InputEmp(EmpList *&L):采用头插法插入节点*p,创建新的存储空间,将添加的数据存放在新结点的数据域中,然后将新节点插入到当前链表的表头,完

5、成添加一个职工记录。Display(EmpList *L):逐一扫描链表的每个数据节点,并显示个节点的data域值,即显示单链表中L所有职工记录。Sortno(EmpList *&L):采用直接插入法对单链表L按no递增有序排序。先使p指向第2个数据节点,在表中通过比较找插入*p节点的前驱节点*pre,然后在*pre节点之后插入*p节点。然后扫描单链表L余下节点*p(直到p=NULL为止),实现递增有序排序。Sortdepno(EmpList *&L):采用直接插入法对单链表L按depno递增有序排列。Sortsalary(EmpList *&L):采用直接插入法对单链表L按salary递增有

6、序排列。DelAll(EmpList *&L):清除职工文件中全部记录并释放单链表L中除头节点外的所有节点。先使p指向L-next,pre指向*p的前驱节点,扫描单链表L,当p!=NULL时,释放*pre节点,pre、p再同步后移一个节点,直到p=NULL时,pre指向尾结点,并释放。此时,除头节点外单链表全部节点释放。SaveFile(EmpList *L):将职工单链表L中的所有数据存入到职工文件emp.dat中。可拓展功能如下:change(EmpList *&L):修改职工文件中的职工信息。通过输入要修改的职工编号,*p扫描要找的节点,再输入新的信息。aver(EmpList *L):

7、求职工文件中职工的平均工资。E-R图职工信息=姓名+编号+部门号+工资职工信息工资部门号姓名编号三、编写程序(详见文件夹)本实验采用顺序存储方式。void DelAll(EmpList *&L) / 全清void ReadFile(EmpList *&L) / 读取void SaveFile(EmpList *L) /保存void InputEmp(EmpList *&L) /输入void Sortno(EmpList *&L) / 排序void Sortdepno(EmpList *&L) /排序void Sortsalary(EmpList *&L) /排序void Display(EmpList *L) /显示void change(EmpList *&L) /修改void aver(EmpList *L,float i) /求平均工资四、实验结果及分析菜单界面.输入1.输入职工信息.输入2,显示职工信息输入3,按no排序 4.输入4,按depno排序输入5,按sa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论