资源简介
1. 系统总体描述
员工管理系统为用户提供员工信息录入、查看、查找、更新、删除、添加、请假记录
保存信息到文档等功能。
(1) 登录
登录系统时,对用户名和密码进行验证,两者均无误后方可进入系统。
(2) 输入员工信息
输入员工信息,分别记录员工的姓名 性别 编号等信息进行录入,不可录入相同编号
的职员,否则提示输入有误。
(3) 添加员工信息
添加员工信息默认员工编号为已有员工编号的下一个,同时也可录入职员的姓名 性别
部门 职位等等。
(4) 职员信息查询
可根据不同职员的姓名 编号 部门进行分别查询。
(5) 职员信息删除
可根据不同职员的姓名 编号 部门多方式进行删除。
(6) 请假情况记录
对于已请假的员工进行请假情况的记录,记录之后将记录信息存入员工信息表。
(7) 信息储存
将操作的员工信息表记录于相同路径下的文件夹中,作为操作的数据记录。
代码片段和文件信息
#include
#include
#include
#include
#define LIST_INIT_SIZE 10 //线性表存储空间的初始分配量
#define LISTINCRMENT 5 // 线性表存储空间的分配增量
typedef struct //员工信息结构体
{
int num;//编号
char name[20];//姓名
char sex[20];//性别
char local[20];//籍贯
char bumen[20];//部门
char zhiwei[20];//职位
char xinzi[20];//薪资
char tel[20];//电话
int lea;//请假次数
}employee;
typedef struct //顺序表
{
employee *elem; // 存储空间基地址
int length; //当前长度
int listsize; // 当前分配的存储容量
}SqList;
void InitList(SqList *L)//初始化
{
L->elem = (employee *)malloc(sizeof(employee)*LIST_INIT_SIZE);
if (!L->elem)
exit(1);
L->length = 0;
L->listsize = LIST_INIT_SIZE;
}
void CreateList(SqList *L)//初始建立
{
int i;
char a[20];
int nu;
printf(“请输入员工人数:\n“);
scanf(“%d“ &L->length);
for (i = 0; ilength; i++)
{
printf(“请输入第%d个员工的编号,姓名,性别(w/m),籍贯,部门,职位,薪资,请假次数,电话.\n“ i + 1);
scanf(“%d“ &L->elem[i].num);
scanf(“%s“ L->elem[i].name);
while (1)
{
scanf(“%s“ a);
if (strcmp(a “w“) == 0 || strcmp(a “m“)==0)
{
strcpy(L->elem[i].sex a);
break;
}
else
{
printf(“请重新输入性别!\n“);
}
}
scanf(“%s“ L->elem[i].local); getchar();
scanf(“%s“ L->elem[i].bumen); getchar();
scanf(“%s“ L->elem[i].zhiwei); getchar();
scanf(“%s“ L->elem[i].xinzi); getchar();
scanf(“%d“&nu);
L->elem[i].lea = nu;
scanf(“%s“ L->elem[i].tel); getchar();
}
}
void add(SqList *L)
{
int i;
int nu;
char a[20];
printf(“目前已有员工%d个员工\n“ L->length);
printf(“请输入您要添加员工的姓名,性别,籍贯,部门,职位,薪资,请假次数,电话.\n“);
i = L->length;
L->length++;
L->elem[i].num = i + 1;
scanf(“%d“ &L->elem[i].num);
scanf(“%s“ L->elem[i].name);
while (1)
{
scanf(“%s“ a);
if (strcmp(a “w“) == 0 || strcmp(a “m“) == 0)
{
strcpy(L->elem[i].sex a);
break;
}
else
{
printf(“请重新输入性别!\n“);
}
}
scanf(“%s“ L->elem[i].local);
scanf(“%s“ L->elem[i].bumen);
scanf(“%s“ L->elem[i].zhiwei);
scanf(“%s“ L->elem[i].xinzi);
scanf(“%d“ &nu);
L->elem[i].lea = nu;
scanf(“%s“ L->elem[i].tel);
printf(“添加成功!“);
}
void PintList(SqList *L)//打印全部信息
{
int i;
printf(“\n| 编号 | | 姓名 | | 性别 | | 籍贯 | | 部门 | | 职位 | | 薪资 | | 请假次数 | | 电话 |\n“);
for (i = 0; ilength; i++)
{
printf(“ %-10d%-10s%-10s%-10s%-10s%-10s%-10s%-14d%-11s \n“ L->elem[i].num L->elem[i].name L->elem[i].sex L->elem[i].local L->elem[i].bumen L->elem[i].zhiwei L->elem[i].xinzi L->elem[i].lea L->elem[i].tel);
}
}
void GetElem(SqList *L)//查找
{
int i t;
char w[10] q[10];
int n x = 0;
printf(“请选查找方式:\n“);
printf(“1.编号查找\n“);
printf(“2.姓名查找\n“);
printf(“3.部门查找\n“);
scanf(“%d“ &t);
switch (t)
{
case 1:
printf(“请输入要查找的编号:\n“);
scanf(“%d“ &n);
printf(“\n| 编号 | | 姓名 | | 性别 | | 籍贯 | | 部门 | | 职位 | | 薪资 | | 请假次数 | | 电话 |\n“);
for (i = 0; ilength; i++)
{
if (n == L->elem[i].
- 上一篇:网络对战象棋游戏源代码
- 下一篇:c语言程序设计题总结资源
相关资源
- 北京化工大学计算方法(C/C++)讲义
- GBT 28169-2011 嵌入式软件 C语言编码规范
- XUnZip Zip解压缩.rar
- Windows_API_函数大全 C/C++
- C语言程序设计教材习题参考答案.do
- 基于MFC的VC++仿QQ浏览器源码(雏形)
- 高效FFT的C/C++代码实现包括基2的DIF和
- c/c++开发网络验证和本地验证
- 操作系统存储管理实验报告c/c++
- C++编写的万年历源码
- C语言进阶源码---基于graphics实现图书
- 井字棋三连棋的AI实现,C/C++
- 《水果忍者》设计报告.doc
- MFC实现的红绿灯程序
- UC/OS2 (UCOS2)移植于VC6代码及手册
- Win32简易画图程序
- C++网络爬虫项目
- 泡泡堂(炸弹人)小游戏C/C++完整源码
- 使用C/C++读取BITMAP的内容
- VC图像处理-用Canny算子提取边缘
- C/C++视频教程
- 个人总结的一些C/C++编码规范
- 高斯消去法求解线性方程组C/C++程序输
- celrityC/C++源码查看工具
- 基于TCP协议的C/S传输文件C++)
- 网络编程MFC 实验四 FTP客户端功能实现
- C/C++语言大作业、小游戏
- Spline曲线(穿过控制点CC++版本)
- 完整的C/C++时序的B+树数据库系统实现
- Eclipse C/C++ 自动补全的cdt补丁
评论
共有 条评论