案例1
#include<iostream>
using namespace std;
#include<string>
#include<Ctime>
//定义学生结构体
struct student
{
string Sname;
int score;
};
//定义老师结构体
struct teacher
{
string Tname;
student stu[5];
};
//定义赋值函数
void fuzhi(teacher tea[], int len)
{
string nameseed = "ABCDE";
//给老师赋值
for (int i = 0; i<len; i++)
{
tea[i].Tname = "Teacher_";
tea[i].Tname += nameseed[i];
//给学生赋值
for (int j = 0; j<5; j++)
{
tea[i].stu[j].Sname = "Student_";
tea[i].stu[j].Sname += nameseed[j];
int random = rand() % 61 + 40; //分数取值范围为40-100
tea[i].stu[j].score = random;
}
}
}
void printxx(teacher tea[], int len)
{
for (int i = 0; i<len; i++)
{
cout << "老师姓名:" << tea[i].Tname << endl;
for (int j = 0; j<5; j++)
{
cout << "\t学生姓名:" << tea[i].stu[j].Sname << " ";
cout << "学生成绩:" << tea[i].stu[j].score << endl;
}
cout << endl;
}
}
int main()
{
//随机数种子
srand((unsigned int)time(NULL));
//创建三名老师的数组
teacher tea[3];
int len = sizeof(tea) / sizeof(tea[0]);
//给三名老师以及他们各自所带的学生赋值
fuzhi(tea, len);
//打印老师及所带学生信息
printxx(tea, len);
system("pause");
return 0;
}
案例2
#include<iostream>
using namespace std;
#include<string>
struct yingxiong
{
string name;
int age;
string sex;
};
void paixu(yingxiong p[])
{
for (int i = 0; i<4; i++)
{
for (int j = 0; j<4 - i; j++)
{
if (p[j].age>p[j + 1].age)
{
struct yingxiong temp = p[j];
p[j] = p[j + 1];
p[j + 1] = temp;
}
}
}
}
void print(yingxiong yx[])
{
for (int m = 0; m<5; m++)
{
cout << yx[m].name << yx[m].age << yx[m].sex << endl;
}
}
int main()
{
yingxiong yx[5] =
{
{"刘备",23,"男"},
{"关羽",22,"男"},
{"张飞",20,"男"},
{"赵云",21,"男"},
{"貂蝉",19,"女"}
};
paixu(yx);
print(yx);
system("pause");
return 0;
}