c++構造体ケース1:学生と先生の構造体を設計し、その中で先生の構造体の中に、先生の名前と5人の学生を保管する配列がメンバーとしてあり、学生のメンバーは名前、試験点数、配列を作成して3人の先生を保存し、関数を通じて各先生と持っている学生に値を与える.

1894 ワード

ケースの説明:
学校は完成プロジェクトをしています.先生一人が5人の学生を率いて、全部で3人の先生がいます.需要は以下の通りです.
学生と先生の構造体を設計し、その中に先生の構造体の中に、先生の名前と5人の学生を保管する配列がメンバーとしてあります.
学生のメンバーは名前、試験点数、配列を作成して3人の先生を保存し、関数を通じて各先生と持っている学生に値を与えます.
最終的に先生のデータと先生が持っている学生のデータを印刷します
例:
#include 
#include 
#include 

using namespace std;

//      
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 = "Teacher_";
        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];
    
                int random = rand() % 61 + 40;
                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 <<
                "     :" << 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);
    
    return 0;

}