版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、沈阳 航空工业学院课程设计学号 200604021116班级6402104姓名段伟指导:牧师刘成2007 年 9 月 15 e)沈阳航空工业学院课程设计任务书院系:电子专业:电子信息工程班级:6402104学号:200604021116 题目:用简单链表管理员工信息一、课程设计时间2007年9月10日至2007年9月14日,共计1周,20学时。二、课程设计内容用c语言编写软件完成以下任务:从键盘输入4位员工的信息到动态创建的线性单-向链表中;然后通过访问该链表,将其屮的所有节点屮的员工信息存放到文件myfile.dat中。每位员工的信息如下: 杜永宁软件部 王传华销售部 殷泳培训部 杨柳青软件
2、部5760392029405440 o三、课程设计要求1.程序质量:贯彻结构化的程序设计思想。用户界面友好,功能明确,操作方便。用户界面小的菜单至少应包括“输入员工信息”、“显示员工信息”、“保存员工信息”、“退出” 4项。代码应适当缩进,并给出必耍的注释,以增强程序的町读性。2.课程设计说明书:课程结束后,上交课程设计说明帖和源程序。课程设计说明书的格 式和内容参见提供的模板。四、指导教师和学生签字指导教师: 学生签名:五、成绩:六、教师评语:目录一、需求分析1二、程序流程图2三、核心技术的实现说明及相应程序段5四、个人总结8五、参考文献9六、源程序9、需求分析经过对程序设计题目的分析可知,
3、整个程序的设计实 现大致分为三个模块,其中每一个模块对应一个函数,他 们的功能分别是:输入信息creat();显示信息print();保 存信息save().1、creat()主要实现输入员工信息功能;2、print()实现的功能是把输入的信息显示出来;3、save()实现的功能是保存输入的信息。除上面介绍的功能之外,程序还具有退出功能,町以 在程序的一次运行当中循环执行所有的功能,并根据需要 终止程序的执行。每一个员工记录都包含姓名,部门以及编号,在程序当中,将学生记录类型定义为结构体类型。二、程序流程图1、程序总体结构图2、具体功能框图(1)输入信息函数开辟一个新节点,并使pl,p2指向它
4、读入一个员工数拯给pl所指的结点head二null, n=0当读入的plenum不是零n =n+ln=l?真假head=pl(把pl所指的结点作为 第个结点)p2->next=pl(把pl所指的结点连接 到表尾)p2=pl(p2移到表尾)再开辟一个新结点,使pl指向它读入一个员工数据给pl所指结点表尾结点的指针变量置null图2 creat()函数(2)显示信息函数p二head,使p指向第一个结点输出p所指的结点p指向下一个结点当p指向的不是表尾图3 print()函数(3)保存信息函数打开文件名为“myfile”的文件(fopen() 写入员工信息(fwrite()关闭文件(fclos
5、e()图4 save()函数三、核心技术的实现说明及相应程序段本程序主要由四个白定义函数(包括一个菜单函数) 和一个主函数组成,其中主函数以菜单的形式调用其他函 数来实现要求的所有功能。在这些函数当中,输入信息函 数、显示信息函数和保存信息函数是程序中较为核心的部 分,下面分别进行说明。1、输入信息函数(建立链表)建立链表即一个一个的开辟结点和输入各结点数据并 建立起前后相链的关系以姓名,部门,编号的格式输入 员工信息:(先建立一个员工信息的结构体)struct empchar name20; char dep20; int num; struct emp *next;/*定义函数,此函数 带
6、回一个指向链表 头的指针引int n;struct emp creat(void)struct emp *head;struct emp *pl,*p2;n=0;pl=p2=(struct emp )malloc(len);/*开辟一个新单元*/scanf(n%s%s%d,&pl->name,&pl>dep,&pl>num); head=null;while(pl->num!=o)/* 循坏控制输入 */n=n+l;if(n=l)head=pl;else p2>next=pl;p2=pl;pl=(struct emp *)malloc(le
7、n); scanf(n%s%s%dn,&pl->name,&pl>dep,&pl>num);p2->next=null;return(head);/*函数返冋头结点*/2.显示信息的函数(输出链表)同样是以姓名,部门,编号的格式输出员工信息:void print(struct emp *head)struct emp *p;printf(mn员工信息如下:nn);编号printf(u姓名部门s');p=head;if(head!=null)doprintf(ttn%-20s%-20s%4dh,p->name5p->dep,p-
8、>num);p=p->next;/*使指针指向下一个结点勺while(p!=null);3 保存信息的函数对文件的操作:void save(struct emp *head)/*文件保存函数*/file *fp; fp=fopen(ne:myfile.dath,hwbn); fwrite(head,len j ,fp); printf(hn文件保存完毕。nnj; fclose(fp);)4. 菜单函数此函数返回用户输入的选择:int menu(void)int ret;printf(mnl.输入员工信息。nh);printf2显示员工信息。nh);printf(m3.保存员工信息。
9、nh);printf(m4.退出。nn);printfn*请输入你的选择:nn); scanf(n%dh,&ret);return ret;四、个人总结一周的课设时光就要接近尾声了,回顾这短短的一 周,有欢笑也有泪水,更有发现新大陆吋的激动,总之, 这是难忘的一段时光。在设计时,我总是在一些小问题上出错,翻看课本后, 问题一目了然,这充分的暴露出了我平时学习上的不足,这 为我以后的学习打下了不可或缺的基础.然而,这只是万 里长征的第一步。后面的路还很长,困难还很多,可是我 能成功的编译一个程序,能够在思路卡壳的情况下,继续 前进,我在此很想感谢那些给予我耐心解答的老师和同 学,是他们为
10、我小程序的成功起到了关键性的作用,那么 多个日夜,如此多的困难,同学们勤恳塌实,从开始到结 束,没有显岀一点倦意,始终热情高涨,我感谢这种氛围, 感谢学校提供的良好条件。通过这次的c程序课设,我加 深了对c语言的了解,培养了我缜密思维的能力,使我收 获很多,受益匪浅。五、参考文献1谭浩强.c程序设计.北京:清华大学出版社,20052刘成等.c语言程序设计实验指导与习题集.北京:中国铁道出版社,2006六、源程序include nstdio.hn#include hmalloc.hminclude ”stdlib.h”#define null 0#define len sizeof(struct
11、 emp)struct empchar name20;char dep20;int num;struct emp *next;int n;struct emp *creat(void)struct emp *head;struct emp *pl,*p2;n=0;pl=p2=(struct emp *)malloc(len);scanf(m%s%s%dn,&pl->name,&pl>dep,&pl>mim); head=null;while(p 1 ->num !=0)n=n+l;if(n=l)head=pl;else p2->next=p
12、l;p2=pl;pl=(struct emp *)malloc(len);scanf(n%s%s%dn,&pl->name,&pl>dep,&pl>num);p2->next=null;return(head);void print(struct emp *head)struct emp *p;printf(mn员工信息如下:nh);printf(u姓名部门编号n”);p=head;if(head!=null)doprintf(nn%-20s%-20s%4dh,p->name,p->dep,p->num); p=p->ne
13、xt;while(p!=null); void save(struct emp *head)file *fp; fp=fopen(he:myfile.dat,hwbm); fwrite(head,len,l?fp); printf(mn文件保存完毕。nnn); fclose(fp);int menu(void)int ret;printf(nnl.输入员工信息。nm);printf(n2.m示员工信息。nn);printf(n3.保存员工信息。nn);printf(n4.退出。nn);printf(mn*请输入你的选择:nn);scanf(m%dh,&ret);return ret;void main()struct emp *
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甘孜职业学院《理解当代中国英语读写》2023-2024学年第一学期期末试卷
- 甘肃政法大学《制药工艺学》2023-2024学年第一学期期末试卷
- 《赤壁赋公开课》课件
- 《疫的概念与功能》课件
- 三年级数学上册六采摘节-混合运算乘加减混合运算说课稿青岛版六三制
- 三年级科学上册第1单元水3水结冰了教案1教科版
- 安全亮眼看世界课件
- 《汽车实习报告》课件
- 2021年卫生系统招聘(预防医学)考试题库
- 洗脑培训课件
- 规划设计收费标准
- 安全安全隐患整改通知单及回复
- 国有检验检测机构员工激励模式探索
- 采购部年终总结计划PPT模板
- CDI-EM60系列变频调速器使用说明书
- 【汇总】高二政治选择性必修三(统编版) 重点知识点汇总
- 材料表面与界面考试必备
- 骨科重点专科省级市级申报材料
- 焦点CMS用户手册
- 丙酮-水连续精馏塔的设计
- 菜鸟也上手:最最完整的Cool Edit Pro 图文操作手册
评论
0/150
提交评论