このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1307166756/910
#  【1】c言語 
#  【2】入力された小数点をmy roundという関数を使って含む数値を四捨五入するプログラムを作成せよ。 
#  my_round関数の仕様 
#    int my_round(float x){     
#   
#     int ret; 
#   
#     四捨五入の処理    
#   
#     return( ret ); 
#   
#  } 
#    
#   
#  実行結果 
#   
#  小数点を含む数値を入力してください。 
#  数値:1.89 
#  1.890000は2に四捨五入されました 
# 
# 

'入力された小数点をmy roundという関数を使って含む数値を四捨五入する' :-
        入力された小数点を(_小数点数),
        四捨五入する(_小数点数,_四捨五入された小数点数).
        _四捨五入された整数 is truncate(_四捨五入された小数点数),
        writef('%t は %f に四捨五入されました。\n',[_小数点数,_四捨五入された整数]).

入力された小数点を(_小数点数) :-
        write('小数点を含む数値を入力してください。 \n数値: '),
        get_line(Line),
        入力された小数数診断(Line,_小数点数),!.
入力された小数点を(_小数点数) :-
        入力された小数点を(_小数点数).

入力された小数数診断(Line,_小数点数) :-
        atom_to_term(Line,_小数点数,_),
        float(_小数点数),!.
入力された小数数診断(Line,_小数点数) :-
        writef('入力された %t からは小数点数を得られませんでした。再入力をお願いします。\n',[Line]),
        fail.

四捨五入する(_小数点数,_四捨五入された小数点数) :-
        _四捨五入された小数点数 is floor(_小数点数 + 0.5).