C语言实现简单员工工资管理系统

C语言实现简单员工工资管理系统

简介

本文旨在介绍如何使用C语言实现一个简单的员工工资管理系统。该系统可以用于输入员工基本信息,录入工资数据和计算每个员工的工资。其主要功能模块包括:输入员工基本信息、录入工资数据、计算员工工资、显示员工工资信息。

基本功能

  1. 输入员工基本信息:包括员工的姓名、性别、年龄、工龄等信息。

示例代码:

```c
struct employee {
char name[20];
char gender[10];
int age;
int workExperience;
};

struct employee getEmployeeInfo() {
struct employee emp;
printf("请输入员工姓名:");
scanf("%s", emp.name);
printf("请输入员工性别:");
scanf("%s", emp.gender);
printf("请输入员工年龄:");
scanf("%d", &emp.age);
printf("请输入员工工龄:");
scanf("%d", &emp.workExperience);
return emp;
}
```

  1. 录入工资数据:针对每个月的具体情况,输入员工的基本工资、加班工资、津贴、罚款等数据。

示例代码:

```c
struct salary {
float basicSalary;
float overtimeSalary;
float allowance;
float fine;
};

struct salary getSalaryInfo() {
struct salary sal;
printf("请输入员工基本工资:");
scanf("%f", &sal.basicSalary);
printf("请输入员工加班工资:");
scanf("%f", &sal.overtimeSalary);
printf("请输入员工津贴:");
scanf("%f", &sal.allowance);
printf("请输入员工罚款:");
scanf("%f", &sal.fine);
return sal;
}
```

  1. 计算员工工资:根据录入的工资数据,计算员工的每月工资。

示例代码:

```c
struct employee_salary {
struct employee emp;
struct salary sal;
float totalSalary;
};

struct employee_salary calculateEmployeeSalary(struct employee emp, struct salary sal) {
struct employee_salary empSal;
empSal.emp = emp;
empSal.sal = sal;
empSal.totalSalary = sal.basicSalary + sal.overtimeSalary + sal.allowance - sal.fine;
return empSal;
}
```

  1. 显示员工工资信息:列出所有员工的工资信息。

示例代码:

c
void displayEmployeeSalary(struct employee_salary empSal) {
printf("员工姓名:%s\n", empSal.emp.name);
printf("员工性别:%s\n", empSal.emp.gender);
printf("员工年龄:%d\n", empSal.emp.age);
printf("员工工龄:%d\n", empSal.emp.workExperience);
printf("基本工资:%f\n", empSal.sal.basicSalary);
printf("加班工资:%f\n", empSal.sal.overtimeSalary);
printf("津贴:%f\n", empSal.sal.allowance);
printf("罚款:%f\n", empSal.sal.fine);
printf("总工资:%f\n", empSal.totalSalary);
}

流程

  1. 编写代码前,先确定系统的基本功能模块。
  2. 分别编写输入员工基本信息、录入工资数据、计算员工工资、显示员工工资信息的代码。
  3. 在主方法中实现四个模块的调用。
  4. 编译运行程序。

示例代码:

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

struct employee {
    char name[20];
    char gender[10];
    int age;
    int workExperience;
};

struct salary {
    float basicSalary;
    float overtimeSalary;
    float allowance;
    float fine;
};

struct employee_salary {
    struct employee emp;
    struct salary sal;
    float totalSalary;
};

struct employee getEmployeeInfo() {
    struct employee emp;
    printf("请输入员工姓名:");
    scanf("%s", emp.name);
    printf("请输入员工性别:");
    scanf("%s", emp.gender);
    printf("请输入员工年龄:");
    scanf("%d", &emp.age);
    printf("请输入员工工龄:");
    scanf("%d", &emp.workExperience);
    return emp;
}

struct salary getSalaryInfo() {
    struct salary sal;
    printf("请输入员工基本工资:");
    scanf("%f", &sal.basicSalary);
    printf("请输入员工加班工资:");
    scanf("%f", &sal.overtimeSalary);
    printf("请输入员工津贴:");
    scanf("%f", &sal.allowance);
    printf("请输入员工罚款:");
    scanf("%f", &sal.fine);
    return sal;
}

struct employee_salary calculateEmployeeSalary(struct employee emp, struct salary sal) {
    struct employee_salary empSal;
    empSal.emp = emp;
    empSal.sal = sal;
    empSal.totalSalary = sal.basicSalary + sal.overtimeSalary + sal.allowance - sal.fine;
    return empSal;
}

void displayEmployeeSalary(struct employee_salary empSal) {
    printf("员工姓名:%s\n", empSal.emp.name);
    printf("员工性别:%s\n", empSal.emp.gender);
    printf("员工年龄:%d\n", empSal.emp.age);
    printf("员工工龄:%d\n", empSal.emp.workExperience);
    printf("基本工资:%f\n", empSal.sal.basicSalary);
    printf("加班工资:%f\n", empSal.sal.overtimeSalary);
    printf("津贴:%f\n", empSal.sal.allowance);
    printf("罚款:%f\n", empSal.sal.fine);
    printf("总工资:%f\n", empSal.totalSalary);
}

int main() {
    int numberOfEmployees;
    printf("请输入员工人数:");
    scanf("%d", &numberOfEmployees);

    struct employee_salary employeeSalaryArray[numberOfEmployees];

    for (int i = 0; i < numberOfEmployees; i++) {
        printf("请输入第 %d 个员工的信息:\n", i+1);
        struct employee emp = getEmployeeInfo();
        struct salary sal = getSalaryInfo();
        employeeSalaryArray[i] = calculateEmployeeSalary(emp, sal);
    }
    printf("\n\n");

    for (int i = 0; i < numberOfEmployees; i++) {
        displayEmployeeSalary(employeeSalaryArray[i]);
        printf("\n\n");
    }
}

总结

本文简要介绍了如何使用C语言实现一个简单的员工工资管理系统,包括输入员工基本信息、录入工资数据、计算员工工资、显示员工工资信息四个模块。在实现过程中,需要注意数据类型的定义和函数模块的调用。当然,还有很多需要完善的地方,例如数据存储、多种计算方法等。

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

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

相关文章

  • C语言的语法风格与代码书写规范指南

    C语言的语法风格与代码书写规范指南 C语言作为一门编程语言,具有严谨、简洁、高效的特点。为了使得代码易于维护、易于理解、易于扩展,需要遵守一些语法风格与代码书写规范。 命名规范 变量名、函数名等采用小写字母加下划线的方式,如:user_id 宏定义采用全部大写的方式,如:#define MAX_NUM 100 结构体名、枚举类型名首字母大写,采用驼峰命名法,…

    C 2023年5月23日
    00
  • 在C语言编程中设置和获取代码组数的方法

    设置和获取代码组数的方法主要是通过定义并使用数组的方式来实现的。下面是详细的C语言编程攻略: 创建一个数组来存储代码组数 首先,我们需要定义一个数组来存储代码组数。假设我们想要存储10组代码,可以这样定义一个名为code_num的整型数组: int code_num[10]; 在上面的代码中,我们定义了一个名为code_num的整型数组,并指定它的大小为10…

    C 2023年5月24日
    00
  • C语言实现密码程序

    实现密码程序可以采用C语言编程,下面是实现密码程序的详细攻略: 步骤一:设计密码 首先需要确定你想要设计的密码类型和密码长度。一般来说,密码类型有数字、字母和符号,长度越长越安全。在编写程序之前,你需要确定一个密码并将其记录下来。 步骤二:编写代码 引入头文件和变量设置 首先引入stdio.h头文件,定义变量password、user_password和co…

    C 2023年5月23日
    00
  • Clion配置C语言环境的步骤详解

    Clion配置C语言环境的步骤详解 在使用Clion编写C语言程序时,需要先进行环境配置,具体步骤如下: 步骤一:安装CMake Clion使用CMake来管理项目,因此需要先安装CMake。 具体步骤如下: 访问CMake官网:https://cmake.org/ 下载相应操作系统的安装程序,例如Windows系统下载 .msi文件。 安装CMake。 步…

    C 2023年5月23日
    00
  • C程序 插入排序

    下面是关于”C程序 插入排序”的完整使用攻略。 插入排序是什么? 插入排序是一种简单直观的、比较常用的排序算法。其基本思想是将待排序的数组分成两部分,已排序和未排序,然后将未排序的元素一个一个插入到已排序部分的正确位置上,直到整个数组都被排序。 插入排序的实现 下面是一份C程序的插入排序实现,以进行升序排序为例。 #include <stdio.h&g…

    C 2023年5月9日
    00
  • win10快捷方式图标异常怎么办?

    当win10快捷方式图标异常时,可以尝试以下解决方法: 方法一:重新建立图标缓存 按下Win + R键组合键打开运行窗口,输入cmd,按下Ctrl+Shift+Enter组合键,以管理员身份运行命令提示符。 在命令提示符窗口中,输入以下命令并按下回车键:taskkill /f /im explorer.exe。 等待至桌面中的所有图标消失,继续在命令提示符窗…

    C 2023年5月23日
    00
  • C++命令行解析包gflags的使用教程

    C++命令行解析包gflags的使用教程 什么是gflags? gflags是Google开源的C++命令行解析包,可以方便的对C++程序进行命令行参数的解析,自动生成帮助信息等操作。使用gflags需要引入头文件。 gflags的基本用法 在C++程序中使用gflags的过程中,主要可以通过两个宏定义来添加命令行参数: DEFINE_xx: 定义一个命令行…

    C 2023年5月23日
    00
  • 联发科Helio G70/G70T处理器怎么样 联发科Helio G70/G70T处理器介绍

    联发科Helio G70/G70T处理器介绍 联发科Helio G70/G70T处理器是联发科(MediaTek)公司推出的一款面向入门级别手机的处理器芯片,该处理器采用12nm工艺制程,搭配Mali-G52 MC2 GPU,具备优异的性价比表现。本文将详细介绍该处理器的性能和特点。 性能表现 联发科Helio G70/G70T处理器采用2颗Cortex-A…

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