C++学习之结构体
/*
* 学校做毕业设计项目,每名老师带领5个学生,总共有3名老师,需求如下:
* 设计学生和老师的结构体,其中挂在老师的结构体重,有老师姓名和一个存放5名学生的数组作为成员
* 学生的成员有姓名、考试分数,创建数组存放3名老师,通过函数给每个老师及所带的学生赋值
* 最终打印老师数据以及老师所带的学生数据
*/
[C++] 纯文本查看 复制代码 #include<iostream>
#include<string>
#include<ctime>
using namespace std;
/*
* 学校做毕业设计项目,每名老师带领5个学生,总共有3名老师,需求如下:
* 设计学生和老师的结构体,其中挂在老师的结构体重,有老师姓名和一个存放5名学生的数组作为成员
* 学生的成员有姓名、考试分数,创建数组存放3名老师,通过函数给每个老师及所带的学生赋值
* 最终打印老师数据以及老师所带的学生数据
*/
//定义学生的结构体
struct student
{
//成员列表要有:姓名、考试分数
string stu_name;
int stu_score;
};
//定义老师的结构体
struct teacher
{
//成员列表要有:老师的姓名、学生的数组
string tea_name;
struct student Stuarr[5];
};
//这是赋值函数
void allocate(teacher arr[],int Slenth, int Tlenth)
{
string namelist = "ABCDE";
//int stuscore[3][5] = { {60,90,85,65,70},{75,80,95,100,88},{86,76,68,63,98} };
for (int i = 0; i < Tlenth; i++)
{
arr[i].tea_name = "teacher_";
arr[i].tea_name += namelist[i];
for (int j = 0; j < Slenth; j++)
{
arr[i].Stuarr[j].stu_name = "student_";
arr[i].Stuarr[j].stu_name += namelist[j];
int random = rand() % 61 + 40;
arr[i].Stuarr[j].stu_score = random;
}
}
}
//这是打印函数
void printInfo(teacher arr[], int Slenth, int Tlenth)
{
for (int i = 0; i < Tlenth; i++)
{
cout<<"第"<<i+1<<"老师的姓名为"<< arr[i].tea_name<< endl;
for (int j = 0; j < Slenth; j++)
{
cout << "带的第" << j + 1 << "位学生姓名为" << arr[i].Stuarr[j].stu_name << endl;
cout << "带的第" << j + 1 << "位学生的成绩为" << arr[i].Stuarr[j].stu_score << endl;
}
string wall = "-----------------------------------";
cout<< wall <<endl;
}
}
//这是主函数
int main()
{
srand((unsigned int)time(NULL));
student Sarr[5];
teacher Tarr[3];
int Slen = sizeof(Sarr) / sizeof(Sarr[0]);
int Tlen = sizeof(Tarr) / sizeof(Tarr[0]);
allocate(Tarr, Slen,Tlen);
printInfo(Tarr, Slen, Tlen);
system("pause");
return 0;
}
|