创建一个职工资源管理系统可以用 C 语言来实现,这个系统可以用来管理职工的基本信息,如姓名、工号、部门等。下面是一个简单的例子,展示了如何用 C 语言来设计这样一个系统,包括添加、查询、删除职工信息的功能。
1. 定义职工结构体
首先,我们需要定义一个结构体来存储职工的信息。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_EMPLOYEES 100 // 最大员工数量
#define NAME_MAX_LENGTH 50 // 姓名最大长度
typedef struct {
char name[NAME_MAX_LENGTH];
int id;
char department[NAME_MAX_LENGTH];
} Employee;
Employee employees[MAX_EMPLOYEES]; // 存储员工信息的数组
int count = 0; // 当前员工数量
2. 实现功能函数
接下来,实现添加、查询和删除职工信息的功能。
void add_employee() {
if (count >= MAX_EMPLOYEES) {
printf("员工已满,无法添加。\n");
return;
}
Employee emp;
printf("请输入员工姓名: ");
fgets(emp.name, NAME_MAX_LENGTH, stdin);
emp.name[strcspn(emp.name, "\n")] = 0; // 去除换行符
printf("请输入员工ID: ");
scanf("%d", &emp.id);
getchar(); // 清除输入缓冲区的换行符
printf("请输入员工所在部门: ");
fgets(emp.department, NAME_MAX_LENGTH, stdin);
emp.department[strcspn(emp.department, "\n")] = 0; // 去除换行符
employees[count++] = emp;
printf("员工添加成功。\n");
}
void find_employee(int id) {
for (int i = 0; i < count; ++i) {
if (employees[i].id == id) {
printf("找到员工:\n");
printf("姓名: %s\n", employees[i].name);
printf("ID: %d\n", employees[i].id);
printf("部门: %s\n", employees[i].department);
return;
}
}
printf("未找到指定ID的员工。\n");
}
void delete_employee(int id) {
int index = -1;
for (int i = 0; i < count; ++i) {
if (employees[i].id == id) {
index = i;
break;
}
}
if (index != -1) {
for (int i = index; i < count - 1; ++i) {
employees[i] = employees[i + 1];
}
--count;
printf("员工删除成功。\n");
} else {
printf("未找到指定ID的员工。\n");
}
}
void show_menu() {
printf("请选择操作:\n");
printf("1. 添加员工\n");
printf("2. 查询员工\n");
printf("3. 删除员工\n");
printf("4. 退出\n");
}
int main() {
int choice, id;
while (1) {
show_menu();
printf("请输入您的选择: ");
scanf("%d", &choice);
switch (choice) {
case 1:
add_employee();
break;
case 2:
printf("请输入要查询的员工ID: ");
scanf("%d", &id);
find_employee(id);
break;
case 3:
printf("请输入要删除的员工ID: ");
scanf("%d", &id);
delete_employee(id);
break;
case 4:
printf("退出系统。\n");
return 0;
default:
printf("无效的选择,请重新输入。\n");
break;
}
}
return 0;
}
说明
- 这个系统使用了简单的控制台菜单让用户选择操作。
add_employee
函数用于添加新的员工记录。find_employee
函数根据给定的员工ID查找员工信息。delete_employee
函数根据员工ID删除员工记录。- 主循环不断地显示菜单,并根据用户的输入执行相应的操作。
这个简单的系统没有持久化存储机制,一旦程序关闭,所有数据都会丢失。如果需要保存数据,可以考虑将数据写入文件或数据库中。