|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
#include <iostream>// 输出流库 #include <string>// 字符串头文件 #include <ctime>// 系统时间头文件 using namespace std;//使用标准命名空间 //课程:9.7 结构体案例一 //本节内容,3个老师,一个老师带5个学生,每个学生有姓名,年龄,分数 //创建学生的结构体 struct Student { string sName;//姓名 int age;//年龄 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 = "Teacher_"; tArray[i].tName += nameSeed[i];//在tArray[i].tName原基础追加nameSeed第i位置的字符 //通过循环给每名老师所带的学生赋值 for (int j = 0; j < 5; j++) { //赋值学生姓名 tArray[i].sArray[j].sName = "Student_"; tArray[i].sArray[j].sName += nameSeed[j];//在tArray[i].sArray[j].sName原基础追加nameSeed第i位置的字符 //取随机数(为了必须是随机的数值,还需要创建随机数种子) int random1 = rand() % 6 + 10;//取随机数0~5 + 10 int random2 = rand() % 61 + 40;//取随机数0~60 + 40 tArray[i].sArray[j].age = random1;//给一个随机数年龄 tArray[i].sArray[j].score = random2;//给一个随机数分数 } } } //创建打印函数 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 << " 学生年龄:" << tArray[i].sArray[j].age << " 学生分数:" << tArray[i].sArray[j].score <<endl; } } } int main() { //创建随机数种子,取系统启动时间随机数 srand((unsigned int)time(NULL)); //1、创建3名老师的数组 struct Teacher tArray[3]; //2、通过函数给3名老师赋值,并给老师的学生赋值 int len = sizeof(tArray) / sizeof(tArray[0]);//计算得出数组长度 allocateSpace(tArray, len); //3、打印所有老师及所带的学生信息 printInfo(tArray, len); system("pause");// 控制台暂停,等待下一步操作 return 0;// 结束返回值:0 } |
09.7 C++结构体案例一
未经允许不得转载:Ai分享 » 09.7 C++结构体案例一
Ai分享
