目录
案例一:老师带学生做毕设,具体描述如图
案例二:给英雄排序
案例一:老师带学生做毕设,具体描述如图
?
#include<iostream>
#include<string>
#include<ctime>//关于时间的头文件
using namespace std;
struct student//设定学生信息
{
string name;//姓名和分数
float score;
};
struct teacher//设定老师信息
{
string name;
student SArray[5];//一个老师带着五个学生
};
void allocateSpace(teacher TArray[],int len)//创建输入信息的函数
{
string nameseed = "ABCDE";//方便用for循环给老师和学生命名,而不是一个一个分别输入
//给老师的信息赋值
for (int i = 0; i < len; i++)
{
TArray[i].name = "Teacher_";
TArray[i].name += nameseed[i];
//给老师的学生赋值
for (int j = 0; j < 5; j++)
{
TArray[i].SArray[j].name = "Student_";
TArray[i].SArray[j].name += nameseed[j];
//在大学中,基本考试分数达到40再算上平时分就不会挂科,当然毕设有些不同,一般分数最
低的标准是40
int random = rand() % 61 + 40;//rand函数对61取余再加40得到的是40~100的数字
TArray[i].SArray[j].score = random;
}
}
}
void printinfo(teacher TArray[], int len)//打印信息的函数
{
for (int i = 0; i < len; i++)
{
cout << "老师姓名 :" << TArray[i].name << endl;
for (int j = 0; j < 5; j++)
{
cout << "\t学生姓名 :" << TArray[i].SArray[j].name//加\t是为了更好看
<< " 学生分数 :" << TArray[i].SArray[j].score << endl;
}
}
}
int main()
{
srand((unsigned int)time(NULL));//随机数种子
struct teacher TArray[3];
int len = sizeof(TArray) / sizeof(TArray[0]);//定义老师结构体中数组的长度
allocateSpace(TArray, len);//调用函数
printinfo( TArray, len);//调用函数
system("pause");
return 0;
}
结果如下:
案例二:给英雄排序
?
#include<iostream>
#include<string>
using namespace std;
struct hero//创建结构体数组
{
string name;
int age;
string sex;
};
void bubbleSort(hero heroArray[], int len)//冒泡排序
{
for (int i = 0; i < len - 1; i++)
{
for (int j = 0; j < len - i - 1; j++)
{
if (heroArray[j].age > heroArray[j + 1].age)
{
struct hero temp = heroArray[j];//全部信息进行交换,加.age可以只交换年龄
heroArray[j] = heroArray[j + 1];
heroArray[j + 1] = temp;
}
}
}
}
//打印信息的函数,案例中使用了两次,所以写到外面节约代码
void printinfo(hero heroArray[], int len)
{
for (int i = 0; i < len; i++)
{
cout << " 姓名 :" << heroArray[i].name
<< " 年龄 :" << heroArray[i].age
<< " 性别 :" << heroArray[i].sex << endl;
}
}
int main()
{
hero heroArray[5] =
{
{"刘备",23,"男"},{ "关羽",22,"男" },{ "张飞",20,"男" },
{ "赵云",21,"男" },{ "貂蝉",19,"女" }
};//结构体数组中输入数据
int len = sizeof(heroArray) / sizeof(heroArray[0]);
cout << "排序前的顺序 :" << endl;
printinfo(heroArray, len);
bubbleSort(heroArray, len);
cout << "排序后的顺序 :" << endl;
printinfo(heroArray, len);
system("pause");
return 0;
}
?结果如下:
?
?
?
|