结构体案例01
案例描述:
学生正在做毕设项目,每名老师带领5个学生,总共有3名老师,需求如下
设计学生和老师的结构体,其中在老师的结构体中,有老师姓名和一个存放5名学生的数组作为成员学生的成员有姓名、考试分数,创建数组存放3名老师,通过函数给每个老师及所带的学生赋值最终打印出老师数据以及老师所带的学生数据。
代码:
#include<iostream>
#include<string>
using namespace std;
//创建学生结构体
struct Student
{
string name;
int score;
};
//创建老师结构体
struct Teacher
{
string name;
struct Student studentArray[5];
};
void TeacherMessage(struct Teacher TeacherArray[], int len) {
string teachers[3] = { "王老师", "李老师", "张老师" };
string students[5] = { "学生1", "学生2", "学生3", "学生4", "学生5"};
for (int i = 0; i < len; i++) {
TeacherArray[i].name = teachers[i];
for (int j = 0; j < 5; j++)
{
TeacherArray[i].studentArray[j].name = students[j];
TeacherArray[i].studentArray[j].score = 60;
}
}
}
//打印所有信息
void printInfo(struct Teacher TeacherArray[], int len) {
for (int i = 0; i < len; i++) {
cout << "老师姓名:" << TeacherArray[i].name << endl;
for (int j = 0; j < 5; j++)
{
cout << "学生姓名:" << TeacherArray[i].studentArray[j].name;
cout << " 学生分数:" << TeacherArray[i].studentArray[j].score << endl;
}
cout << "--------------------------------------" << endl;
}
}
int main() {
//创建三名老师的数组
struct Teacher TeacherArray[3];
//通过函数给3名老师的信息复制,并给老师带的学生信息复制
int len = sizeof(TeacherArray) / sizeof(TeacherArray[0]);
TeacherMessage(TeacherArray, len);
printInfo(TeacherArray, len);
system("pause");
return 0;
}
结果