このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1260532772/226
#  上記を参考に、malloc関数を用いて、氏名、学籍番号、身長の入力を行い、さらに、ユーザからの入力終了指示を受けたら、全ての入力データを画面に出力する、任意の人数の処理が可能な、プログラムを、malloc.cという名前で作成せよ。 
#  malloc.cをVisual Studioで実行して(5名以上入力)、実行結果をmalloc.c内の文末に「コメント行」として記載せよ。(コメント行を追加後も、ビルド可能か再確認) 
#  
%  malloc()に相当する述語はさすがにない。assertzで代用。

氏名、学籍番号、身長の入力を行い、さらに、ユーザからの入力終了指示を受けたら、全ての入力データを画面に出力する :-
    get_line(Line),
    氏名、学籍番号、身長の入力を行い、さらに、ユーザからの入力終了指示を受けたら、全ての入力データを画面に出力する(Line),
    学生(_氏名,_学籍番号,_身長),
    write_formatted('%t,%t,%t\n',[_氏名,_学籍番号,_身長]),
    fail.
氏名、学籍番号、身長の入力を行い、さらに、ユーザからの入力終了指示を受けたら、全ての入力データを画面に出力する.

氏名、学籍番号、身長の入力を行い、さらに、ユーザからの入力終了指示を受けたら、全ての入力データを画面に出力する(end_of_file) :- !.
氏名、学籍番号、身長の入力を行い、さらに、ユーザからの入力終了指示を受けたら、全ての入力データを画面に出力する(Line) :-
    split(Line,[' '],[_氏名,_学籍番号,_身長]),
    assertz(学生(_氏名,_学籍番号,_身長)),
    get_line(Line2),
    氏名、学籍番号、身長の入力を行い、さらに、ユーザからの入力終了指示を受けたら、全ての入力データを画面に出力する(Line2).