このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1307166756/225
#  [1] 授業単元:プログラミング  
#  [2] 問題文(含コード&リンク):下記に記載  
#  
#  国語と数学の2科目のテストの成績を処理するプログラムを作る。成績を3人分キーボードから入力した後、それを表示したい。これについて、次の手順でkadai8-1.cを作成しなさい。
#  1)次の構造体を利用する。
#  struct SEISEKI {
#  char name[50];
#  int kokugo;
#  int sugaku;
#  }
#  2) 次の配列を用意する。
#  struct SEISEKI score[3];
#  3) main関数で上記score[3]に次のようにデータをキーボード入力するようにする。
#  scanf("%s %d %d %s %d %d %s %d %d", 一人目の氏名, 一人目の国語の成績, 一人目の数学の成績, 二人目の氏名, 二人目の国語の成績,....);
#  ex. 入力例:
#  yamauchi 60 70 yamada 80 90 tougou 70 80
#  4)次の関数を定義する。
#  void print_score(struct SEISEKI a);
#  この関数は次のように成績を出力するものとする。
#  printf(" name: %s\n kokugo: %d\n sugaku: %d\n", ........);
#  表示例:
#  name: yamauchi
#  kokugo: 60
#  sugaku: 70
#  5) void print_score()を使って3人分の成績を列挙する。
#  よろしくお願いします。

'国語と数学の2科目のテストの成績を処理するプログラムを作る。成績を3人分キーボードから入力した後、それを表示する' :-
        成績を3人分キーボードから入力した後(LL),
        表示する(LL).

成績を3人分キーボードから入力した後([[_氏名_1,_国語_1,_数学_1],[_氏名_2,_国語_2,_数学_2],[_氏名_3,_国語_3,_数学_3]]) :-
        write('氏名 国語得点 数学得点をスペース区切りで横に3人分入力しなさい : '),
        get_line(Line),
        split(Line,[' '],[_氏名_1,_国語_1,_数学_1,_氏名_2,_国語_2,_数学_2,_氏名_3,_国語_3,_数学_3]),!.

表示する([]).
表示する([[_氏名,_国語,_数学]|R]) :-
        writef('氏名:%t\n国語:%t\n数学:%t\n',[_氏名,_国語,_数学]),
        表示する(R).