要實現一個簡單的職工信息管理系統,可以使用C語言結合文件操作來實現。以下是一個簡單的示例:
#include <stdio.h>
#include <stdlib.h>
#define MAX_EMPLOYEES 100
struct Employee {
char name[50];
int age;
float salary;
};
void addEmployee(struct Employee employees[], int* count);
void displayEmployees(struct Employee employees[], int count);
int main() {
struct Employee employees[MAX_EMPLOYEES];
int count = 0;
int choice;
do {
printf("1. Add employee\n");
printf("2. Display employees\n");
printf("3. Quit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch(choice) {
case 1:
addEmployee(employees, &count);
break;
case 2:
displayEmployees(employees, count);
break;
case 3:
printf("Exiting program\n");
break;
default:
printf("Invalid choice\n");
break;
}
} while(choice != 3);
return 0;
}
void addEmployee(struct Employee employees[], int* count) {
if (*count >= MAX_EMPLOYEES) {
printf("Maximum number of employees reached\n");
return;
}
printf("Enter employee name: ");
scanf("%s", employees[*count].name);
printf("Enter employee age: ");
scanf("%d", &employees[*count].age);
printf("Enter employee salary: ");
scanf("%f", &employees[*count].salary);
(*count)++;
}
void displayEmployees(struct Employee employees[], int count) {
if (count == 0) {
printf("No employees to display\n");
return;
}
printf("Employee information:\n");
for (int i = 0; i < count; i++) {
printf("Name: %s\n", employees[i].name);
printf("Age: %d\n", employees[i].age);
printf("Salary: %.2f\n", employees[i].salary);
printf("--------------------\n");
}
}
這個示例代碼中,定義了一個結構體 Employee
表示職工的信息,包含了姓名、年齡和工資。使用 addEmployee
函數可以添加職工,使用 displayEmployees
函數可以顯示所有職工的信息。
程序通過一個循環菜單實現交互,用戶可以選擇添加職工、顯示職工信息或退出程序。
在實際使用中,可以將職工信息保存到文件中,比如使用 fopen
函數打開一個文件,使用 fprintf
函數將職工信息寫入文件,使用 fscanf
函數從文件讀取職工信息。