#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义员工结构体
typedef struct {
char name[50];
int age;
float salary;
} Employee;
// 显示菜单
void showMenu() {
printf(“1. 添加员工\n”);
printf(“2. 查看员工信息\n”);
printf(“3. 修改员工信息\n”);
printf(“4. 删除员工\n”);
printf(“5. 退出\n”);
}
// 添加员工
void addEmployee(Employee *employees, int *numEmployees) {
Employee newEmployee;
printf(“请输入员工姓名: “);
scanf(”%s”, newEmployee.name);
printf(“请输入员工年龄: “);
scanf(”%d”, &newEmployee.age);
printf(“请输入员工工资: “);
scanf(”%f”, &newEmployee.salary);
employees[*numEmployees] = newEmployee;
(*numEmployees)++;
}
// 查看员工信息
void viewEmployee(Employee *employees, int numEmployees) {
printf(“员工信息列表:\n”);
for (int i = 0; i < numEmployees; i++) {
printf(“%d. 姓名: %s, 年龄: %d, 工资: %.2f\n”, i + 1, employees[i].name, employees[i].age, employees[i].salary);
}
}
// 修改员工信息
void modifyEmployee(Employee *employees, int numEmployees) {
int choice;
printf(“请选择要修改的员工编号: “);
scanf(”%d”, &choice);
if (choice >= 1 && choice <= numEmployees) {
printf("请输入新的员工姓名: ");
scanf("%s", employees[choice - 1].name);
printf("请输入新的员工年龄: ");
scanf("%d", &employees[choice - 1].age);
printf("请输入新的员工工资: ");
scanf("%f", &employees[choice - 1].salary);
printf("修改成功!\n");
} else {
printf("无效的选择!\n");
}
}
// 删除员工
void deleteEmployee(Employee *employees, int *numEmployees) {
int choice;
printf(“请选择要删除的员工编号: “);
scanf(”%d”, &choice);
if (choice >= 1 && choice <= *numEmployees) {
for (int i = choice - 1; i < *numEmployees - 1; i++) {
employees[i] = employees[i + 1];
}
(*numEmployees)--;
printf("删除成功!\n");
} else {
printf("无效的选择!\n");
}
}
int main() {
Employee employees[100]; // 假设最多存储 100 名员工
int numEmployees = 0;
int choice;
do {
showMenu();
printf("请选择操作: ");
scanf("%d", &choice);
switch (choice) {
case 1:
addEmployee(employees, &numEmployees);
break;
case 2:
viewEmployee(employees, numEmployees);
break;
case 3:
modifyEmployee(employees, numEmployees);
break;
case 4:
deleteEmployee(employees, &numEmployees);
break;
case 5:
printf("退出程序\n");
break;
default:
printf("无效的选择,请重新输入\n");
}
} while (choice!= 5);
return 0;
}