美文网首页
C++结构体案例

C++结构体案例

作者: FredricZhu | 来源:发表于2020-11-24 13:50 被阅读0次

    生成3位老师和学生的成绩信息

    #include <iostream>
    #include <string>
    #include <ctime>
    using namespace std;
    
    struct Student
    {
        // 学生姓名
        std::string sName;
        // 学生分数
        int score;
    };
    
    struct Teacher
    {
        // 老师姓名
        std::string tName;
        // 学生列表
        struct Student sArray[5];
    };
    
    void allocateSpace(struct Teacher *tArray, int len)
    {
        std::string nameSeed = "ABCDE";
    
        for (int i = 0; i < len; i++)
        {
            tArray->tName = "Teacher_";
            tArray->tName += nameSeed[i];
            for (int j = 0; j < 5; j++)
            {
                tArray->sArray[j].sName = "Student_";
                tArray->sArray[j].sName += nameSeed[j];
                // 40 - 100
                int score = rand() % 61 + 40;
                tArray->sArray[j].score = score;
            }
            // 指针++,寻找下一个Teacher地址
            tArray++;
        }
    }
    
    void printInfo(struct Teacher *tArray, int len)
    {
        for (int i = 0; i < len; i++)
        {
            std::cout << "老师姓名: " << tArray->tName << std::endl;
            for (int j = 0; j < 5; j++)
            {
                struct Student s = tArray->sArray[j];
                std::cout << "\t 学生姓名: " << s.sName
                          << "学生分数: " << s.score << std::endl;
            }
            tArray++;
        }
    }
    
    int main()
    {
        // 初始化随机数种子
        srand((unsigned int)time(NULL));
        struct Teacher tArray[3];
        int len = sizeof(tArray) / sizeof(tArray[0]);
        allocateSpace(tArray, len);
        printInfo(tArray, len);
        getchar();
        return 0;
    }
    

    程序输出


    图片.png

    相关文章

      网友评论

          本文标题:C++结构体案例

          本文链接:https://www.haomeiwen.com/subject/pfpiiktx.html