员工工资管理系统c语言代码

以下是一个简单的员工工资管理系统的C语言代码示例:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX_EMPLOYEES 100

typedef struct {
    char name[50];
    int age;
    float salary;
} Employee;

void addEmployee(Employee employees[], int *count) {
    if (*count >= MAX_EMPLOYEES) {
        printf("员工数量已达到上限!\n");
        return;
    }

    Employee newEmployee;
    printf("请输入员工姓名:");
    scanf("%s", newEmployee.name);
    printf("请输入员工年龄:");
    scanf("%d", &newEmployee.age);
    printf("请输入员工工资:");
    scanf("%f", &newEmployee.salary);

    employees[*count] = newEmployee;
    (*count)++;

    printf("员工添加成功!\n");
}

void displayEmployees(Employee employees[], int count) {
    if (count == 0) {
        printf("没有员工信息!\n");
        return;
    }

    printf("员工信息如下:\n");
    for (int i = 0; i < count; i++) {
        printf("姓名:%s\t年龄:%d\t工资:%.2f\n", employees[i].name, employees[i].age, employees[i].salary);
    }
}

void searchEmployee(Employee employees[], int count) {
    if (count == 0) {
        printf("没有员工信息!\n");
        return;
    }

    char searchName[50];
    printf("请输入要查找的员工姓名:");
    scanf("%s", searchName);

    int found = 0;
    for (int i = 0; i < count; i++) {
        if (strcmp(employees[i].name, searchName) == 0) {
            printf("员工信息如下:\n");
            printf("姓名:%s\t年龄:%d\t工资:%.2f\n", employees[i].name, employees[i].age, employees[i].salary);
            found = 1;
            break;
        }
    }

    if (!found) {
        printf("未找到该员工!\n");
    }
}

int main() {
    Employee employees[MAX_EMPLOYEES];
    int count = 0;
    int choice;

    while (1) {
        printf("\n员工工资管理系统\n");
        printf("1. 添加员工\n");
        printf("2. 显示所有员工\n");
        printf("3. 查找员工\n");
        printf("4. 退出\n");
        printf("请选择操作:");
        scanf("%d", &choice);

        switch (choice) {
            case 1:
                addEmployee(employees, &count);
                break;
            case 2:
                displayEmployees(employees, count);
                break;
            case 3:
                searchEmployee(employees, count);
                break;
            case 4:
                printf("感谢使用员工工资管理系统!\n");
                exit(0);
            default:
                printf("无效的选择!\n");
        }
    }

    return 0;
}

这个代码示例实现了一个简单的员工工资管理系统,可以添加员工、显示所有员工和查找员工。程序使用了结构体来表示员工信息,通过数组来存储多个员工的信息。

这个员工工资管理系统的C语言代码示例还可以进一步完善和扩展。以下是一些可能的改进和扩展点:

删除员工:可以添加一个删除员工的功能,让用户输入要删除的员工姓名,然后在数组中查找并删除该员工的信息。

修改员工信息:可以添加一个修改员工信息的功能,让用户输入要修改的员工姓名,然后在数组中查找并修改该员工的信息。

数据持久化:可以将员工信息保存到文件中,以便下次运行程序时可以读取之前保存的员工信息。

排序功能:可以添加一个排序功能,让用户可以按照姓名、年龄或工资对员工信息进行排序显示。

数据校验:可以在添加员工和修改员工信息时,对用户输入的数据进行校验,确保输入的年龄和工资是合法的。

用户界面优化:可以使用图形界面或者菜单选择方式来替代命令行界面,提供更友用户交互体验。

多种查询方式:可以添加根据年龄、工资范围等条件进行查询的功能。

这些是一些可能的改进和扩展点,你可以根据实际需求和个人能力进行进一步的开发和完善。