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);
}