#include<iostream>
using namespace std;
struct xueshen
{
string name;
int score;
};
struct teacher
{
string name;
struct xueshen sarr[5];
};
void hain(teacher asarr[], int len)
{
string name = "ABCDE";
for (int i = 0; i < len; i++)
{
asarr[i].name = "teacher_";
asarr[i].name += name[i];
for (int j = 0; j < 5; j++)
{
asarr[i].sarr[j].name = "xueshen_";
asarr[i].sarr[j].name += name[j];
int random = rand() % 61 + 40;
asarr[i].sarr[j].score = random;
}
}
};
void shuc(teacher asarr[], int len) // 很好奇,asrra[]这个是地址传递进去的
{
for (int i = 0; i < len; i++)
{
cout << "老师的名字是: " << asarr[i].name << endl; //这里的输出没有用->而是 . 所以这到底是什么
for (int j = 0; j < 5; j++)
cout<< "\t学生的名字是 :" << asarr[i].sarr[j].name << "考试分数为: "<<asarr[i].sarr[j].score << endl;
}
}
int main() {
teacher asarr[3];
int len = sizeof(asarr) / sizeof(asarr[0]);
hain(asarr, len);
shuc(asarr, len);
/* for (int a = 0; a < 3; a++) //因为想看到底是值传递还是地址传递所以进行输出,,,结果不会了
{
for (int b = 0; b < 5; b++)
{
cout << "老师的名字是: " << asarr[a] << endl; //报错
}
}*/
system("pause");
return 0;
}
这里是在做一道练习题,关于一个老师带五个学生,随机数的分数