代码功能如下:学校正在做毕设项目,每名老师带领3个学生,总共有3名老师,需求如下
设计学生和老师的结构体,其中在老师的结构体中,有老师姓名和一个存放3名学生的数组作为成员
学生的成员有姓名、考试分数,创建数组存放3名老师,通过函数给每个老师及所带的学生赋值
最终打印出老师数据以及老师所带的学生数据.
#include<iostream>
#include<string>
using namespace std;
struct student
{
string name;
int age;
int score;
};
struct teacher
{
int id;
string name;
student stu[3];
};
//初始化
void creter(teacher t1[], int len)
{
string sidename="教师:";
string tername[3] = {"张老师","曾老师","彭老师"};
string stuname[3] = { "张美丽","曾美丽","彭美丽" };
int stuage[3] = { 16,18,15 };
int stuscore[3] = { 60,49,80 };
int terid[3] = {90,91,92};
for (int i = 0; i < len; i++)
{
t1[i].name = sidename + tername[i];
t1[i].id = terid[i];
for (int j = 0; j < 3; j++)
{
t1[i].stu[j].name = stuname[j];
t1[i].stu[j].age = stuage[j];
t1[i].stu[j].score = stuscore[j];
}
}
}
//打印
void prin(teacher t1[],int len)
{
for (int i = 0; i < len; i++)
{
cout<<t1[i].name<<"id号:"<<t1[i].id<< endl;
for (int j = 0; j < 3; j++)
{
cout <<"\t学生姓名:"<< t1[i].stu[j].name << "年龄:" << t1[i].stu[j].age
<<"学生成绩"<< t1[i].stu[j].score << endl;
}
}
}
int main()
{
teacher t1[3];
int len = sizeof(t1) / sizeof(t1[0]);
creter(t1,len);
prin(t1, len);
system("pause");
return 0;
}
代码运行结果: