帮我写一段工资管理系统的c语言代码
时间: 2023-08-28 13:30:17 浏览: 92
好的,以下是一个简单的工资管理系统的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Employee {
char name[30];
int salary;
int age;
};
void addEmployee(struct Employee *employees, int *size) {
printf("Enter employee name: ");
scanf("%s", employees[*size].name);
printf("Enter employee salary: ");
scanf("%d", &employees[*size].salary);
printf("Enter employee age: ");
scanf("%d", &employees[*size].age);
(*size)++;
}
void displayEmployees(struct Employee *employees, int size) {
printf("Employee Name\tSalary\tAge\n");
for (int i = 0; i < size; i++) {
printf("%s\t%d\t%d\n", employees[i].name, employees[i].salary, employees[i].age);
}
}
void displayMenu() {
printf("\n1. Add Employee\n");
printf("2. Display Employees\n");
printf("3. Exit\n");
}
int main() {
int choice;
struct Employee *employees = malloc(sizeof(struct Employee) * 100);
int size = 0;
do {
displayMenu();
printf("Enter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
addEmployee(employees, &size);
break;
case 2:
displayEmployees(employees, size);
break;
case 3:
printf("Exiting program...\n");
break;
default:
printf("Invalid choice!\n");
}
} while (choice != 3);
free(employees);
return 0;
}
```
在这个代码中,我们定义了一个 `Employee` 结构体,包括了员工的姓名、工资和年龄。我们使用动态分配内存的方式来储存所有员工的信息,使得我们能够根据需要添加多个员工。
程序中有三个主要的函数。`addEmployee` 函数用于添加新员工,`displayEmployees` 函数用于显示所有员工的信息,`displayMenu` 函数用于显示主菜单。
在主函数中,我们使用一个循环来等待用户输入菜单选项。当用户选择添加新员工时,我们调用 `addEmployee` 函数来添加一个新员工。当用户选择显示所有员工时,我们调用 `displayEmployees` 函数来显示所有员工的信息。当用户选择退出程序时,我们退出循环并释放动态分配的内存。
请注意,这个代码只是一个简单的示例,可能需要根据实际需求进行修改和扩展。
阅读全文