このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1354070278/187
#  [1]C言語 
#  [2]最大20人分の番号、所属、名前を管理する構造体配列を利用し 
#    入力したデータを元に社員タグを出力するプログラムを作成せよ 
#    実行例 
#    http://ime.nu/iup.2ch-library.com/i/i0804401-1355254105.jpg 
#  [3.1]Windows 
#  [4]2012/12/13まで 
#  [5]いかにも初心者が作るようなものだと嬉しいです 
#  お願いします 
# 
#  
#  % syain
#  input name...yamada
#  input post...education
#  input syainID...1234
#  
#  input name...okada
#  input post...sales
#  input syainID...9876
#  
#  input name...\d
#  
#  *******[ IDnumber 1234 ]*******
#   post:education
#   name:yamada
#  *******************************
#  
#  *******[ IDnumber 9876 ]*******
#   post:sales
#   name:okeda
#  *******************************
#  

:- dynamic(社員/3).

'最大20人分の番号、所属、名前を管理する述語を定義し、
入力したデータを元に社員タグを出力する' :-
        '最大20人分の番号、所属、名前を管理する構造体配列を利用し入力したデータを元に',
        入力したデータを元に社員タグを出力する.

'最大20人分の番号、所属、名前を管理する述語を定義し' :-
        最大20人分の(Ln),
        '番号、所属、名前を管理する述語を定義し'(Ln).

最大20人分の(Ln) :-
        length(Ln,20).

'最大20人分の番号、所属、名前を管理する述語を定義し'([_|Ln]) :-
        '番号、所属、名前の入力'(_名前,_所属,_社員タグ),
        '番号、所属、名前を管理する述語を定義し'(_名前,_所属,_社員タグ),
        '最大20人分の番号、所属、名前を管理する述語を定義し'(Ln),!.
'最大20人分の番号、所属、名前を管理する述語を定義し'(_).

'番号、所属、名前の入力'(_名前,_所属,_社員タグ) :-
        名前の入力(_名前),
        所属の入力(_所属),
        社員タグの入力(_社員タグ).

名前の入力(_名前) :-
        write('input name...'),
        get_line(_名前),
        \+(_名前 = end_of_file).

所属の入力(_所属) :-
        write('input post...'),
        get_line(_所属).

社員タグの入力(_社員タグ) :-
        write('input SyainID...'),
        get_line(_社員ID).

'番号、所属、名前を管理する述語を定義し'(_名前,_所属,_社員タグ) :-
        assertz(社員(_社員タグ,_所属,_名前)).

入力したデータを元に社員タグを出力する :-
        社員(_社員タグ,_所属,_名前),
        writef('*******[ IDnumber %t ]*******\n post:%t\n name:%t\n*******************************\n\n',[_社員タグ,_所属,_名前]),
        fail.
入力したデータを元に社員タグを出力する.