このディレクトリの索引

# 出典 :: ★★ Java の宿題ここで答えます Part 68 ★★ #361 # 【 課題 】http://ime.nu/www.dotup.org/uploda/www.dotup.org265866.txt.html # コンビニの店員の名前とIDを管理するプログラムを作成する。 # ・データの追加と削除 # ・IDの検索 # ・IDの判断 # ・全データの表示 # ・IDのみ全表示 # ・全データの削除 # ・データが空かどうかの確認 データの追加(_名前,ID) :- 今まで名前とIDの登録がない場合は追加する(_名前,ID). データの追加(_名前,ID) :- 既に存在する場合は追加登録を保留する(_名前,ID). 今まで名前とIDの登録がない場合は追加する(_名前,ID) :- \+(catch(名前とID(_名前,ID),E,fail)), assertz(名前とID(_名前,ID)). 既に存在する場合は追加登録を保留する(_名前,ID) :- 名前とID(_名前,ID), assertz(保留情報(データの追加と削除(_名前,ID))). データの削除(_名前,ID) :- retract(名前とID(_名前,ID)),!. データの削除(_名前,ID) :- assertz(保留情報(データの削除(_名前,ID))). 'IDの検索'(ID,_名前) :- 名前とID(_名前,ID). 'IDの判断'(ID,正常) :- 'ID番号は文字列であるが10000から99999の範囲の整数に変換できる'(ID),!. 'IDの判断'(ID,エラー). 'ID番号は文字列であるが10000から99999の範囲の整数に変換できる'(ID) :- 'ID番号は文字列であるが'(ID), '10000から99999の範囲の整数に変換できる'(ID). '10000から99999の範囲の整数に変換できる'(ID) :- 整数に変換できる(ID,_整数), '10000から99999の範囲の'(_整数). '10000から99999の範囲の'(ID) :- N>=10000,N=<99999,!. 'ID番号は文字列であるが'(ID) :- atom(ID). 整数に変換できる(ID,_整数) :- atom_number(ID,N), integer(N). 全データの表示 :- listing(名前とID). 全データの削除 :- abolish(名前とID/2). データが空かどうかの確認 :- \+(clause(名前とID(_,_),_)).