3. 添加班级功能的实现
本小节我们来说一下如何添加班级到数组 class_rooms 中。添加班级需要先输入班级的名称,然后校验输入班级的名称是否合法,如果班级名称合法,则将班级作为数组 class_rooms 的下一个数据元素放入数组中,再将 class_room_count 做加一操作。
具体代码如下
文件 school.c
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include "tools.h"
#include "school.h"
#include "class_room.h"
// 用于存放班级对象,初始状态为空
static class_room_t class_rooms[MAX_CLASS_COUNT_IN_SCHOOL] = {};
static int class_room_count = 0; // 班级的个数
// 添加班级
void add_class_room(void)
{
char class_title[MAX_CLASS_TITLE_LEN*2];
// 判断是否达到班级的最大数量
if (class_room_count >= MAX_CLASS_COUNT_IN_SCHOOL) {
printf("已经达到了编辑的最大数量!\n");
return;
}
printf("请输入班级名称: ");
fflush(stdout);
scanf("%s", class_title);
if (get_display_width(class_title) <= 10) {
strcpy(class_rooms[class_room_count].class_title, class_title);
class_room_count++;
printf("添加班级%s成功!\n", class_title);
} else {
printf("添加班级失败,班级名太长!\n");
}
sleep(2);
}