c语言代码设计一个工资管理系统,可以通过计算员工的基本工资、奖金、岗位津贴、公积金等得到应发工资总额,并具有添加、修改、删除、查询、排序等基本的功能模块。
时间: 2023-07-04 12:14:32 浏览: 67
好的,以下是一个简单的C语言程序,可以实现工资管理系统的基本功能:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_EMPLOYEES 100 // 最大员工数
// 定义员工结构体
typedef struct {
char name[20]; // 姓名
float basic_salary; // 基本工资
float bonus; // 奖金
float allowance; // 岗位津贴
float public_fund; // 公积金
float total_salary; // 应发工资总额
} Employee;
// 全局变量
Employee employees[MAX_EMPLOYEES]; // 员工数组
int num_employees = 0; // 当前员工数
// 函数声明
void add_employee();
void modify_employee();
void delete_employee();
void query_employee();
void sort_employees();
// 主函数
int main() {
int choice;
while (1) {
// 显示菜单
printf("\n======== 工资管理系统 ========\n");
printf("1. 添加员工\n");
printf("2. 修改员工\n");
printf("3. 删除员工\n");
printf("4. 查询员工\n");
printf("5. 排序员工\n");
printf("0. 退出系统\n");
printf("请输入操作选项:");
scanf("%d", &choice);
// 根据用户选择执行相应的操作
switch (choice) {
case 0:
printf("谢谢使用,再见!\n");
exit(0);
case 1:
add_employee();
break;
case 2:
modify_employee();
break;
case 3:
delete_employee();
break;
case 4:
query_employee();
break;
case 5:
sort_employees();
break;
default:
printf("无效的操作选项,请重新输入!\n");
break;
}
}
return 0;
}
// 添加员工
void add_employee() {
if (num_employees >= MAX_EMPLOYEES) {
printf("员工数已达到上限,无法添加员工!\n");
return;
}
Employee emp;
printf("请输入姓名:");
scanf("%s", emp.name);
printf("请输入基本工资:");
scanf("%f", &emp.basic_salary);
printf("请输入奖金:");
scanf("%f", &emp.bonus);
printf("请输入岗位津贴:");
scanf("%f", &emp.allowance);
printf("请输入公积金:");
scanf("%f", &emp.public_fund);
emp.total_salary = emp.basic_salary + emp.bonus + emp.allowance - emp.public_fund;
employees[num_employees++] = emp;
printf("员工添加成功!\n");
}
// 修改员工
void modify_employee() {
char name[20];
printf("请输入要修改的员工姓名:");
scanf("%s", name);
int found = 0;
for (int i = 0; i < num_employees; i++) {
if (strcmp(name, employees[i].name) == 0) {
printf("请输入基本工资:");
scanf("%f", &employees[i].basic_salary);
printf("请输入奖金:");
scanf("%f", &employees[i].bonus);
printf("请输入岗位津贴:");
scanf("%f", &employees[i].allowance);
printf("请输入公积金:");
scanf("%f", &employees[i].public_fund);
employees[i].total_salary = employees[i].basic_salary + employees[i].bonus + employees[i].allowance - employees[i].public_fund;
printf("员工修改成功!\n");
found = 1;
break;
}
}
if (!found) {
printf("未找到该员工,请重新输入!\n");
}
}
// 删除员工
void delete_employee() {
char name[20];
printf("请输入要删除的员工姓名:");
scanf("%s", name);
int found = 0;
for (int i = 0; i < num_employees; i++) {
if (strcmp(name, employees[i].name) == 0) {
for (int j = i; j < num_employees - 1; j++) {
employees[j] = employees[j + 1];
}
num_employees--;
printf("员工删除成功!\n");
found = 1;
break;
}
}
if (!found) {
printf("未找到该员工,请重新输入!\n");
}
}
// 查询员工
void query_employee() {
char name[20];
printf("请输入要查询的员工姓名:");
scanf("%s", name);
int found = 0;
for (int i = 0; i < num_employees; i++) {
if (strcmp(name, employees[i].name) == 0) {
printf("姓名\t基本工资\t奖金\t岗位津贴\t公积金\t应发工资总额\n");
printf("%s\t%.2f\t\t%.2f\t%.2f\t\t%.2f\t%.2f\n", employees[i].name, employees[i].basic_salary, employees[i].bonus, employees[i].allowance, employees[i].public_fund, employees[i].total_salary);
found = 1;
break;
}
}
if (!found) {
printf("未找到该员工,请重新输入!\n");
}
}
// 排序员工
void sort_employees() {
for (int i = 0; i < num_employees - 1; i++) {
for (int j = 0; j < num_employees - i - 1; j++) {
if (employees[j].total_salary < employees[j + 1].total_salary) {
Employee temp = employees[j];
employees[j] = employees[j + 1];
employees[j + 1] = temp;
}
}
}
printf("姓名\t基本工资\t奖金\t岗位津贴\t公积金\t应发工资总额\n");
for (int i = 0; i < num_employees; i++) {
printf("%s\t%.2f\t\t%.2f\t%.2f\t\t%.2f\t%.2f\n", employees[i].name, employees[i].basic_salary, employees[i].bonus, employees[i].allowance, employees[i].public_fund, employees[i].total_salary);
}
}
```
这个程序实现了工资管理系统的基本功能,可以添加、修改、删除、查询和排序员工信息。具体的实现细节可以根据实际需求进行改进和优化。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)