このディレクトリの索引

# 出典 :: C/C++の宿題片付けます 152代目 #876 # [1] 授業単元:プログラム作成 # [2]D, C, B, A, S, Invalid という成績を表す列挙体 # enum result を定義し,点数(int 型)を引数として # enum result 型の値を返す関数 # seiseki_hantei(int sc) # と,enum result 型の値を引数として,成績を表示する関数も作成する # 点数と成績は以下の通とする # 0〜59 点: D # 60〜69 点: C # 70〜79 点: B # 80〜89 点: A # 90〜100 点: S # それ以外: Invalid # # # る関数 # print_seiseki(enum result res) # を作成せよ.この2 つの関数を使用して,以下の実行例 # のように点数を入力すると成績を表示するmain 関数も # 作成すること.点数と成績の関係は以下の通りとする. # 例. # 点数(整数)を入力してください:91 # 成績はS です。 # '成績を入力して判定し、それを表示する' :- 成績を入力して(_成績), 成績を判定し(_成績,_判定), 判定を表示する(_判定). 成績を入力して(_成績) :- 整数を得る('点数(整数)を入力してください',between(0,100,_整数),_整数). 整数を得る(_催促文,_整数を含む評価,_整数) :- writef('%w:',[_催促文]), 整数を得る(_整数), call(_整数を含む評価). 整数を得る(_整数) :- 行入力(_行), 整数入力検査(_行,_整数),!. 整数を得る(_整数) :- 整数を得る(_整数). 整数入力検査(_行,_整数) :- catch(read_term_from_atom(_行,_整数,[]),E,fail), integer(_整数),!. 整数入力検査(_行,_整数) :- writef('入力された %w からは整数は得られませんでした。再入力をお願いします。\n'), fail. 成績判定を判定し(_成績,'D') :- between(0,59,_成績),!. 成績判定を判定し(_成績,'C') :- between(60,69,_成績),!. 成績判定を判定し(_成績,'B') :- between(70,79,_成績),!. 成績判定を判定し(_成績,'A') :- between(80,89,_成績),!. 成績判定を判定し(_成績,'S') :- between(90,100,_成績),!. 成績判定を判定し(_,異常値). 判定を表示する(_判定) :- writef('判定は%tです\n',[_判定]),!.