• 大小: 13KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: C/C++
  • 标签: C/  

资源简介

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].

评论

共有 条评论