

大学で以下のような課題が出ているのですがプログラムの組み立て方がわからず困っています。

>
> 氏名と数学・英語の点数の3つから構成される構造体を宣言する。("Nomo",78,64などのデータは与えられました)そこに2科目の平均点を格納するaveを追加した構造体を宣言し、各オブジェクトのaveに格納するobjave関数を作成。(←これはできました)これに加え平均点が最大の学生の数学・英語の得点をオブジェクトmaxを格納するmaxave関数を作成しオブジェクトmaxのmath、eng、aveをメイン関数で表示せよ。

途中まで書いたのですが何が足りなくて何が不要なのか教えていただけますと助かります。よろしくお願い致します。

[code]

    #include <stdio.h>
    
    //構造体の宣言
    struct score {
        char name[20];
        int math;
        int eng;
        double ave;
    };
    //objave関数
    void objave(struct score *val){
        //(平均)=(英語と数学の合計)/2
        val->ave=(val->eng+val->math)/2;
    }
    //maxave関数
    void maxave(struct score *val){
        val->ave=max(val->ave,0);
    }
    
    int main(){
        //構造体メンバに対応したデータを順番に記述
        struct score nomo = {"Nomo", 78, 64};
        struct score matsui = {"Matsui", 65, 30};
        struct score suzuki = {"Suzuki", 82, 90};
        struct score max = {};
        //objave関数の呼び出し
        // objave(&nomo);
        // objave(&matsui);
        // objave(&suzuki);
    
        maxave(&max);
        printf("math: %d eng: %d ave: %f\n",max.math,max.eng,max.ave);
    }
    
[/code]


CC BY-SA 4.0
2020-07-09T12:20:12.240
68442
2020-07-09T13:49:59.770
2020-07-09T12:28:14.510
3060
35214
question
c
c言語　構造体を用いたプログラムの作成


課題とのことでヒントだけ。  
Score型の配列を用意してnomo,matsui,suzukiを詰めてmaxaveに渡す必要があると思います。


CC BY-SA 4.0
2020-07-09T13:49:59.770
68443
2020-07-09T13:49:59.770
18637
68442
answer