数据结构课程设计 员工信息管理系统
12信计2013-2014(一)
数 据 结 构 课 程 设 计
设计题目 员工信息管理系统 设计时间 学生姓名 学生学号 所在班级 12精算
指导教师
徐州工程学院数学与物理科学学院
题目 员工信息管理系统
一、 需求分析
员工信息管理系统设计,具体功能如下:
1、系统以菜单方式工作,应为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中的输入异常情况。 2、员工信息录入系统(员工信息用文件保存),注意员工按员工编号进行区分,即每个员工的员工编号都是唯一的,不允许出现两个员工或员工编号相同的情况。 3、可对员工信息进行查询,具体分为:按姓名查询、按员工号查询、按生日查询; 4、可对员工信息进行删除;
5、可对员工信息进行修改,但应注意员工号不能修改,修改应逐个进行,一个员工记录的更改不应影响其他的员工记录;
6、可对全部的员工信息进行显示v(员工信息浏览),注意员工信息的显示规范;
员工信息应包括姓名、员工编号、性别、年龄、生日、学历、职务、联系电话、住址。
二、概要设计 2.1、抽象数据类型
ADT List{
数据对象:D={ai|ai∈ElemSet,i=1,2,······,n,n>=0} 数据关系:R1={<ai-1,ai>|ai-1,ai∈D,i=1,2,······,n} 基本操作: Init List(&L);
操作结果:构造一个空的线性表L。 DestroyList(&L);
初始条件:线性表L存在。 操作结果:销毁线性表L。 LocateElem(L,I,&e);
初始条件:线性表L存在,1<i<Listlength(L)。
操作结果:用e返回线性表L中第i个数据元素的值。 ClearList(&L);
初始条件:线性表L存在。
操作结果:将线性表L重置为空表。 }ADT Graph 2.2、程序流程
系统的执行从菜单的选择开始,依据用户的选择进行相应的处理,直到用户选择退出系统为止。其间应对用户的选择做出判断及异常处理。系统的流程如图1所示:
图1 员工信息管理系统流程图
三、详细设计
3.1函数构成
(1)主函数:void main();
(2)文件读入函数:void read data(); (3)文件写入函数:void write data(); (4)菜单函数
函数原型:void Menu()
功能:此函数的功能为依据用户选择的功能来进行相应的处理,直到用户选择退出系统为止,包括员工信息的查询、更新、列表及退出管理; (5)信息查询函数
函数原型:void chaxun()
功能:该函数的功能是按照用户的选择进行不同方式的查找,本程序实现了按三种方式进行查找,包括按编号、姓名、生日查找; (6)信息更新函数
函数原型:void gengxin()
功能:此函数的功能为使用户修改记录。首先判断用户要修改的记录是否存在,因为只有员工编号是唯一的,所以根据员工编号进行查找。若存在则用用户输入的新的信息替换原信息;若不存在则函数结束。在此函数中要注意的是文件的打开方式应为”rb+”,因为在这个函数中不仅要读文件,还要向文件中写入数据,所以要用读写的方式打开二进制文件;
(7)信息一览函数
函数原型:void liebiao()
功能:此函数的功能为从文件中依次取出每条记录并将其显示出来。因为只需读文件不需要向文件中写入数据,所以文件的打开方式是只读。 3.2模块程序清单(详细程序见附录) 1、员工信息的结构体:
Typedef struct emp {
long int num; //编号 char name[20]; //姓名 int age; //年龄 char sex[4]; //性别 char birthday[10]; //生日 char tel[15]; //电话 char edu[8]; //学历 char pos[20]; //职务 char add[30]; //住址 struct emp *next; };
2、菜单函数:
void menu(void)
{ char i,lj[100]; int flog;time_t T; struct tm * timenow;
time ( &T );timenow = localtime ( &T ); flog=0; while(1) {
system("cls"); printf("\n\n\n\n\n");
printf(" ┏━━━━━━━━━员工信息管理系统━━━━━━━━━┓\n"); printf(" ┃ ┃\n"); printf(" ┃ ┃\n"); printf(" ┃ ┃\n"); printf(" ┃ 1.员工信息查询 ┃\n"); printf(" ┃ ┃\n"); printf(" ┃ ┃\n"); printf(" ┃ ┃\n"); printf(" ┃ 2.员工信息更新 ┃\n"); printf(" ┃ ┃\n"); printf(" ┃ ┃\n"); printf(" ┃ ┃\n"); printf(" ┃ 3.员工信息列表 ┃\n"); printf(" ┃ ┃\n"); printf(" ┃ ┃\n");
printf(" ┃ ┃\n"); printf(" ┃ 0.退出管理系统 ┃\n"); printf(" ┃ ┃\n"); printf(" ┃ ┃\n"); printf(" ┃ ┃\n"); printf(" ┗━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
printf(" %s", asctime (timenow) ); printf("请输入您的选择(数字0-3):\n"); scanf("%c",&i);gets(lj); if(lj[0])i='a'; switch(i)
{ case '1':chaxun();break; case '2':gengxin();break; case '3':liebiao();break; case '0':flog=1;break;
default:printf("输入有误,请按回车键重新输入\n");gets(lj);break; }if(flog)break;}}
3、信息查询函数:
void chaxun() {
char i,lj[100]; int flog; time_t T; struct tm * timenow; time ( &T );timenow = localtime ( &T ); flog=0; while(1) {
system("cls"); printf("\n\n\n\n\n");
printf("┏━━━━━━━━━员 …… 此处隐藏:1592字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [资格考试]石油钻采专业设备项目可行性研究报告编
- [资格考试]2012-2013学年度第二学期麻风病防治知
- [资格考试]道路勘测设计 绪论
- [资格考试]控烟戒烟知识培训资料
- [资格考试]建设工程安全生产管理(三类人员安全员
- [资格考试]photoshop制作茶叶包装盒步骤平面效果
- [资格考试]授课进度计划表封面(09-10下施工)
- [资格考试]麦肯锡卓越工作方法读后感
- [资格考试]2007年广西区农村信用社招聘考试试题
- [资格考试]软件实施工程师笔试题
- [资格考试]2014年初三数学复习专练第一章 数与式(
- [资格考试]中国糯玉米汁饮料市场发展概况及投资战
- [资格考试]塑钢门窗安装((专项方案)15)
- [资格考试]初中数学答题卡模板2
- [资格考试]2015-2020年中国效率手册行业市场调查
- [资格考试]华北电力大学学习实践活动领导小组办公
- [资格考试]溃疡性结肠炎研究的新进展
- [资格考试]人教版高中语文1—5册(必修)背诵篇目名
- [资格考试]ISO9001-2018质量管理体系最新版标准
- [资格考试]论文之希尔顿酒店集团进入中国的战略研
- 全国中小学生转学申请表
- 《奇迹暖暖》17-支2文学少女小满(9)公
- 2019-2020学年八年级地理下册 第六章
- 2005年高考试题——英语(天津卷)
- 无纺布耐磨测试方法及标准
- 建筑工程施工劳动力安排计划
- (目录)中国中央空调行业市场深度调研分
- 中国期货价格期限结构模型实证分析
- AutoCAD 2016基础教程第2章 AutoCAD基
- 2014-2015学年西城初三期末数学试题及
- 机械加工工艺基础(完整版)
- 归因理论在管理中的应用[1]0
- 突破瓶颈 实现医院可持续发展
- 2014年南京师范大学商学院决策学招生目
- 现浇箱梁支架预压报告
- Excel_2010函数图表入门与实战
- 人教版新课标初中数学 13.1 轴对称 (
- Visual Basic 6.0程序设计教程电子教案
- 2010北京助理工程师考试复习《建筑施工
- 国外5大医疗互联网模式分析




