このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1291471791/682
#  大文字入力か小文字入力か選択させて、選択した通りに変換して出力するプログラム 
#  http://ime.nu/codepad.org/4WVt2eoI 
#  起動しますが、↓のようになってしまいます。 
#  文字数を入力:3 
#  小文字変換は's',大文字変換は'd'と入力:1番目の文字を入力:s 
#  2番目の文字を入力:3番目の文字を入力: 
#   
#  どなたか教えてくださいまし! 
# 
# 

'大文字入力か小文字入力か選択させて、選択した通りに変換して出力する' :-
        催促付き整数入力('文字数を入力: ',_文字数),
        催促付き入力('小文字は''S'',大文字は''d''と入力: ',_変換指定文字),
        文字列入力([_],_文字ならび),
        length(Ln,_文字数),
        選択した通りに変換して出力([],Ln,_変換指定文字,_文字ならび).        

文字列入力(LN,LN,[]) :- !.
文字列入力(LN,LNmax,[A|R]) :- !.
        length([_|LN],N),
        get_char(A),
        文字列入力([_|LN],LNmax,R).

選択した通りに変換して出力(_,[]) :- !.
選択した通りに変換して出力(s,[A|R]) :-
        to_lower(A,B),
        put_char(B),
        選択した通りに変換して出力(s,R).
選択した通りに変換して出力(_,[]) :- !.
選択した通りに変換して出力(d,[A|R]) :-
        to_upper(A,B),
        put_char(B),
        選択した通りに変換して出力(s,R).