运用c语言编写程序:高校职工信息管理系统
时间: 2024-10-16 17:03:40 浏览: 19
C语言教工工资管理系统.rar
在C语言中设计一个高校职工信息管理系统,首先需要明确基本的数据结构和功能需求。以下是一个简化的例子,包括创建员工信息结构体、添加、删除和查询员工等操作:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义员工信息结构体
typedef struct {
char name[50];
char id[10];
int age;
char department[50];
} Employee;
// 动态分配内存并初始化新员工
Employee* create_employee(char* name, char* id, int age, char* department) {
Employee* new_employee = (Employee*)malloc(sizeof(Employee));
strcpy(new_employee->name, name);
strcpy(new_employee->id, id);
new_employee->age = age;
strcpy(new_employee->department, department);
return new_employee;
}
// 添加员工
void add_employee(Employee** employees, int* count) {
char name[50], id[10], department[50];
printf("Enter employee information: ");
scanf("%s %s %d %s", name, id, &(*count), department);
(*employees)[(*count)++] = create_employee(name, id, (*count), department);
}
// 删除员工
void delete_employee(Employee** employees, int size) {
if (size > 0) {
free(employees[size]);
for (int i = size - 1; i >= 0; i--) {
employees[i] = employees[i + 1];
}
employees[size - 1] = NULL;
}
}
// 查询员工
void search_employee(const Employee* employees, int count) {
int index;
char input_id[10];
printf("Enter ID to search: ");
scanf("%s", input_id);
for (index = 0; index < count; index++) {
if (!strcmp(employees[index].id, input_id)) {
printf("Name: %s, Age: %d, Department: %s\n", employees[index].name, employees[index].age, employees[index].department);
break;
}
}
if (index == count) {
printf("No employee found with that ID.\n");
}
}
int main() {
Employee* employees = NULL;
int count = 0;
// 其他操作如添加、删除、搜索,这里只给出部分示例
return 0;
}
```
这只是一个基础的框架,实际应用中可能还需要考虑错误处理、文件持久化存储以及用户界面等问题。在运行这个程序之前,记得包含适当的输入验证以保证数据的有效性和安全性。
阅读全文