5. 删除班级功能的实现
删除班级功能中,需要先显示班级列表,然后在班级列表中选择班级的编号。根据班号来确认要删除班级的位置,即班级编号减一。
删除班级时,我们将此班级后面的班级的数据依次前移,用后面一个覆盖前一个。然后将 class_room_count 做减一操作。
具体代码如下
文件 school.c
// 删除班级
void del_class_room(void)
{
int number = 0;
int index;
list_all_class_room();
printf("请输入删除班级的序号: ");
fflush(stdout);
scanf("%d", &number);
index = number - 1; // 对应列表的索引
if (index < 0 || index >= class_room_count) {
printf("您输入的序号有误,删除失败!\n");
sleep(2);
}
// 将后续编辑依次向前覆盖
for (; index < class_room_count-1; index++) {
class_rooms[index] = class_rooms[index+1];
}
class_room_count--;
printf("删除成功!\n");
sleep(2);
}