この問題の解答を教えてください(できれば解説も)よろしくお願いします。
①名前と2つの点数をメンバーとする構造体を定義しておく。標準入力から文字を入力させ、その文字によって以下の動作をするプログラムを作成せよ。ここで、データ数は16個以下としてよい。
i→名前と2つの点数を標準入力から入力させて構造体の配列に(順に) 代入
p→今まで入力されたデータとそれぞれの平均点をすべて表示
q→quit
②①で用いた構造体の配列とそのデータ数を引数として、データに入っている名前と成績を表示する関数を作成せよ。また、その関数を用いて問題5の表示を変更せよ。ここで、成績は平均点の値によってS(90以上)・A(80以上90未満)・B(70以上80未満)・C(60以上70未満)・D(60未満) とする。
③②を変更して、データ数の制限のないプログラムを作成せよ。