《简单的职工管理系统》由会员分享,可在线阅读,更多相关《简单的职工管理系统(34页珍藏版)》请在金锄头文库上搜索。
1、数据结构课程设计(论文)简单的职工管理系统 院(系)名称 专业班级 学号 学生姓名 指导教师起 止 时 间: 2014.12.292015.1.9课程设计(论文)任务及评语院(系): 教研室: 学 号学生姓名专业班级课程设计(论文)题目简单的职工管理系统课程设计(论文)任务任务要求:简单的职工管理系统实现以下几个功能:(1)新增一名职工:将新增职工对象按姓名以字典方式插入职工管理文件中;(2)删除一名职工:从职工管理文件中删除一名职工对象;(3)查询:从职工管理文件中查询符合某些条件的职工;(4)修改:检索某个职工对象,对其某些属性进行修改;(5)排序:按某种需要对职工对象文件进行排序。技术要
2、求:1、数据的逻辑结构采用线性结构,物理结构采用顺序存储结构。2、软件能正常运行,界面清晰,操作要简单。3、系统要有主界面设计,调用各个功能项。4、采用Viscal C+编写代码,可读性强。5、数据类型用typedef 定义。指导教师评语及成绩平时成绩: 答辩成绩: 论文成绩: 总成绩: 指导教师签字: 年 月 日注:平时成绩占20%,答辩成绩占40%,论文成绩占40%。本科生课程设计(论文)摘 要建立一个“简单的职工管理系统”,系统以菜单方式工作,编写存放有职工基本信息,包含职工工号,姓名,性别,出生年月,学历,职务,工资,住址,电话等,并且要求录入职工号不重复;录入的职工号信息要求用文件形
3、式保存,并可以对其进行浏览、查询、修改、删除等基本操作,建立职工信息管理的文件。在经济发达的今天对于职工简单的管理都是有很大程度上的要求,一个工司能否较好较快的运行,与职工管理的好坏分不开关系,通过该系统,将一系列的问题系统化,能够更好的管理职工。简化管理,使管理更方便,准确性、直观性和实用性更强。本着以锻炼自己的能力为目的,通过设计与制作进一步学习和掌握简单的职工管理系统的原理和使用方法。虽然在一定程度上较为简单,但也能体现在出在人员管理上的方便快捷,也体现一个领导的管理水平是不是充满艺术。关键词:文件;浏览;查询;修改;插入;删除;排序 目 录第1章 绪论11.1系统的开发背景11.2开发
4、工具及语言1第2章 概要设计22.1模块划分22.2 数据结构的选择2第3章 系统详细设计与编码33.1完整的源程序33.2程序的输入和输出173.3调试程序中遇到的问题及解决方案23第4章 思考题解析244.1 思考题的选择244.2类C算法244.3程序分析26第5章 总结27参考文献28附 录29II第1章 绪论1.1系统的开发背景随着Web2.0的快速发展,论坛、博客、SNS、微博客等社交类网络应用快速成长,互联网的交互性、自媒体属性愈加凸显。与Web1.0相比,Web2.0时代的网民更具自主性、互动性,网民不再是被动接受信息的媒体受众,而是积极地参与到网络中,成为信息的制作者、发布者
5、、传播者和分享者。同时,网络对人们生活的渗透也更加广泛和深入,从获取信息、休闲娱乐到学习办公、交友聊天,乃至商品买卖,网络成为人类社会活动的重要场所。1.2开发工具及语言本系统使用Viscal C+语言开发,主界面清晰显示所有功能项,使用简单。各个功能项均定义一个函数来实现,在主函数中调用各个子函数实现不同的功能。第2章 概要设计2.1模块划分题目应实现的具体功能;a.对单位的职工进行管理,包括插入、删除、查找、排序等功能。b.系统能实现的操作和功能如下:(1)新增一名职工:将新增职工对象按姓名以字典方式插入职工管理文件中(2)删除一名职工:从职工管理文件中删除一名职工对象;(3)查询:从职工
6、管理文件中查询符合某些条件的职工;(4)修改:检索某个职工对象,对其某些属性进行修改;(5)排序:按某种需要对职工对象文件进行排序。 2.2 数据结构的选择系统数据的逻辑结构采用线性结构,物理结构采用顺序存储结构。存储结构定义如下:typedef struct int year;int month;int day;Date;typedef structKeyType key;char name20;char sex;Date birth;char edu20;char post20; char pho20;char address20;StaffInfor;typedef struct Sta
7、ffInfor sLIST_SIZE;int number;StaffList;第3章 系统详细设计与编码3.1完整的源程序#include #include#include#include #define LIST_SIZE 100typedef int KeyType;typedef struct int year;int month;int day;Date;typedef structKeyType key;char name20;char sex;Date birth;char edu20;char post20; char pho20;char address20;StaffInf
8、or;typedef struct StaffInfor sLIST_SIZE;int number;StaffList;void InitList(StaffList *s)s-number=0;printf(员工管理系统已清空!n);/初始化员工管理系统void outputInfor(StaffList *s)int n=s-number; printf(所有员工的信息如下:n);printf(编号 姓名 性别 出生年月 学历 职务 电话 地址n);for(int i=1;isi.key); printf(%*s,7,s-si.name); printf(%*c,6,s-si.sex);
9、printf(%*d/%d,5,s-si.birth.year,s-si.birth.month);printf(%*s,11,s-si.edu); printf(%*s,12,s-si.post); printf(%*s,12,s-si.pho); printf(%*sn,12,s-si.address);/输出员工信息void GetInfor(StaffList *s)int m;int year,month;char edu20;char post20;char address20;char pho20;char name20;int flag=1;while(flag)printf(
10、请选择你要进行的查询:n);printf(1.按照员工的编号查询;n);printf(2.按照员工的姓名查询;n);printf(3.按照员工的出生年月查询;n);printf(4.按照员工的学历查询;n);printf(5.按照员工的职务查询;n);printf(6.按照员工的电话查询;n);printf(7.按照员工的地址查询;n); printf(8.退出;n);scanf(%d,&m);switch(m)case 1:printf(请输入你要查询员工的编号:n);scanf(%d,&m);for(int i=1;inumber;i+)if(s-si.key=m)printf(编号:%d
11、,姓名:%s,性别:%c,出生年月:%d/%d,学历:%s,职务:%s,电话:%s,地址:%s.n,s-si.key,s-si.name,s-si.sex,s-si.birth.year,s-si.birth.month,s-si.edu,s-si.post,s-si.pho,s-si.address);break;case 2:printf(请输入你要查询员工的姓名:n);scanf(%s,&name);for(int i=1;inumber;i+)if(strcmp(name,s-si.name)=0)printf(编号:%d,姓名:%s,性别:%c,出生年月:%d/%d,学历:%s,职务
12、:%s,电话:%s,地址:%s.n,s-si.key,s-si.name,s-si.sex,s-si.birth.year,s-si.birth.month,s-si.edu,s-si.post,s-si.pho,s-si.address);break;case 3:printf(请输入你要查询员工的出生年月:);scanf(%d%d,&year,&month);for(int i=1;inumber;i+)if(s-si.birth.year=year&s-si.birth.month=month)printf(编号:%d,姓名:%s,性别:%c,出生年月:%d/%d,学历:%s,职务:%s,电话:%s,地址:%s.n,s-si.key,s-s