结构体案例
案例1
案例描述:
學校正在做畢設項目,每名老師帶領5個學生,總共有3名老師,需求如下
設計學生和老師的結(jié)構體,其中在老師的結(jié)構體中,有老師姓名和一個存放5名學生的數(shù)組作為成員
學生的成員有姓名、考試分數(shù),創(chuàng)建數(shù)組存放3名老師,通過函數(shù)給每個老師及所帶的學生賦值
最終打印出老師數(shù)據(jù)以及老師所帶的學生數(shù)據(jù)。
srand((unsigned int)time(NULL)); //隨機數(shù)種子 頭文件 #include <ctime>
#include <iostream> using namespace std; #include <string> #include <ctime> struct Student {string name;int score; }; struct Teacher {string name;Student sArray[5]; };void allocateSpace(Teacher tArray[] , int len) {string tName = "教師";string sName = "學生";string nameSeed = "ABCDE";for (int i = 0; i < len; i++){tArray[i].name = tName + nameSeed[i];for (int j = 0; j < 5; j++){tArray[i].sArray[j].name = sName + nameSeed[j];tArray[i].sArray[j].score = rand() % 61 + 40;}} }void printTeachers(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 << " 分數(shù):" << tArray[i].sArray[j].score << endl;}} }int main() {srand((unsigned int)time(NULL)); //隨機數(shù)種子 頭文件 #include <ctime>Teacher tArray[3]; //老師數(shù)組int len = sizeof(tArray) / sizeof(Teacher);allocateSpace(tArray, len); //創(chuàng)建數(shù)據(jù)printTeachers(tArray, len); //打印數(shù)據(jù)system("pause");return 0; }
?
案例2
案例描述:
設計一個英雄的結(jié)構體,包括成員姓名,年齡,性別;創(chuàng)建結(jié)構體數(shù)組,數(shù)組中存放5名英雄。
通過冒泡排序的算法,將數(shù)組中的英雄按照年齡進行升序排序,最終打印排序后的結(jié)果。
五名英雄信息如下:
#include <iostream> using namespace std; #include <string> //英雄結(jié)構體 struct hero {string name;int age;string sex; }; //冒泡排序 void bubbleSort(hero arr[] , int len) {for (int i = 0; i < len - 1; i++){for (int j = 0; j < len - 1 - i; j++){if (arr[j].age > arr[j + 1].age){hero temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}} } //打印數(shù)組 void printHeros(hero arr[], int len) {for (int i = 0; i < len; i++){cout << "姓名: " << arr[i].name << " 性別: " << arr[i].sex << " 年齡: " << arr[i].age << endl;} }int main() {struct hero arr[5] ={{"劉備",23,"男"},{"關羽",22,"男"},{"張飛",20,"男"},{"趙云",21,"男"},{"貂蟬",19,"女"},};int len = sizeof(arr) / sizeof(hero); //獲取數(shù)組元素個數(shù)bubbleSort(arr, len); //排序printHeros(arr, len); //打印system("pause");return 0; }總結(jié)
- 上一篇: 指针||指针和数组||指针和函数||指针
- 下一篇: 对象的初始化和清理