07年度-C言語講座
第2回 †
本日のお題 †
ループ文・break・continue
演習問題 †
ループ文を用いた数取りゲームの作成。
その際、
・終値を入力させる。
・プレイヤーは1〜3までしか入力できない。
このようにしてください。
演習問題解答例 †
編集担当者の実力がしょぼいため
プレイヤーすら分けられていませんが・・・
int max,sum,x;
sum=0;
printf("限界値を入力してください\n");
scanf("%d",&max);
while(sum<=max)
{
printf("1〜3の数字を入力してください\n");
scanf("%d",&x);
if(1<=x && x<=3)
{
sum=sum+x;
printf("合計値は%dです。\n",sum);
}
else
{
printf("誤りがあります。\n");
}
}
printf("あなたの負けです。");
受講者でもないのに横やりいれてすみません。
課題内容を理解してないのでプログラムの正否はわかりませんが、elseの中のprintfは、
printf("誤りがあります。\n"); でいいんではないかと。。。
byほへい
【追記】細かなとこですし、うだうだ言ってないで直しちゃえばいんですよね。
ってわけで、該当箇所直しました。
>↑
コピペしたときに直し忘れたんだろう・・・大目に見てやってくれw
>↓
合計値はどっちでもいいっしょ?
どうせ数えてるし。むしろ、二人の間で数え間違いがあったときにどっちが正しいか分かるからこっちのがいいんでは?
by まつ
課題としてこちらが意図した内容はすべてクリアされているので問題は
まったくありません。強いて言うなら、数取りゲームですので、合計値は
表示しない方がいいかもしれませんね。
ただ、何人かの人は、プレイヤーの区別をつける、
上限・下限の値を自分で設定するなどの拡張を行っていました。
少し考えればこれらは簡単に実装できると思いますので、試してみるのも
良い練習になると思いますよ。
by天照
ヒント:「ゲーム」
まぁ、デバッグの時は数値は見えた方がいいかも?