C++_结构体(结构体嵌套)_(利用结构体中的属性进行排序)

#include
using namespace std;
#include
#include

//老师结构体嵌套学生结构体,三个老师分别带五个学生

//学生的结构体
struct Student
{
	//姓名
	string sName;
	//分数
	int score;
};

//老师的结构体定义
struct Teacher
{
	//姓名
	string tName;
	//学生数组
	struct Student sArray[5];
};

//给老师和学生赋值的函数
void allocateSpace(struct Teacher tArray[],int len)
{
	string nameSeed = "ABCDE";
	//给老师开始赋值
	for (int i = 0; i < len; i++)
	{
		tArray[i].tName = "T_";
		tArray[i].tName += nameSeed[i];
		//通过循环给每名老师所带的学生赋值
		for (int j = 0; j < 5; j++)
		{
			tArray[i].sArray[j].sName = "S_";
			tArray[i].sArray[j].sName += nameSeed[i];

			int random = rand() % 61 + 40;//40~100
			tArray[i].sArray[j].score = random;
		}
	}
}

//打印所有信息
void printInfo(struct Teacher tArray[], int len)
{
	for (int i = 0; i < len; i++)
	{
		cout << "老师姓名: " << tArray[i].tName << endl;
		for (int j = 0; j < 5; j++)
		{
			cout << "\t学生姓名: " << tArray[i].sArray[j].sName 
				<< "考试分数: "<
using namespace std;
#include

//五个英雄,按照结构体其中一个属性进行排序
struct Hero
{
	//姓名
	string name;
	//年龄
	int age;
	//性别
	string sex;
};

//冒泡
void bubbleSort(struct Hero HArray[], int len)
{
	for (int i = 0; i < len - 1; i++)
	{
		for (int j=0; j < len - i - 1; j++)
		{
			if (HArray[j].age > HArray[j + 1].age)
			{
				struct Hero tmp = HArray[j];
				HArray[j] = HArray[j + 1];
				HArray[j + 1] = tmp;
			}
		}
	}
}

void printHero(struct Hero HArray[], int len)
{
	for (int i = 0; i < len; i++)
	{
		cout << "姓名: " << HArray[i].name << "年龄: " 
			<< HArray[i].age << "性别: " << HArray[i].sex << endl;
	}
}

int main()
{
	//设计英雄结构体

	//创建数组存放五名英雄
	struct Hero HArray[5] =
	{
		{"刘备",23,"男"},
		{"关羽",22,"男"},
		{"张飞",20,"男"},
		{"赵云",21,"男"},
		{"貂蝉",19,"女"},
	};

	int len = sizeof(HArray) / sizeof(HArray[0]);


	//对数组进行排序,按照年龄进行升序排序
	bubbleSort(HArray, len);
	//将排序后的结果打印输出
	printHero(HArray,len);
	system("pause");
	return 0;
}

 

你可能感兴趣的:(C++_结构体(结构体嵌套)_(利用结构体中的属性进行排序))