配列に学生の英語・数学・国語の得点を整数値として読み込み, 指定した科目の得点表を表示するプログラムを作成せよ.
なお,以下のプロトタイプ宣言により示される関数を作成し,これを用いること.
void read_score(int score[][3], int n);
ここで,関数read_scoreの仕様は次の通りである.
引数:
int score[][3] - 学生の3科目の得点を格納する配列
int n - 学生数
戻り値:なし
機能:
n人の学生の3科目の得点を端末から読み込み,整数型2次元配列scoreに格納する. ただし,得点は0以上100以下の整数として,入力値が範囲外のときは再入力すること.
void show_score(int score[][3], int subject, int n);
ここで,関数show_scoreの仕様は次の通りである.
引数:
int score[][3] - 学生の3科目の得点を格納した配列
int subject - 科目番号
int n - 学生数
戻り値:なし
機能:
科目番号subjectで指定した科目のn人の学生の得点表を表示する. ただし,「英語」「数学」「国語」の科目番号subjectは,それぞれ1,2,3とする.
プログラムの仕様
得点を整数値として読み込み,2次元整数型配列に格納する.
2次元整数型配列の学生数を表す要素数を10としてdefine文でマクロ定義せよ.
最初に学生数を読み込み,その最大値を10とする.
得点の読み込み後,科目番号の選択を促すメニューを表示する.
科目番号の選択メニューでは,科目番号あるいは終了を選択する. 科目番号が選択されると指定科目の得点表を表示して 再び科目番号の選択メニューへ戻る.終了が選択されるとプログラムが終了する
注意
科目番号の選択を促すメニューの前後に空白行を表示すること.
実行結果
Enter the number of students (1-10)
The number of students:3 return
Student #1
(1)English:60 return
(2)Mathematics:-10 return
(2)Mathematics:70 return
(3)Japanese Language:80 return
Student #2
(1)English:110 return
(1)English:70 return
(2)Mathematics:80 return
(3)Japanese Language:90 return
Student #3
(1)English:80 return
(2)Mathematics:90 return
(3)Japanese Language:100 return
Select the subjects to be displayed in the table
Eng.=>1,Math.=>2,Jpn.=>3,Terminate=>0:2 return
[Math.]
Student #, Score
1 70
2 80
3 90
Select the subjects to be displayed in the table
Eng.=>1,Math.=>2,Jpn.=>3,Terminate=>0:1 return
[Eng.]
Student #, Score
1 60
2 70
3 80
Select the subjects to be displayed in the table
Eng.=>1,Math.=>2,Jpn.=>3,Terminate=>0:3 return
[Jpn.]
Student #, Score
1 80
2 90
3 100
Select the subjects to be displayed in the table
Eng.=>1,Math.=>2,Jpn.=>3,Terminate=>0:0 return
Terminated.