このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1276810079/414
#  [1] 授業単元:C言語 
#  [2] 問題文(含コード&リンク):switch 文を使用して 
#       1. データファイルの新規作成 
#       2. データファイルの追加作成 
#       3. データファイルの読み込みと表示 
#       4. 終了 
#  をメニュー形式で処理するプログラムを作成せよ。 
#         ・ ファイル名はキーボードから入力する。 
#         ・ 1〜4の処理はユーザ関数として定義すること。 
#              void data_write(void) 
#              void data_append(void) 
#              void data_read(void) 
#              void the_end(void) 
#         ・1〜4以外の数値が入力されたら再入力させること。 
#   
#  

switch(N,{N:P}) :- !,call(P).
switch(N,{N:P;_}) :- !,call(P).
switch(N,{P1;P2}) :- switch(N,{P1});switch(N,{P2}).

switch述語を使ってメニューを処理する(N,File) :-
    switch(N,{1:データファイルの新規作成(File);2:データファイルの追加作成(File);3:データファイルの読み込みと表示(File);4:終了}).

データファイルの新規作成(File) :- open(File,write,Output),close(Output).

データファイルの追加作成(File) :-
    write('追加要素を入力しなさい : '),
    get_line(Line),
    open(File,append,Output),
    write_formatted(Output,'%t\n',[Line]),
    close(Output).

データファイルの読み込みと表示(File) :-
    get_lines(File,Lines),
    put_lines(Lines).

終了 :- halt.