用简单链表管理员工信息

用简单链表管理员工信息

ID:15305080

大小:225.50 KB

页数:13页

时间:2018-08-02

用简单链表管理员工信息_第1页
用简单链表管理员工信息_第2页
用简单链表管理员工信息_第3页
用简单链表管理员工信息_第4页
用简单链表管理员工信息_第5页
资源描述:

《用简单链表管理员工信息》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、沈阳航空工业学院课程设计学号200604021080班级6402103姓名董洪杰指导教师刘成2007年9月18日13沈阳航空工业学院课程设计任务书院系:电子专业:电子信息工程班级:6402103一、课程设计题目:用简单链表管理员工信息二、课程设计工作自2007年9月14日,共计一周,20学时。三、课程设计内容:用C语言编写软件完成以下任务:从键盘输入4位员工的信息到动态创建的线形单向链表中;然后通过访问该链表,将其中的所有节点中的员工信息存放到文件myfile.dat中。每位员工信息如下:杜永宁软件部5760王传华销售部3920殷泳

2、培训部2940杨柳青软件部5440四、课程设计要求:1.程序质量:l贯彻结构化的程序设计思想。l用户界面友好,功能明确,操作方便。l用户界面的菜单至少应包括“输入员工信息”,“显示员工信息”,“保存员工信息”,“退出”4项。l代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书:课程结束后,上交课程设计说明书(打印稿和电子稿),其内容如下:l封面l课程设计任务书l目录l需求分析(分析题目的要求)l程序流程图(总体流程图和主要功能模块流程图)l核心技术的实现说明及相应程序段l个人总结l参考资料l源程序及适当的注释指导教

3、师:_刘成_______学生签名:_董洪杰_______13目录一、需求分析4二、程序流程图5三、核心技术的实现说明及相应程序段7四、个人总结10五、参考文献10六、源程序1113一、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为二个模块,其中每一个模块对应一个函数,他们的功能分别是输入员工信息函数和显示员工信息的函数,具体如下:1.结构体,分别输入员工的姓名、所在部门和编号信息。2.创建两个自定义子函数,用于输入和显示。3.创建主函数,通过主函数实现对子函数的调用执行程序设计任务4..退出函数,实现终止程序的执行

4、.退出函数属于附加函数,可以在一次运行当中循环执行所有的功能,并根据需要最终终止程序的执行。每一个员工的纪录都包含姓名、所在部门、编号、三个信息。在程序当中,将员工信息类型定义为结构体类型,添加的员工信息直接写入E盘的myfile.dat文件中,现实函数每次对员工纪录的访问,其数据来源都是myfile.dat文件。13二、程序流程图1.总体设计132.模块设计(1)插入结点的函数InsertList13(2)显示员工数据Print三、核心技术的实现说明及相应程序段本程序主要有一个定义的结构体,一个主函数,函数InsertList和函

5、数Print构成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。在这些函数当中,InsertList和Print是程序中较为核心的部分,下面进行分别说明。131.添加数据的函数InsertList对于员工信息的添加,这里应用了InsertList函数。(1)、用于插入结点,定义了文件指针,打开员工管理系统的文件。(2)、输入员工的姓名,所在部门,编号,当姓名重复时则不能打开文件,也就不可输入信息,当不重复时可以继续输入新的员工信息。具体的程序段如下:structemployee*InsertList(structemplo

6、yee*p,conststructemployee*in){structemployee*newPtr=NULL;if(!p

7、

8、strcmp(p->name,in->name)>0){if((newPtr=(structemployee*)malloc(sizeof(structemployee)))==NULL)exit(0);/*如果不能创建一个员工的信息,就退出*/*newPtr=*in;newPtr->next=p;p=newPtr;}elseif(strcmp(p->name,in->name)<0)p->next=Ins

9、ertList(p->next,in);returnp;}2.PrintPrint的作用在于显示出以入的员工信息,当进入系统后通过选择自动显示所有员工的信息。Out先指向第一个结点,爱输出完第一个结点之后,out指向第二个结点。程序中out=->next的作用是将out原来所指向的结点中next的值赋给out,而out->next的值就是第二个结点的起始地址。将它赋给out,就是使out指向第二个结点。具体函数段如下,voidPrint(FILE*stream,conststructemployee*out){printf("***

10、***********************************************************************");13printf("%-30s%-30s%-30s","Name","Depa

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。