案例描述:
学校正在做毕设项目,每名老师带领5个学生,总共有3名老师,需求如下设计学生和老师的结构体,其中在老师的结构体中,有老师姓名和一个存放5名学生的数组作为成员,学生的成员有姓名,考试分数,创建数组存放3名老师,通过函数给每个老师所带的学生赋值最终打印出老师数据以及老师所带的学生数据。
#include <iostream>
using namespace std;
#include <string>
/*
案例描述:
学校正在做毕设项目,每名老师带领5个学生,总共有3名老师,需求如下
设计学生和老师的结构体,其中在老师的结构体中,有老师姓名和一个存放5名学生的数组作为成员
学生的成员有姓名,考试分数,创建数组存放3名老师,通过函数给每个老师所带的学生赋值
最终打印出老师数据以及老师所带的学生数据
*/
//定义学生结构体
struct students
{
string name;//姓名
int score;//成绩
};
//定义教师结构体
struct teachers
{
string name;//教师姓名
struct students stu[5];
};
//学生赋值函数
void InputStu_score(struct teachers * p)
{
for (int i = 0; i < 3; i++)
{
switch (i)
{
case 0:
cout << "请输入张三老师学生成绩。" << endl;
break;
case 1:
cout << "请输入李四老师学生成绩。" << endl;
break;
case 2:
cout << "请输入王五老师学生成绩。" << endl;
break;
}
for (int j = 0; j < 5; j++)
{
cout << "第" << j + 1 << "个学生成绩是:" << endl;
cin >> p ->stu[j].score;
}
p++;
}
}
//打印各个老师成绩函数
void PrintfStu_score(struct teachers * p)
{
for (int i = 0; i < 3; i++)
{
switch (i)
{
case 0:
cout << "张三老师学生成绩:" << endl;
break;
case 1:
cout << "李四老师学生成绩:" << endl;
break;
case 2:
cout << "王五老师学生成绩:" << endl;
break;
}
for (int j = 0; j < 5; j++)
{
cout << "第" << j + 1 << "个学生成绩是:" << p -> stu[j].score << endl;
}
p++;
}
}
int main()
{
teachers t[3];
t[0].name = "张三";
t[1].name = "李四";
t[2].name = "王五";
//给学生赋值函数
InputStu_score(t);
PrintfStu_score(t);
system("pause");
return 0;
}