このディレクトリの索引 http://toro.2ch.net/test/read.cgi/tech/1357748713/637 # 1] 授業単元: プログラミング 演習(構造体) # [2] 問題文(含コード&リンク): 3冊の本の名前、ISBN、著者名を入力し一覧表示しなさい。 # ただし、ISBNの4,6,12,16桁目に'-'が入っていない場合エラー表示しなさい。 # '3冊の本の名前、ISBN、著者名を入力し一覧表示しなさい。ただし、ISBNの4,6,12,16桁目に'-'が入っていない場合エラー表示しなさい。' :- '3冊の本の名前、ISBN、著者名を入力し'(_3冊の本), 一覧表示しなさい(_3冊の本). '3冊の本の名前、ISBN、著者名を入力し'(_3冊の本) :- findall([_本の名前,_ISBN,_著者名],( between(1,3,_), 本の名前の入力(_本の名前), 'ISBNの入力'(_ISBN), 著者名の入力(_著者名)), _3冊の本). 本の名前の入力(_本の名前) :- write('本の名前を入力してください : '), get_line(_本の名前). 'ISBNの入力'(_本の名前) :- write('ISBNを入力してください : '), get_line(_ISBN). 著者名の入力(_著者名) :- write('著者名を入力してください : '), get_line(_著者名). 一覧表示しなさい([]). 一覧表示しなさい([[_本の名前,_ISBN,_著者名]|R]) :- writef('%20l %17l %12l',[_本の名前,_ISBN,_著者名]), 'ただし、ISBNの4,6,12,16桁目に'-'が入っていない場合エラー表示しなさい。'(_ISBN), write('\n'), 一覧表示しなさい(R). 'ただし、ISBNの4,6,12,16桁目に'-'が入っていない場合エラー表示しなさい。'(_ISBN文字列) :- atom_chars(_ISBN文字列,[_,_,_,-,_,-,_,_,_,_,_,-,_,_,_,-|_]),!. 'ただし、ISBNの4,6,12,16桁目に'-'が入っていない場合エラー表示しなさい。'(_ISBN文字列) :- write(' %ISBN形式エラー ').