洛 阳 理 工 学 院
课 程 设 计 说 明 书
课程名称 C语言程序设计
设计课题 职工管理系统
专 业 计算机科学与技术
班 级 B140501
学 号
姓 名
完成日期 2015-7-1
课 程 设 计 任 务 书
设计题目: 职工信息管理系统
设计内容与要求:
1.1问题描述
对职工信息进行管理,职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
1.2基本要求
(1)系统以菜单方式工作
(2)职工信息录入功能(职工信息用文件保存) 。
(3)输出职工信息、浏览职工信息功能。
(4)查询和排序功能:(至少一种查询方式) ,如按工资查询、按学历查询等。
(5)职工信息删除、修改功能(任选项)。
指导教师:_______________
年 月 日
课 程 设 计 评 语
成绩:
指导教师:_______________
年 月 日
目录
HYPERLINK \l "概述及功能" 设计概述
HYPERLINK \l "概述及功能" 总体设计
功能模块图
HYPERLINK \l "录入员工数据" 录入员工数据
HYPERLINK \l "录入员工数据" 输出员工数据
HYPERLINK \l "查找及修改" 查找员工数据
HYPERLINK \l "查找及修改" 修改员工数据
HYPERLINK \l "测试" 测试
HYPERLINK \l "设计总结" 设计总结
HYPERLINK \l "源代码" 源代码
概述
退 出系 统
退 出
系 统
职工信息管理系统
录入职工信息
浏览员工数据
查找员工数据
通过工号查找
修改员工数据
设计的目标是建立一个可以录入,浏览,查找以及修改员工所有数据的职工管理同,在不知道有多少职工的情况下我采用了动态链表的方式来使员工的信息录入的更加简单方便。实现浏览员工信息的过程中我选择了用循环的方式输出每一个节点信息,同样用循环的方法通过每一个节点中的工号所要查找的工号的对比,实现了员工数据的查找,然后将printf改成scanf从而实现了修改员工信息。这五个功能均在一个不停循环的系统中,每完成一种操作就会返回主界面重新选择要进行的操作,实现退出系统的功能时用break直接跳出五个功能的循环,从而结束整个信息管理系统。
录入员工数据 输出员工数据 输出该节点数据Head!=NULL输入第一个节点的数据创建动态链表
输出该节点数据
Head!=NULL
输入第一个节点的数据
创建动态链表
开始
开辟空间,将NULL赋给head
选择录入员工数据
开始
选择浏览员工数据
P=head
是
否
否P1->NUM!=0录入数据是结束P=p->nextP!=NULL否结束是否否是是结束P==NULLP=p->next修改节点数据p->num== num输入员工号开始修改员工数据否是是结束否P==NULLP=p->next输出节点数据p->num== num输入员工号查找员工数据开始查找员工数据 修改员工数据
否
P1->NUM!=0
录入数据
是
结束
P=p->next
P!=NULL
否
结束
是
否
否
是
是
结束
P==NULL
P=p->next
修改节点数据
p->num== num
输入员工号
开始
修改员工数据
否
是
是
结束
否
P==NULL
P=p->next
输出节点数据
p->num== num
输入员工号
查找员工数据
开始
测试
录入员工数据
输出员工数据
查找员工数据
修改员工数据
退出系统
设计总结
在程序还没有开始写之前,我一直在想用什么方式来写这个程序,使用一直使用的循环还是用刚学的自己并不熟悉的链表,因为用循环的写法许久没有头绪,最后我选择了写起来难度高