このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1276810079/920
#  [1] C言語プログラミング演習  
#  [2] 問題文(含コード&リンク  
#  ATM(Automated Teller Machine; 現金自動預け払い機)システムを実現するプログラムを考える。  
#   
#  氏名,口座番号,暗証番号,預金残高を要素とする構造体を宣言し, 512人分の口座が作成可能なようにせよ.また,初期値として次のように構造体の内容を設定せよ.  
#     
#  立命太郎の口座番号は1234で,預金残高を1,234,560円に設定する.  
#  野路花子の口座番号は5678で,預金残高を987,600円に設定する.  
#  衣笠一郎の口座番号は9012で,預金残高を538,600円に設定する.  
#  暗証番号は口座番号に1111を足して10000で割った余りに設定する.  
#  ここで暗証番号は、口座番号を引数としてとり、それに1111を足して10000で
# 割った余りを計算する関数を作成して設定すること.  
#  上記の方法で初期値を設定し、設定された3人の預金残高を画面へ出力する
# プログラムを作成せよ.ただし、ひとり分の預金残高を表示する関数を作成して、
# これを繰り返し使って3人の預金残高を出力すること.  
#   
#          % ./initAccount 
#          預金残高は次のとおりです. 
#          立命太郎 (1234) 1234560 円 
#          野路花子 (5678)  987600 円 
#          衣笠一郎 (9012)  538600 円 
#          % 

預金口座の初期設定(_ファイル) :-
        w3c('http://pc12.2ch.net/test/read.cgi/tech/1276810079/920',Lines),
        append(_,[Line|R],Lines),
        split(Line,[の口座番号は,'で,貯金残高を,円に設定する.'],[_氏名,_口座番号,_預金残高]),
        assertz(預金口座(_氏名,_口座番号,_預金残高)),
        _暗証番号 is (_口座番号 + 1111) mod 10000,
        assertz(預金口座暗証番号(_口座番号,_暗証番号)),
        R = [],!.
預金口座の初期設定(_).

設定された3人の預金残高を画面へ出力する :-
        findsetof(_口座番号,預金口座(_,_口座番号,_),_口座番号ならび),
        write('預金残高は次のとおりです.\n'),
        append(_,[_口座番号|R],_口座番号ならび),
        ひとり分の預金残高を表示する(_口座番号),
        R = []. 

ひとり分の預金残高を表示する(_口座番号) :-
        預金口座(_氏名,_口座番号,_預金残高),
        write_formatted('%t (%t) %t 円\n',[_氏名,_口座番号,_預金残高]),!.