企业员工信息管理系统 设计与实现 c语言
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《算法与数据结构》
课程设计
题目:企业员工信息管理系统
设计与实现
院、系:计算机信息与技术系
学科专业:计算机科学与技术
学号: B
学生姓名:
指导教师:**
2012年9月16日
目录
第一章设计要求
问题描述
近年来,随着企业彼此间的竞争日趋激烈,信息管理技术在企业的发展中占据着越来越重要的地位。在企业的经营生产中,员工信息已成为企业经营管理中不可缺少的一部分,为管理者进行管理决和进行各种人事调配活动提供了重要的依据,在生产分配安排中发挥了越来越重要的作用。此次课程设计应该具有的功能是能够查看员工的个人信息,每个员工的信息包括:编号、姓名、性别、部门、工资;系统能够完成员工信息的查询、更新、插入、删除、排序等功能。
需求分析
(1)在相应的每条记录中,应该包括该员工的所有信息,譬如:编号、姓名、性别、出生年月、学历、职务、电话、住址等;
(2)根据不同关键字(如编号,姓名等),对所有员工的信息进行排序;
(3)按照指定条件查找某个员工的所有信息;
(4)按编号对某个员工的信息进行更改;
(5)添加新员工的信息,并实现排序;
(6)按编号删除已离职的员工的信息;
(7)与此同时,除了以上基本的需求以外,该企业员工信息管理系统的程序源代码还应具有良好的编程结构和适当的注释,运行界面清晰,提示内容明确,易于操作。
第二章概要设计
主界面设计
当输入相应的操作字符(比如:0-6或者#),通过在主函数中选择并调用对应的子函数程序以及其他函数(比如:菜单函数)中的辅助调用,实现并完成各自的功能操作(比如:添加、查找、更改、排序、删除、显示等)。
系统主界面如下:
存储结构设计
依据给定的数据格式,个人信息由九个字段来组成,即编号、姓名、性别、生日、学历、职务、电话和住址,外加一个判断关键字。
如:
编号 | 姓名 | 性别 | 出生年月 | 学历 | 职务 | 电话 | 住址
01 fdf n 1991-10 b q 189 p
本课程设计根据功能需求,使用线性结构来组织数据,由于要对表中某项数据进行插入、删除操作,所以使用链表比较方便。
系统功能设计
依据程序的数据结构和功能,遵照“自顶向下”原则,描述该程序的层次结构,在总体上包括数据的插入、添加、删除、查找、更改和数据的排序以及数据的显示等功能模块。
(1)输入函数功能:通过输入各项数据给数据元素,来建立一个数据表。
(2)排序函数功能:按照指定关键字对员工信息进行排序。
(3)显示函数功能:输出表中所有节点的信息。
(4)查找函数功能:按照指定关键字,对相应员工信息进行查找。
(5)更改函数功能:输入员工编号,查找到员工信息,对其信息进行更新。
(6)删除函数功能:查找到要删除员工的相应信息,并将其从表中永久的删除。
(7)主函数功能:调用以上子函数,并用开关语句进行选择性的调用。
(8)其它函数功能:主要起辅助作用,比如:菜单函数,主要起到引导作用;释放空间函数,主要用于释放已经删除节点的信息,或者释放整个链表的节点信息。
第三章模块设计
系统子程序及功能设计
1.创建成员表函数
Stuff *Cre(Stuff *head) 排序函数
void Sort(Stuff *head) 判断函数
int Sel(char ch,Stuff *p,Stuff *q) 查找函数
Stuff *Search(Stuff *head) 删除函数
Stuff *Del(Stuff *head,char n[10])
工结构体定义
struct Stuff
{
char number[10];
char name[10];
char sex[8];
char borth[10];
char degree[20];
char business[20];
char phone[15];
char place[50];
char con[50];
struct Stuff *next;
};
系统主要子程序详细设计
1.输入函数:
Stuff *App(Stuff *head)
{
Stuff *p=NULL,*q=head;
while(n)
{
p=(Stuff *)malloc(sizeof(Stuff)); 序函数:
void Sort(Stuff *head)
{
char ch;
Stuff *p,*q,*r;
while(1)
{
printf("请选择排序条件:1.编号|2.姓名|0.退出\n");
getchar();
if(ch=='0')
break;
if(ch<'1'||ch>'2')
{
printf("输入错误,请重新输入!\n");
continue;
}
p=head;
while(p->next!=NULL) 示函数:
void Show(Stuff *head)
{
Stuff *p=head;
int n=1;
if(head!=NULL)
{
printf("员工信息如下:\n");
printf(" 编号| 姓名| 性别| 出生年月| 学历| 职务| 电话| 住址:\n");
while(p!=NULL)
{
printf("%d. %s %s %s %s %s %s %s %s \n"
,n++,p->number ,p->name ,p->sex ,p->birthday ,p->degree ,p->business ,p->phone ,p->plac e);
p=p->next ;
}
}
else
{
printf("信息为空!\n");
}
}
4.查找函数:
Stuff *Search(Stuff *head)
{
Stuff *p=NULL,*q,a={"\0","\0","\0","\0","\0","\0","\0","\0"};
int flag; 号2.姓名0.退出\n");