学校正在做毕设项目,每名老师带领5个学生,总共有3名老师,需求如下 :
设计学生和老师的结构体,其中在老师的结构体中,有老师姓名和一个存放5名学生的数组作为成员学生的成员有姓名、考试分数,创建数组存放3名老师,通过函数给每个老师及所带的学生赋值最终打印出老师数据以及老师所带的学生数据。
#include<iostream>
using namespace std;
#include<ctime>
//定义结构体
struct student {
string name;
int score;
};
struct teacher {
string name;
struct student stu[5];
};
void getArray(struct teacher *p,int len){
string arr = "ABCDE";
for(int i=0;i<len;i++)
{
p[i].name = "teacher_";
p[i].name += arr[i];
for(int j=0;j<5;j++)
{
p[i].stu[j].name = "student_";
p[i].stu[j].name += arr[j];
//int random = rand() % 60 == 0~59
//int random = rand() % 60 + 40//40~59
int random = rand() % 61 + 40;//40~100
p[i].stu[j].score = random;
}
}
}
void printArray(struct teacher* p,int len) {
for(int i=0;i<len;i++)
{
cout << "老师姓名:" << p[i].name<<endl;
for(int j=0;j<5;j++)
{
cout<< "\t学生姓名:" << p[i].stu[j].name
<< "\t学生成绩:" << p[i].stu[j].score << endl;
}
}
}
int main()
{
//创建结构体
srand((unsigned int)time(NULL));
struct teacher s[3];
int len = sizeof(s) / sizeof(s[0]);
getArray(s,len);
printArray(s,len);
return 0;
}