人那有不疯的 2023-10-23 09:58 采纳率: 100%
浏览 11
已结题

职工信息管理系统c语言

求职工信息管理系统源代码
要求录入,显示,查找,删除,修改,排序

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-10-23 12:35
    关注

    【以下回答由 GPT 生成】

    我可以为您提供一个简单的职工信息管理系统的C语言源代码。以下是代码实现的步骤:

    1. 首先,我们需要定义一个结构体来表示职工的信息,包括职工号、姓名、性别、年龄等字段。
    struct Employee {
        int empId;
        char name[100];
        char gender;
        int age;
    };
    
    1. 创建一个数组来存储职工信息。
    struct Employee employees[100];
    int numEmployees = 0;  // 当前职工数量
    
    1. 实现录入职工信息的功能。可以在程序运行时循环录入职工信息,直到用户选择退出。
    void addEmployee() {
        struct Employee employee;
    
        printf("请输入职工号:");
        scanf("%d", &employee.empId);
    
        printf("请输入姓名:");
        scanf("%s", &employee.name);
    
        printf("请输入性别(M/F):");
        scanf(" %c", &employee.gender);
    
        printf("请输入年龄:");
        scanf("%d", &employee.age);
    
        employees[numEmployees] = employee;
        numEmployees++;
    
        printf("职工信息已录入成功!\n");
    }
    
    1. 实现显示职工信息的功能。遍历职工数组并打印每个职工的信息。
    void displayEmployees() {
        if (numEmployees == 0) {
            printf("职工信息为空!\n");
        } else {
            for (int i = 0; i < numEmployees; i++) {
                struct Employee employee = employees[i];
                printf("职工号:%d\n", employee.empId);
                printf("姓名:%s\n", employee.name);
                printf("性别:%c\n", employee.gender);
                printf("年龄:%d\n", employee.age);
                printf("----------------\n");
            }
        }
    }
    
    1. 实现查找特定职工信息的功能。根据职工号来查找职工信息。
    void findEmployee() {
        int empId;
        printf("请输入要查找的职工号:");
        scanf("%d", &empId);
    
        for (int i = 0; i < numEmployees; i++) {
            if (employees[i].empId == empId) {
                struct Employee employee = employees[i];
                printf("职工号:%d\n", employee.empId);
                printf("姓名:%s\n", employee.name);
                printf("性别:%c\n", employee.gender);
                printf("年龄:%d\n", employee.age);
                return;
            }
        }
    
        printf("未找到该职工信息!\n");
    }
    
    1. 实现删除职工信息的功能。根据职工号来删除职工信息。
    void deleteEmployee() {
        int empId;
        printf("请输入要删除的职工号:");
        scanf("%d", &empId);
    
        for (int i = 0; i < numEmployees; i++) {
            if (employees[i].empId == empId) {
                for (int j = i; j < numEmployees - 1; j++) {
                    employees[j] = employees[j + 1];
                }
                numEmployees--;
                printf("职工信息已删除成功!\n");
                return;
            }
        }
    
        printf("未找到该职工信息!\n");
    }
    
    1. 实现修改职工信息的功能。根据职工号来修改职工信息。
    void modifyEmployee() {
        int empId;
        printf("请输入要修改的职工号:");
        scanf("%d", &empId);
    
        for (int i = 0; i < numEmployees; i++) {
            if (employees[i].empId == empId) {
                struct Employee employee = employees[i];
    
                printf("请重新输入姓名(原姓名:%s):", employee.name);
                scanf("%s", &employee.name);
    
                printf("请重新输入性别(原性别:%c):", employee.gender);
                scanf(" %c", &employee.gender);
    
                printf("请重新输入年龄(原年龄:%d):", employee.age);
                scanf("%d", &employee.age);
    
                employees[i] = employee;
    
                printf("职工信息已修改成功!\n");
                return;
            }
        }
    
        printf("未找到该职工信息!\n");
    }
    
    1. 实现按照特定规则排序职工信息的功能。例如可以按照职工号升序排序。
    void sortEmployees() {
        for (int i = 0; i < numEmployees - 1; i++) {
            for (int j = 0; j < numEmployees - i - 1; j++) {
                if (employees[j].empId > employees[j + 1].empId) {
                    struct Employee temp = employees[j];
                    employees[j] = employees[j + 1];
                    employees[j + 1] = temp;
                }
            }
        }
    
        printf("职工信息已按照职工号排序成功!\n");
    }
    
    1. 实现一个用户界面,提供所有功能的选项供用户选择。
    int main() {
        int option;
    
        do {
            printf("请选择操作:\n");
            printf("1. 录入职工信息\n");
            printf("2. 显示职工信息\n");
            printf("3. 查找特定职工信息\n");
            printf("4. 删除职工信息\n");
            printf("5. 修改职工信息\n");
            printf("6. 按照特定规则排序职工信息\n");
            printf("0. 退出\n");
            printf("请选择:");
            scanf("%d", &option);
    
            switch (option) {
                case 1:
                    addEmployee();
                    break;
                case 2:
                    displayEmployees();
                    break;
                case 3:
                    findEmployee();
                    break;
                case 4:
                    deleteEmployee();
                    break;
                case 5:
                    modifyEmployee();
                    break;
                case 6:
                    sortEmployees();
                    break;
                case 0:
                    printf("已退出职工信息管理系统!\n");
                    break;
                default:
                    printf("无效的选择!\n");
                    break;
            }
        } while (option != 0);
    
        return 0;
    }
    

    希望这份代码可以满足您的需求。如果您有任何问题,请随时告诉我。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月31日
  • 已采纳回答 10月23日
  • 创建了问题 10月23日

悬赏问题

  • ¥15 在matlab中Application Compiler后的软件无法打开
  • ¥15 想问一下STM32创建工程模板时遇到得问题
  • ¥15 Fiddler抓包443
  • ¥20 Qt Quick Android 项目报错及显示问题
  • ¥15 而且都没有 OpenCVConfig.cmake文件我是不是需要安装opencv,如何解决?
  • ¥15 oracleBIEE analytics
  • ¥15 H.264选择性加密例程
  • ¥50 windows的SFTP服务器如何能批量同步用户信息?
  • ¥15 centos7.9升级python3.0的问题
  • ¥15 安装CentOS6时卡住