企业员工信息管理系统 设计与实现 c语言



《企业员工信息管理系统 设计与实现 c语言》由会员分享,可在线阅读,更多相关《企业员工信息管理系统 设计与实现 c语言(13页珍藏版)》请在装配图网上搜索。
1、莎多匸术止写以分仔山扌忧 Xi'an Technological University North Institute of Information Engineering 《算法与数据结构》 课程设计 题目企业员工信息管理系统 设计与实现 院、系:计算机信息与技术系 学科专业:计算机科学与技术 学 号: B 学生姓名: 指导教师: 2012年9月16日 目录 第一章 设计要求 问题描述 近年来,随着企业彼此间的竞争日趋激烈,信息管理技术在企业的发展中 占据着越来越重要的地位。在企业的经营生产中,员工信息已成为企业经营管 理中不可缺少的一部分,为管理者进行管理决和
2、进行各种人事调配活动提供了 重要的依据,在生产分配安排中发挥了越来越重要的作用。此次课程设计应该 具有的功能是能够查看员工的个人信息,每个员工的信息包括:编号、姓名、 性别、部门、工资;系统能够完成员工信息的查询、更新、插入、删除、排序 等功能。 需求分析 (1)在相应的每条记录中,应该包括该员工的所有信息,譬如:编号、姓名、性别、 出生年月、学历、职务、电话、住址等; (2)根据不同关键字(如编号,姓名等),对所有员工的信息进行排序; (3)按照指定条件查找某个员工的所有信息; (4)按编号对某个员工的信息进行更改; (5)添加新员工的信息,并实现排序; (6)按编号删除已离职
3、的员工的信息; (7)与此同时,除了以上基本的需求以外,该企业员工信息管理系统的程序源代码还应 具有良好的编程结构和适当的注释,运行界面清晰,提示内容明确,易于操作。 第二章概要设计 主界面设计 当输入相应的操作字符(比如:0-6或者#),通过在主函数中选择并调用对应的子函 数程序以及其他函数(比如:菜单函数)中的辅助调用,实现并完成各自的功能操作(比 如:添加、查找、更改、排序、删除、显示等)。 系统主界面如下: Fil esMiGrosoft Visual Studi QMyFrojec IsVgKgV: 戏迎使用《•员工信息管理系统》 欢迎充临- u畧容贝 加找
4、常 J-s ■ ■ ■ ■ 13 5 0 * * K « ff自亠息 LLIU=_J-.L=_J- 丁信自:! 丄I 口」LlT 屮员「 氣删除虹 息I 2・ 4. 存储结构设计 依据给定的数据格式,个人信息由九个字段来组成,即编号、姓名、性别、生日、学 历、职务、电话和住址,外加一个判断关键字。 如: 编号|姓名|性别丨出生年月|学历|职务|电话丨住址 01 fdf n 1991-10 b q 189 p 本课程设计根据功能需求,使用线性结构来组织数据,由于要对表中某项数据进行插 入、删除操作,所以使用链表比较方便。 系统功能设计 依据程序的数据结构和功能,遵
5、照“自顶向下”原则,描述该程序的层次结构,在总 体上包括数据的插入、添加、删除、查找、更改和数据的排序以及数据的显示等功能模块。 (1)输入函数功能:通过输入各项数据给数据元素,来建立一个数据表。 (2) 排序函数功能:按照指定关键字对员工信息进行排序。 (3) 显示函数功能:输出表中所有节点的信息。 (4) 查找函数功能:按照指定关键字,对相应员工信息进行查找。 (5) 更改函数功能:输入员工编号,查找到员工信息,对其信息进行更新。 (6) 删除函数功能:查找到要删除员工的相应信息,并将其从表中永久的删除。 (7) 主函数功能:调用以上子函数,并用开关语句进行选择性的调用。
6、(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 St
7、uff { 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
8、)); 序函数 void Sort(Stuff *head) { char ch; Stuff *p,*q,*r; while(1) { printf("请选择排序条件:1 .编号12 .姓名10.退出\n"); getchar(); scanf("%c",&ch); if(ch=='0') break; if(ch<'1'||ch>'2') { printf("输入错误,请重新输入!\n"); continue; } p=head; while(p->next!=NULL) 示函数: void Show(Stuff *head) { Stuff *p=h
9、ead; 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 { print
10、f("信息为空! \n"); } } 4.查找函数: Stuff *Search(Stuff *head) { Stuff *p=NULL,*q,a={"\0","\0","\0","\0","\0","\0","\0","\0"}; int flag; 号 2.姓名 0.退出\n"); scanf(" %c",&ch); if(ch=='0') break; if(ch<'1'||ch>'2') { printf("输入错误,请重新输入!\n"); continue; } getchar(); printf("请输入:”); gets(q->con);
11、p=head; 改 2.删除 3.继续 \n"); scanf(" %c",&sh); if(sh=='1') Change(head,p->number); 改函数: Stuff *Change(Stuff *head,char n[10]) { Stuff *p=head; int flag=0; if(head==NULL) printf("信息表为空,请先建立信息表!\n"); else { while(p!=NULL) { if(!strcmp(p->number,n)) { printf(”找到员工,请输入新的信息:\n编号丨姓名丨性别丨出生年月I 学历
12、 | 职务 | 电话 | 住址 \n"); scanf("%s%s%s%s%s%s%s%s",p->number ,p->name ,p->sex ,p->birthday ,p->degree ,p-> business ,p->phone ,p->place ); printf(”员工信息如下:\n"); flag=1; } p=p->next; } if(flag==0) printf("未找到该员工信息!\n"); } Show(head); return head; Del除函数: void Fre(Stuff *head) { Stuff *p; w
13、hile(head!=NULL) { p=head; head=head->next ; free(p); } } 7•主函数: void main() { char Index[10]; Del他函数: Stuff *head=NULL; char Menu(); oaT \Pxog/E an Fileitt ITl su-al Si.u.J± ec t B\.^g.g\DeLug.\.figg.- 二贝」旦囚 亦話岀 一誓吏退 ■ ■ ■- --13 5 0 欢迎另I特 自 一—八一.一 一 口」s 信目 口 jLu-h * *
14、 H S- * ■it E择祢的?w: 1 工詹氤 直接输人肝结束 讣窮丄名员一: 自I姓名「性别;山生E月;学历!职务;屯姑:(£11 = 」旦X 白心白心自心 信信信 工工工 DB5BJ 贝 加找改出 H ■ ■ ■ ■ 丄3 5 0 •编号;2・姓名苗•退岀 丄in元匸、災口 I・ 编号!姓名I性别:岀注年月:学历:职务!电话:住址: 01 yang xinjj nan 1991(12 hen mei^ou ehanxitt 議翳薜爲篇郭•姓名:淞岀 1^8«923474«7 Cr»
15、 *C ' \Prog^r« FilocVlicrocoFt Vi suftl Studi o^ByProj actsK<»»<»* c:\ °C: \ProgxtB FilesVlicresoft Visual StudioViyProiectsVccrcVDebucVzcc:. exe* 欢迎光I 息自3息 工工工 口容苕贝 加找改岀 添童貝退 ■ ■ ■ ■ 13 5 0 * * * * 谊输入⑹ 贪璟息如下: 1^4 !姓名!性别!出主年月!学历!职务!电话!住址 01 yangxing nan 199102 ben ne( shan
16、xiU Jal x 是否需要汉•更改2 •删除3•继续 Cs *C * \Profpr Filec\licr-ocoFt Vi KUftl Stu
17、sual S tudi a \lyFr o j ec ts\ ax a 13 5 加找改岀 S-S 自心自心自JljJI d-15--1wjj一 口 工工工 欢迎光临 冬員工信息挑序 * 4-输岀囚工#息 * 6・册]除帛工信息 * 请选择你的寒俘 y y y |n| x in .m」工! 宦Ent眈犍继续二 一岂小苣4亘4 二囚RK 一皿找及出 -SS 一 Id —欢迎光临 1=1也 :01 介入新的信息: i性别;岀生年月i学历!职务!电话!住址 y 吊T栓自 貝丄勺- 编号I姓名「性别;出生年月;学历;职务!电话;
18、住址= 1. 02 u y y y y y u ■ ■ *C. \rrB^ «■ FiLehiMicru^Dfl FisuaJ. 51udio\iyFrojectggg- e* Del立员工信息\n"); printf(”* 1.添加员工信息 2•员工信息排序 *\n"); printf(”* 3•查找员工信息 4•输出员工信息 *\n"); printf(”* 5•更改员工信息 6.删除员工信息 *\n"); printf(”* 0.退出 *\n"); printf(” \n"); printf("请选择你的操作:"); scanf(" %d
19、",&ch); return ch; } 号12.姓名10.退出\n"); getchar(); scanf("%c",&ch); if(ch=='0') break; if(chvTllch>2) { printf(”输入错误,请重新输入!\n"); continue; } p=head; while(p->next!=NULL) { q=p->next; r=p; while(q!=NULL) { if(Sel(ch,r,q)) r=q; q=q->next; } if(r!=p) Scpy(r->number,p->number); Scpy
20、(r->name,p->name); Scpy(r->sex,p->sex); Scpy(r->birthday,p->birthday); Scpy(r->degree,p->degree); Scpy(r->business,p->business); Scpy(r->phone,p->phone); Scpy(r->place,p->place); } p=p->next; } Show(head); } } 号2.姓名0.退出\n"); scanf(" %c",&ch); if(ch=='0') break; if(ch<'1'||ch>'2') {
21、 printf("输入错误,请重新输入!\n"); continue; } getchar(); printf("请输入:”); gets(q->con); p=head; flag=0; while(p!=NULL) { if(strcmp(q->con,p->number)==0||strcmp(q->con,p->name)==0) { printf(”员工信息如下:\n"); printf(" 编号 | 姓名 | 性别 | 出生年月 | 学历 | 职务 | 电话 | 住址 \n%s \t%s \t%s \t%s \t%s \t%s \t%s \t%s\n",
22、p->number ,p->name ,p->sex ,p->birthday ,p->degree ,p->business ,p->phone ,p->place ) printf(”是否需要:1.更改2•删除3•继续\n"); scanf(" %c",&sh); if(sh=='1') Change(head,p->number); else if(sh=='2') head=Del(head,p->number); flag=1; break; } p=p->next ; } if(flag==0) printf("没有找到该员工信息!\n"); } re
23、turn head; } Del %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"); } } [1] . Del据结构一C语言描述•高等教育出版社.2005/067511. [2] . 谭浩强.C程序设计.清华大学出版社.2007/014674. [3] . 严蔚敏,吴伟民.数据结构:C语言版.清华大学出版社,2007.
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。