分享好友 数智知识首页 数智知识分类 切换频道

教师管理系统C语言代码实现与功能解析

以下是一个简化的C语言实现的教师管理系统,包括添加、删除和修改教师信息的功能。...
2025-01-07 17:23250

以下是一个简化的C语言实现的教师管理系统,包括添加、删除和修改教师信息的功能。

```c

#include

#include

typedef struct {

char name[50];

int age;

char subject[50];

} Teacher;

void add_teacher(Teacher *teachers, char *name, int age, char *subject) {

if (strlen(name) == 0 || strlen(subject) == 0) {

printf("输入的信息不能为空!

");

return;

}

strcpy(teachers[0].name, name);

teachers[0].age = age;

strcpy(teachers[0].subject, subject);

}

void delete_teacher(Teacher *teachers, int index) {

if (index < 0 || index >= sizeof(teachers)) {

printf("索引超出范围!

");

return;

}

    for (int i = index; i < sizeof(teachers)
  • 1; i++) {

teachers[i] = teachers[i + 1];

}

free(teachers[index].name);

free(teachers[index].age);

free(teachers[index].subject);

free(teachers);

}

void modify_teacher(Teacher *teachers, int index, char *new_name, int new_age, char *new_subject) {

if (index < 0 || index >= sizeof(teachers)) {

printf("索引超出范围!

");

return;

}

strcpy(teachers[index].name, new_name);

教师管理系统C语言代码实现与功能解析

teachers[index].age = new_age;

strcpy(teachers[index].subject, new_subject);

}

void display_teachers(Teacher *teachers) {

for (int i = 0; i < sizeof(teachers) / 2; i++) {

printf("姓名:%s,年龄:%d,科目:%s

", teachers[i].name, teachers[i].age, teachers[i].subject);

}

}

int main() {

Teacher teachers[100];

char name[50], subject[50];

int age, new_age, new_subject;

int index;

printf("请输入教师信息(姓名、年龄、科目):

");

while (scanf("%s %d %s", name, &age, subject) != EOF) {

add_teacher(teachers, name, age, subject);

printf("请输入要修改的教师索引(0-99):

");

scanf("%d", &index);

modify_teacher(teachers, index, name, age, subject);

printf("请输入新的姓名、年龄和科目(用空格隔开):

");

scanf("%s %d %s", name, &new_age, subject);

modify_teacher(teachers, index, name, new_age, subject);

printf("所有教师信息已更新!

");

display_teachers(teachers);

}

return 0;

}

```

功能解析:

1. `add_teacher`函数用于添加教师信息,接收一个指向教师数组的指针、教师姓名、年龄和科目作为参数。如果输入的信息为空,则提示错误并返回。

2. `delete_teacher`函数用于删除指定索引的教师信息,释放内存并返回。如果索引超出范围,则提示错误并返回。

3. `modify_teacher`函数用于修改指定索引的教师信息,接收一个指向教师数组的指针、新姓名、新年龄和科目作为参数。如果索引超出范围,则提示错误并返回。

4. `display_teachers`函数用于显示所有教师信息。遍历数组,将每个教师的信息打印出来。

5. `main`函数是程序的入口点,首先创建一个教师数组和一个字符串数组,然后循环读取用户输入的教师信息,调用相应的函数进行添加、修改和显示操作。

举报
收藏 0
推荐产品更多
蓝凌MK

办公自动化135条点评

4.5星

简道云

低代码开发平台85条点评

4.5星

帆软FineBI

商业智能软件93条点评

4.5星

纷享销客CRM

客户管理系统105条点评

4.5星

推荐知识更多