数据结构简单的职工管理系统内容摘要:

qnext=p。 snext=q。 p=q。 q=pnext。 } flag=1。 } } 排序算法流程图如图 5 所示: 显 示 排 序 菜 单链 表 是 否 为空选 择 操 作对 工 作 日期 排 序对 出 生 日期 排 序退 出 排序 系 统对 性 别排 序无 职 工信 息是否选 0选 1选 2选 3选 除 上 述 操 作 的 任 意 操 作 图 5 排 序算法程序流程图职工管理系统 第四章 系统实现 9 第四章 系统实现 测试是使用人工或者自动手段来运行或测试某个系统的过程 ,其目的在于检验是否满足规定的需求或弄清预期结果与实际结果之间的差别 . 系统运行结果: ( 1)进入职工管理系统,如图 6 所示: 图 6 主菜单选择界面 ( 2)新增一职工信息并查询全部职工信息,如图 8 所示: 图 7 新增职工信息界面 职工管理系统 第四章 系统实现 10 图 8 查询职工信息界面 ( 3)修改职工信息并与前面信息对照,如图 9 所示: 图 9 修改职工信息界面 ( 4)退出系统,如图 10 所示:选择 0,退出职工管理系统。 图 10 退出职工管理系统职工管理系统 第五章 课程设计总结 11 第五章 课程设计总结 本次课程设计是围绕数据结构进行。 根据问题描述可知,需要解决问题并不复杂,整个问题只需要实现一个职工管理系统功能,那就是在这个系统中实现对职工信息的插入、删除、查询、排序、修改以及保存。 但是,为了实现该功能,却需要优秀的算法和数据结构以保证实现的时间和空间效率。 把职工信息存储在一个单链表中,利用指针实现对职工信息的各项基本操作。 虽然设计的程序完成了题目描述所需要实现的功能,但是仍然存在不 如 人意的地方。 那就是可以排序上面多设计几个算法。 实现多角度排序。 在这个系统中没有职工序号的信息,所以允许职工姓名相同,在很大程度上面,可能是的职工信息重复。 经过这次数据结构课程设计,我们不仅及时巩固的了数据结构、算法、以及软件工程的知识,并 明白 数据结构和算法对于程序时间和空间性能的影响 , 及软件工程提供的开发流程和工具对于实现特定功能程序的重要意义。 当我们面对一个实际问题,应该迅速根据问题性质和特点抽象成特定的数据结构,当然每个问题都有可能能够抽象成多种数据结构,每种数据结构适应于不同的算法。 因此应该综合考虑这 样的数据结构、算法以及它们的空间和时间效率,然后从中选择一个作为实现程序的基础。 此外,对程序的测试应该要仔细,根据模块的特点和测试阶段,采用各种软件测试方法对程序进行测试,确保各个模块的正确性和完整性,最后集成起来测试其是否正确和完整地实现了问题描述中要求的功能。 职工管理系统 参考文献 12 参考文献 [1]李云清,杨庆红,揭安全 .数据结构( C 语言版) [M].北京 :人民邮电大学出版社 , [2]潘彦 .算法设计与分析基础 [M].北京 :清华大学出版社 , [3]肖梦强,曲秀清 .软件工 程 —— 原理、方法与应用 [M].北京 :中国水利水电出版社 , [4] 吕凤翥 .C++语言程序设计(第 2 版) [M].北京 :电子工业出版社 , [5] 严蔚敏,吴伟民 .数据结构( C 语言版) [M].北京 :清华大学出版社 , 职工管理系统 附录 13 附录 include string include iostream include fstream include iomanip include include include include using namespace std。 struct Employee {//声明职工的结构作为链表节点。 //数据域 string m_Code。 string m_Name。 unsigned short int m_Year。 string m_Sex。 string m_Post。 string m_Department。 unsigned int m_Wage。 //链表节点的指针 域 struct Employee* Next。 }。 //个人习惯:取别名 typedef struct Employee Node。 typedef Node* Link。 //函数声明 Link Create(Link Head)。 void Release(Link Head)。 Link Add(Link Head)。 bool Search(Link Head)。 Link Search_Unique(Link Head)。 void Display_List(Link Head)。 void Display_Node(Link pNode)。 Link Modify(Link Head)。 职工管理系统 附录 14 Link Del(Link Head)。 void Save_ByFile(Link Head,fstreamamp。 ofile)。 Link Sort(Link Head)。 //函数实现 Link Create(Link Head) {//创建一个带头节点的空链表。 Head=(Link)new Node。 if(!Head) { cout分配内存失败。 endl。 return NULL。 } Headm_Code=。 Headm_Name=。 Headm_Year=0。 Headm_Sex=。 Headm_Post=。 Headm_Department=。 Headm_Wage=0。 HeadNext=NULL。 return Head。 } void Release(Link Head) {//释放链表。 Link ptr。 //声明一个操作用的指针。 while(Head!=NULL) { ptr=Head。 Head=HeadNext。 delete ptr。 //释放节点资源。 } } Link Add(Link Head) {//前插法添加数据。 Link pNew。 // 声明一个新节点。 char again。 string code,name,sex,post,department。 unsigned short int ye。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。