このディレクトリの索引 # 出典 :: C言語の宿題片付けます 167代目 #324 # [1] 授業単元:プログラミング基礎 # [2] 問題文 # text.txtというファイルに以下のような個人情報が保存されているとする。これを読み込み、 # 実行例のように画面に出力するプログラムを作成しなさい。 # ヒント: 氏名の読み込みでは"name: %s\n"のような変換仕様を用いると良い。 # ▼text.txtの内容 # name: Ichiro # age: 20 # weight: 65.5 # e-mail: ichiro@foo.bar # ▼実行例 # 氏名: Ichiro # 年齢: 20 # 体重: 65.5 # Eメール: ichiro@foo.bar # # ご教示願います 'text.txtというファイルに ▼text.txtの内容 name: Ichiro age: 20 weight: 65.5 e-mail: ichiro@foo.bar のような個人情報が保存されているとする。これを読み込み、 実行例のように表示する ▼実行例 氏名: Ichiro 年齢: 20 体重: 65.5 Eメール: ichiro@foo.bar' :- 'text.txtというファイルに ▼text.txtの内容 name: Ichiro age: 20 weight: 65.5 e-mail: ichiro@foo.bar のような個人情報が保存されているとする。これを読み込み、'(Lines), '実行例のように表示する ▼実行例 氏名: Ichiro 年齢: 20 体重: 65.5 Eメール: ichiro@foo.bar'(Lines). 'text.txtというファイルに ▼text.txtの内容 name: Ichiro age: 20 weight: 65.5 e-mail: ichiro@foo.bar のような個人情報が保存されているとする。これを読み込み、'(_行ならび) :- get_lines('text.txt',_行ならび). '実行例のように表示する ▼実行例 氏名: Ichiro 年齢: 20 体重: 65.5 Eメール: ichiro@foo.bar'(_行ならび) :- append(_,[_行|_残り行ならび],_行ならび), 実行例のように(_行,_変換された行), 表示する(_変換された行), _残り行ならび = []. 実行例のように(_行,_変換された行) :- 文字列変換候補(_変換対象文字列,_変換文字列), sub_atom(_行,_前文字列の長さ,_,_後文字列の長さ,_変換対象文字列), 変換された文字列を構成する(_行,_変換文字列,_前文字列の長さ,_後文字列の長さ,_変換された文字列),!. 実行例のように(_行,_行). 変換された文字列を構成する(_行,_変換文字列,_前文字列の長さ,_後文字列の長さ,_変換された文字列) :- sub_atom(_行,0,_前文字列の長さ,_,_前文字列), sub_atom(_行,_,_後文字列の長さ,0,_後文字列), atomic_list_concat([_前文字列,_変換文字列,_後文字列],_変換された行),!. 文字列変換候補(name,氏名). 文字列変換候補(age,年齢). 文字列変換候補(weight,体重). 文字列変換候補('e-mail','Eメール'). 表示する(_変換された行) :- writef('%t\n',[_変換された行]).