c语言实现的一个人事管理系统,包含员工信息增加、删除、修改、查询功能

人事管理系统是一种常见的管理信息系统,用于管理企业或组织的人事信息。下面是一个简单的C语言人事管理系统的实现,包括员工信息的增加、删除、修改、查询等基本功能。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_EMPLOYEE_NUM 100
typedef struct {
    char name[20];
    char gender[5];
    int age;
    char department[20];
    char position[20];
} Employee; // 员工结构体
Employee employeeList[MAX_EMPLOYEE_NUM]; // 员工列表
int employeeNum = 0; // 员工数量
// 显示菜单
void showMenu() {
    printf("\n欢迎使用人事管理系统\n");
    printf("1. 添加员工信息\n");
    printf("2. 删除员工信息\n");
    printf("3. 修改员工信息\n");
    printf("4. 查询员工信息\n");
    printf("5. 显示所有员工信息\n");
    printf("0. 退出系统\n");
    printf("请输入选项:");
}
// 添加员工信息
void addEmployee() {
    if (employeeNum >= MAX_EMPLOYEE_NUM) {
        printf("员工数量已达上限,无法添加\n");
        return;
    }
    printf("请输入员工姓名:");
    scanf("%s", employeeList[employeeNum].name);
    printf("请输入员工性别:");
    scanf("%s", employeeList[employeeNum].gender);
    printf("请输入员工年龄:");
    scanf("%d", &employeeList[employeeNum].age);
    printf("请输入员工所属部门:");
    scanf("%s", employeeList[employeeNum].department);
    printf("请输入员工职位:");
    scanf("%s", employeeList[employeeNum].position);
    employeeNum++;
    printf("员工信息添加成功\n");
}
// 删除员工信息
void deleteEmployee() {
    char name[20];
    printf("请输入要删除的员工姓名:");
    scanf("%s", name);
    int index = -1;
    for (int i = 0; i < employeeNum; i++) {
        if (strcmp(employeeList[i].name, name) == 0) {
            index = i;
            break;
        }
    }
    if (index == -1) {
        printf("员工 %s 不存在\n", name);
        return;
    }
    for (int i = index; i < employeeNum - 1; i++) {
        employeeList[i] = employeeList[i + 1];
    }
    employeeNum--;
    printf("员工信息删除成功\n");
}
// 修改员工信息
void modifyEmployee() {
    char name[20];
    printf("请输入要修改的员工姓名:");
    scanf("%s", name);
    int index = -1;
    for (int i = 0; i < employeeNum; i++) {
        if (strcmp(employeeList[i].name, name) == 0) {
            index = i;
            break;
        }
    }
    if (index == -1) {
        printf("员工 %s 不存在\n", name);
        return;
    }
    printf("请输入员工性别(原值为 %s):", employeeList[index].gender);
    scanf("%s", employeeList[index].gender);
    printf("请输入员工年龄(原值为 %d):", employeeList[index].age);
    scanf("%d", &employeeList[index].age);
    printf("请输入员工所属部门(原值为 %s):", employeeList[index].department);
    scanf("%s", employeeList[index].department);
    printf("请输入员工职位(原值为 %s):", employeeList[index].position);
    scanf("%s", employeeList[index].position);
    printf("员工信息修改成功\n");
}
// 查询员工信息
void queryEmployee() {
    char name[20];
    printf("请输入要查询的员工姓名:");
    scanf("%s", name);
    int index = -1;
    for (int i = 0; i < employeeNum; i++) {
        if (strcmp(employeeList[i].name, name) == 0) {
            index = i;
            break;
        }
    }
    if (index == -1) {
        printf("员工 %s 不存在\n", name);
        return;
    }
    printf("姓名:%s,性别:%s,年龄:%d,部门:%s,职位:%s\n",
           employeeList[index].name, employeeList[index].gender,
           employeeList[index].age, employeeList[index].department,
           employeeList[index].position);
}
// 显示所有员工信息
void showAllEmployee() {
    if (employeeNum == 0) {
        printf("没有员工信息\n");
        return;
    }
    printf("所有员工信息如下:\n");
    for (int i = 0; i < employeeNum; i++) {
        printf("姓名:%s,性别:%s,年龄:%d,部门:%s,职位:%s\n",
           employeeList[i].name, employeeList[i].gender,
           employeeList[i].age, employeeList[i].department,
           employeeList[i].position);
    }
}
int main() {
    int choice;
    while (1) {
        showMenu();
        scanf("%d", &choice);
        switch (choice) {
            case 1:
                addEmployee();
                break;
            case 2:
                deleteEmployee();
                break;
            case 3:
                modifyEmployee();
                break;
            case 4:
                queryEmployee();
                break;
            case 5:
                showAllEmployee();
                break;
            case 0:
                printf("谢谢使用,再见!\n");
                return 0;
            default:
                printf("无效的选项,请重新输入\n");
                break;
        }
    }
    return 0;
}

以上就是一个简单的C语言人事管理系统的实现,可以根据实际需求进行扩展和修改。

 
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定