员工工资管理系统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语言代码示例还可以进一步完善和扩展。以下是一些可能的改进和扩展点:
删除员工:可以添加一个删除员工的功能,让用户输入要删除的员工姓名,然后在数组中查找并删除该员工的信息。
修改员工信息:可以添加一个修改员工信息的功能,让用户输入要修改的员工姓名,然后在数组中查找并修改该员工的信息。
数据持久化:可以将员工信息保存到文件中,以便下次运行程序时可以读取之前保存的员工信息。
排序功能:可以添加一个排序功能,让用户可以按照姓名、年龄或工资对员工信息进行排序显示。
数据校验:可以在添加员工和修改员工信息时,对用户输入的数据进行校验,确保输入的年龄和工资是合法的。
用户界面优化:可以使用图形界面或者菜单选择方式来替代命令行界面,提供更友用户交互体验。
多种查询方式:可以添加根据年龄、工资范围等条件进行查询的功能。
这些是一些可能的改进和扩展点,你可以根据实际需求和个人能力进行进一步的开发和完善。