8. 列出所有学生信息功能的实现
列出所有学生信息就是将 aclass 指向的班级的所有学生的姓名、语文成绩、数学成绩信息显示出来。此功能需要为每个学生添加一个编号,这个编号是数组的索引位置加一,这个编号将用于后续修改和删除学生信息。
具体代码如下
文件 class_room.c
// 显示所有学生的信息
void list_all_student_info(class_room_t *aclass)
{
int i;
const student_t *astu;
char stu_name_buf[MAX_STU_NAME_LEN*2];
printf("+------+----------------------+--------+--------+\n");
printf("| 序号 | 姓名 |语文成绩|数学成绩|\n");
printf("+------+----------------------+--------+--------+\n");
for (i = 0; i < aclass->student_count; i++) {
astu = &aclass->student[i];
center_to_display_width(astu->name, 20, stu_name_buf);
printf("| %4d | %s | %4d | %4d |\n",
i+1, stu_name_buf, astu->chinese_score, astu->math_score);
}
if (aclass->student_count)
printf("+------+----------------------+--------+--------+\n");
}