C++结构体练习1

#define _CRT_SECURE_NO_WARNINGS
#include 
#include 
#include 
using namespace std;

/*学校正在做毕设项目,每名老师带领5个学生,总共有3名老师,需求如下

设计学生和老师的结构体,其中在老师的结构体中,有老师姓名和一个存放5名学生的数组作为成员

学生的成员有姓名、考试分数,创建数组存放3名老师,通过函数给每个老师及所带的学生赋值

最终打印出老师数据以及老师所带的学生数据。
*/

struct stu
{
	string name;
	int score;
};

struct tea
{
	string name;
	struct stu stuarray[5]; // 嵌套结构体,把学生放到教师下面
};

void create_data(struct tea arr[], int len)// 传入的是结构体
{
	string tname = "teacher name"; // 创建教师学生姓名
	string sname = "student name";
	string num = "abcde";
	for (int i = 0; i < len; i++)
	{
		arr[i].name = tname + num[i]; // 教师的姓名组成
		for (int j = 0; j < 5; j++)
		{
			// 每个教师下面的五个学生的姓名和分数
			arr[i].stuarray[j].name = sname + num[j];
			arr[i].stuarray[j].score = rand() % 61 + 40;
		}
	}
}

void print_data(struct tea arr[], int len)
{
	for (int i = 0; i < len; i++)
	{
		cout << arr[i].name << endl;
		for (int j = 0; j < 5; j++)
		{
			cout << arr[i].stuarray[j].name << "\t" << arr[i].stuarray[j].score << endl;
		}
	}
}

int main()
{
	srand((unsigned int)time(NULL)); // 创建随机数
	
	struct tea arr[3];				 // 创建教师结构体数组
	int len = sizeof(arr) / sizeof(tea);

	create_data(arr, len);  // 创建数据
	print_data(arr, len);   // 打印数据

	system("pause");
	return 0;
}

你可能感兴趣的:(C++学习,c++,开发语言)