结构体案例
需求
创建一个老师结构体和学生结构体,老师中需要包括姓名,指导的学生,学生中需要包括姓名,成绩,通过函数将3名老师和5名学生的信息初始化,并且通过打印函数输出。
#include<iostream>
using namespace std;
//定义学生结构体
struct student {
string s_Name;
int score;
};
//定义老师结构体
struct teacher {
string t_Name;
struct student stu[5];
};
//定义初始化函数函数
void allocateSpace(struct teacher t_arr[],int length)
{
for (int i = 0; i < length; i++)
{
string addf = "ABCDE";
t_arr[i].t_Name = "teacher_";
t_arr[i].t_Name += addf[i];
for (int j = 0; j < 5; j++)
{
int random = rand() % 61+40;
t_arr[i].stu[j].s_Name = "student_";
t_arr[i].stu[j].s_Name += addf[j];
t_arr[i].stu[j].score = random;
}
}
}
//定义打印函数
void printArr(struct teacher t_arr[],int length)
{
for (int i = 0; i < length; i++)
{
cout << "老师姓名:" << t_arr[i].t_Name << endl;
for (int j = 0; j < 5; j++)
{
cout << "\t学生姓名:" << t_arr[i].stu[j].s_Name << " 学生分数:" << t_arr[i].stu[j].score << endl;
}
}
}
int main() {
//随机数种子
srand((unsigned int)time(NULL));
struct teacher tArr[3];
int len = sizeof(tArr) / sizeof(tArr[0]);
allocateSpace(tArr, len);
printArr(tArr, len);
return 0;
}