题目:
学校正在做毕设项目,每名老师带领5个学生,总共有3名老师,需求如下
设计学生和老师的结构体,其中在老师的结构体中,有老师姓名和一个存放5名学生的数组作为成员
学生的成员有姓名、考试分数,创建数组存放3名老师,通过函数给每个老师及所带的学生赋值
最终打印出老师数据以及老师所带的学生数据。
/*学校正在做毕设项目,每名老师带领5个学生,总共有3名老师,需求如下
设计学生和老师的结构体,其中在老师的结构体中,有老师姓名和一个存放5名学生的数组作为成员
学生的成员有姓名、考试分数,创建数组存放3名老师,通过函数给每个老师及所带的学生赋值
最终打印出老师数据以及老师所带的学生数据。
*/
#include<iostream>
#include<cstring>
#include<ctime>
#include<stdlib.h>
using namespace std;
//1.设计学生结构体
struct student{
string name;
int score;
};
//2.设计老师结构体
struct teacher{
string name;
struct student s[5]; //学生数组
};
//4.创建赋值函数
void fuzhi(teacher t[],int len){
/*for(int i=0;i<len;i++){
cout<<"请输入老师的信息:"<<endl;
cin>>t[i].name;
for(int j=0;j<5;j++){
cout<<"请输入学生的信息:"<<endl;
cin>>t[i].s[j].score;
}
}若要手动输入则可以这样写*/
string nameT="ABCDE";
for(int i=0;i<len;i++){
t[i].name="teacher_";
t[i].name+=nameT[i];
for(int j=0;j<5;j++){
t[i].s[j].name="student_";
t[i].s[j].name+=nameT[j];
int random=rand()%61+40;
t[i].s[j].score=random;
}
}}
void print(teacher t[],int len){
for(int i=0;i<len;i++){
cout<<"老师姓名:"<<t[i].name<<endl;
for(int j=0;j<5;j++){
cout<<"\t学生"<<t[i].s[j].name<<"的分数:"<<t[i].s[j].score<<endl; ;
}
}
}
int main(){
srand((unsigned int)time(NULL));
//3.创建数组存放三名教师(结构体数组)
struct teacher t[3];
int len=sizeof(t)/sizeof(t[0]);
fuzhi(t,len);
print(t,len);
return 0;
}