C语言实现企业员工管理系统开发

C语言实现企业员工管理系统开发攻略

1. 确定功能需求和数据结构

在开始编写代码之前,需要先确定功能需求和相应的数据结构。对于企业员工管理系统,通常需要包括以下功能:

  • 添加员工
  • 删除员工
  • 修改员工信息
  • 查询员工信息
  • 显示员工列表

其中,员工的信息通常包括姓名、年龄、性别、职位等。根据这些需求,可以定义如下数据结构:

// 定义 Employee 结构体,表示员工信息
typedef struct Employee{
    char name[20];  // 姓名
    int age;        // 年龄
    char gender;    // 性别
    char position[20];  // 职位
    struct Employee *next;  // 链表的下一个员工
} Employee;

// 定义全局变量,表示员工列表的头指针
Employee *head = NULL;

2. 实现功能模块

添加员工

添加员工的过程包括输入员工信息和将员工添加到列表中两个步骤。具体代码如下:

void addEmployee() {
    Employee *new_employee = (Employee*)malloc(sizeof(Employee));
    printf("请输入员工姓名:");
    scanf("%s", new_employee->name);
    printf("请输入员工年龄:");
    scanf("%d", &new_employee->age);
    printf("请输入员工性别:");
    scanf(" %c", &new_employee->gender);
    printf("请输入员工职位:");
    scanf("%s", new_employee->position);

    new_employee->next = head;
    head = new_employee;

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

删除员工

删除员工需要指定员工的姓名。由于员工信息保存在链表中,需要按照以下步骤进行:

  1. 找到需要删除的员工,同时找到该员工的前一个员工;
  2. 将前一个员工的指针指向需要删除的员工的下一个员工,即跳过需要删除的员工。

具体代码如下:

void deleteEmployee() {
    char name[20];
    printf("请输入需要删除的员工姓名:");
    scanf("%s", name);

    Employee *pre = NULL;
    Employee *cur = head;

    while(cur != NULL && strcmp(cur->name, name) != 0) {
        pre = cur;
        cur = cur->next;
    }

    if(cur == NULL) {
        printf("没有找到该员工!\n");
        return;
    }

    if(pre == NULL) {
        head = cur->next;
    } else {
        pre->next = cur->next;
    }

    free(cur);
    printf("删除成功!\n");
}

修改员工信息

修改员工信息同样需要指定员工的姓名。和删除员工类似,需要先找到需要修改的员工,然后修改相关信息。具体代码如下:

void modifyEmployee() {
    char name[20];
    printf("请输入需要修改的员工姓名:");
    scanf("%s", name);

    Employee *cur = head;
    while(cur != NULL && strcmp(cur->name, name) != 0) {
        cur = cur->next;
    }

    if(cur == NULL) {
        printf("没有找到该员工!\n");
        return;
    }

    printf("请输入员工姓名:");
    scanf("%s", cur->name);
    printf("请输入员工年龄:");
    scanf("%d", &cur->age);
    printf("请输入员工性别:");
    scanf(" %c", &cur->gender);
    printf("请输入员工职位:");
    scanf("%s", cur->position);

    printf("修改成功!\n");
}

查询员工信息

查询员工信息需要指定员工的姓名,查找员工并输出其相关信息即可。代码如下:

void queryEmployee() {
    char name[20];
    printf("请输入需要查询的员工姓名:");
    scanf("%s", name);

    Employee *cur = head;
    while(cur != NULL && strcmp(cur->name, name) != 0) {
        cur = cur->next;
    }

    if(cur == NULL) {
        printf("没有找到该员工!\n");
        return;
    }

    printf("姓名:%s\n", cur->name);
    printf("年龄:%d\n", cur->age);
    printf("性别:%c\n", cur->gender);
    printf("职位:%s\n", cur->position);
}

显示员工列表

显示员工列表需要遍历链表,依次输出每一个员工的信息。代码如下:

void displayList() {
    printf("姓名\t年龄\t性别\t职位\n");

    Employee *cur = head;
    while(cur != NULL) {
        printf("%s\t%d\t%c\t%s\n", cur->name, cur->age, cur->gender, cur->position);
        cur = cur->next;
    }
}

3. 完善程序并测试

将上述五个功能模块组合起来,形成完整的程序。在编写程序时,还需要添加程序界面、数据的存储、输入合法性的验证等功能。

下面给出两个示例:

示例1:添加一个员工并查询

1. 添加员工
2. 删除员工
3. 修改员工信息
4. 查询员工信息
5. 显示员工列表
0. 退出

请选择操作:1
请输入员工姓名:张三
请输入员工年龄:25
请输入员工性别:M
请输入员工职位:工程师
添加成功!

请选择操作:4
请输入需要查询的员工姓名:张三
姓名:张三
年龄:25
性别:M
职位:工程师

请选择操作:0

示例2:添加多个员工并显示员工列表

1. 添加员工
2. 删除员工
3. 修改员工信息
4. 查询员工信息
5. 显示员工列表
0. 退出

请选择操作:1
请输入员工姓名:张三
请输入员工年龄:25
请输入员工性别:M
请输入员工职位:工程师
添加成功!

请选择操作:1
请输入员工姓名:李四
请输入员工年龄:30
请输入员工性别:M
请输入员工职位:项目经理
添加成功!

请选择操作:5
姓名  年龄  性别  职位
李四  30  M   项目经理
张三  25  M   工程师

请选择操作:0

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言实现企业员工管理系统开发 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • C语言实现AT指令ASCII码的拼接处理流程

    C语言实现AT指令ASCII码的拼接处理是一个常见且重要的编程任务。实现这一目标,需要了解AT指令的基本格式和ASCLL码的相关知识,以及C语言字符串操作函数的使用。 以下是C语言实现AT指令ASCII码的拼接处理的完整攻略: 1. 确定AT指令格式 AT指令是一种规范化的命令语言,主要用于移动通信设备和终端设备之间的控制与数据传输。根据AT指令的格式,我们…

    C 2023年5月23日
    00
  • 小米4c怎么样?小米4C发布会全程回放(图文评测)

    小米4c评测攻略 简介 小米4c是小米科技于2015年9月发布的一款手机,标志着小米4系列的升级。这款手机拥有优秀的性能和良好的用户体验,是一款性价比较高的手机。 在本篇攻略中,我们将全面讲解小米4c的机型特点,性能表现,使用评测等相关内容,以帮助感兴趣的用户更好地了解小米4c的情况。 小米4c机型特点 小米4c继承了小米4系列的设计风格,整体外观简单大方。…

    C 2023年5月22日
    00
  • VScode如何调用KEIL-MDK

    一、安装插件 在VSCode中搜索并安装名为”Cortex-Debug”的插件。 安装插件后,按下F1键或Ctrl+Shift+P打开命令面板,在搜索框中输入”Cortex-Debug: Install GDB”,安装GDB。 二、安装Keil-MDK和ARM公司提供的软件包 下载并安装Keil-MDK,网址:https://www.keil.com/dem…

    C 2023年5月23日
    00
  • C语言代码实现扫雷游戏

    下面我会详细讲解一下“C语言代码实现扫雷游戏”的完整攻略。 环境及工具准备 在进行C语言代码实现扫雷游戏之前,需要准备以下环境及工具: C语言编译器,比如gcc、clang等; 图形化库,比如SDL、OpenGL等; 编辑器,比如VS Code、Sublime Text等。 这里以使用gcc编译器,SDL图形化库,VS Code编辑器为例进行讲解。 第一步:…

    C 2023年5月23日
    00
  • 提升编程能力的C语言技巧总结

    提升编程能力的C语言技巧总结 提升编程能力的C语言技巧总结主要包括以下几个方面: 1. 深入理解指针的概念和用法 指针是C语言的重要概念之一,深入理解指针的概念和用法有助于提升编程能力。下面是两个指针的示例。 示例1:指针作为函数参数 void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp;…

    C 2023年5月23日
    00
  • Python 对象序列化与反序列化之pickle json详细解析

    Python 对象序列化与反序列化之pickle json详细解析 什么是序列化和反序列化 在计算机科学中,”序列化”是指将数据结构或对象状态转换为可以存储或传输的格式的过程。反之,”反序列化”则是将存储或传输的格式恢复成对象的状态的过程。序列化的一种常见应用是在客户端和服务器之间传输数据。 pickle 序列化和反序列化 Pickle 模块实现了基本的数据…

    C 2023年5月23日
    00
  • C语言如何用顺序栈实现回文序列判断

    C语言可以利用顺序栈来实现回文序列的判断,下面是实现的完整攻略。 什么是回文序列? 回文序列是一个正读与反读都相同的序列,例如:121, abccba。 用顺序栈实现回文序列判断 算法思路 回文序列的判断可以利用栈的先进后出的特性,我们可以将序列的前一半依次入栈,后一半依次和栈中元素进行出栈比较。如果每次比较都相等,则说明是回文序列。 代码实现 下面是C语言…

    C 2023年5月23日
    00
  • office2019最新激活秘钥分享 附office2019免费版+激活工具

    Office2019激活秘钥分享及激活工具使用攻略 本文将为大家提供Office2019最新激活秘钥、Office2019免费版及激活工具的下载和使用方法,方便用户体验并提高工作效率。 Office2019最新激活秘钥分享 Office2019是微软推出的办公软件套装,被广泛用于商业、教育以及家庭等不同领域。以下是最新的Office2019激活秘钥: 键值1…

    C 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部