资源简介
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语言程序设计题总结资源
相关资源
- 计算无向图中桥的数量环算法超快
- 51单片机直流电机控制C语言代码.rar
- c++程序设计》第二版高等教育出版社
- 五子棋AI代码 启发式搜索+算杀 内置禁
- C++标准库第2版_带书签_高清完整版
- SIFT代码,C/C++
- 多线程流式套接字C/S模式通信程序
- Linux环境下的文件安全传输(C/C++)
- 数据库管理系统原型开发C/C++
- C/C++程序 多元多项式的相乘
- 维特比译码+卷积码编码程序C/C++实现
- vs2010下c语言编写c/s socket 文件内容传
- 三边测距算法
- VC/MFC 布局类
- 特洛伊木马(C/C++)
- C++获取电脑MAC/CPU/BIOS/硬盘等硬件信息
- 基于c/c++实现的宿舍管理系统可做小型
- C/C++语言实现求矩阵的广义逆
- 基于C/C++的局域网聊天室源码
- 网关模板 C/C++程序编写
- socket实现的CS框架
- 贪心算法编写的01背包问题c/c++
- C语言的小型通用数据库.rar
- 操作系统实验-----MFC线程--购票系统演
- VC++获取系统信息/获取OS/获取MAC/获取
- 学生社团管理系统数据结构课程设计
- K近邻算法c/c++
- 编写并调试一个模拟的进程调度程序
- C/C++:Windows编程—代码获取本地所有
- 最新传智播客C/C++第五期完整视频 R
评论
共有 条评论