C语言学生管理系统删除
时间: 2023-05-29 14:03:36 浏览: 59
以下是C语言学生管理系统删除的示例代码:
```
#include <stdio.h>
#include <string.h>
struct student {
int id;
char name[20];
int age;
};
int main() {
struct student stu[100];
int n, i, j, id, flag;
printf("请输入学生人数:");
scanf("%d", &n);
for (i = 0; i < n; i++) {
printf("请输入第%d个学生的信息:\n", i + 1);
printf("学号:");
scanf("%d", &stu[i].id);
printf("姓名:");
scanf("%s", stu[i].name);
printf("年龄:");
scanf("%d", &stu[i].age);
}
printf("请输入要删除的学生的学号:");
scanf("%d", &id);
flag = 0;
for (i = 0; i < n; i++) {
if (stu[i].id == id) {
for (j = i; j < n - 1; j++) {
stu[j].id = stu[j + 1].id;
strcpy(stu[j].name, stu[j + 1].name);
stu[j].age = stu[j + 1].age;
}
flag = 1;
break;
}
}
if (flag == 1) {
printf("删除成功!\n");
n--;
for (i = 0; i < n; i++) {
printf("第%d个学生的信息:\n", i + 1);
printf("学号:%d\n", stu[i].id);
printf("姓名:%s\n", stu[i].name);
printf("年龄:%d\n", stu[i].age);
}
} else {
printf("没有找到该学生的信息!\n");
}
return 0;
}
```
这段代码中,首先定义了一个结构体类型 `student`,其中包含学生的学号、姓名和年龄。然后通过 `scanf` 函数从键盘输入学生的信息,并将其存储到一个数组中。接着通过 `scanf` 函数输入要删除的学生的学号,并在数组中查找该学生的信息。如果找到了该学生的信息,则将其后面的所有学生信息依次向前移动一位,并将学生人数减一。最后输出剩余学生的信息。
需要注意的是,该代码中只能删除一个学生的信息。如果需要删除多个学生的信息,则需要在循环中继续查找并删除。同时,为了简化代码,该示例中未进行输入值的合法性检查。在实际使用时,需要对输入的值进行判断,以避免出现错误。