簡易的なじゃんけんゲームを作っていて、0,1,2以外を入力したときに「入力した値が正しくありません」と出てまた手を選び直すといった感じで作りたいのですがどうもうまく行かなくて困っています。どうすればいいかアトバイス貰えると嬉しいです。
#include<stdio.h>
#include <stdlib.h>
#include <time.h>
int inputYou()
{
int te;
printf("あなたのじゃんけんの手を選んでください。(0:グー、1:チョキ,2:パー)\n");
printf("選んだ数値を入力->");
scanf("%d",&te);
return te;
}
int inputCpu()
{
int te;
te = rand() % 3;
return te;
}
int show(int n)
{
if(n<3||n>-1)
{
switch(n)
{
case 0:
printf("自分はグーを選択しました\n");
break;
case 1:
printf("自分はチョキを選択しました\n");
break;
case 2:
printf("自分はパーを選択しました\n");
break;
}
return 0;
switch(n)
{
case 0:
printf("コンピューターはグーを選択しました\n");
break;
case 1:
printf("コンピューターはチョキを選択しました\n");
break;
case 2:
printf("コンピューターはパーを選択しました\n");
break;
}
}else{
printf("入力した値が正しくありません。");
}
return 0;
}
int main()
{
int cpu;
int seed;
int jibun;
// 乱数を使うための準備
seed = time(NULL);
srand(seed);
// 人間の手を入力させる
jibun = inputYou();
// 人間の選んだ手を表示する
show(jibun);
// コンピュータの手を選択する
cpu = inputCpu();
// コンピュータの選んだ手を表示する
show(cpu);
return 0;
}
じゃんけんのプログラム
Re: じゃんけんのプログラム
フォーラム(掲示板)ルールに従って、コードタグを使用してください。
送信前に、プレビューボタンを押して表示を確認しましょう。
関数 show の中の途中で return 0; を実行したら、
そこで関数の呼び出し元に戻りますから、その後の
"コンピュータは..." は表示されません。
show の引数に "自分" か "コンピュータ" を追加すればよいのでは
ありませんか?
switch文を使わずに書くこともできます。
分からないところは質問してください。
送信前に、プレビューボタンを押して表示を確認しましょう。
関数 show の中の途中で return 0; を実行したら、
そこで関数の呼び出し元に戻りますから、その後の
"コンピュータは..." は表示されません。
show の引数に "自分" か "コンピュータ" を追加すればよいのでは
ありませんか?
int show(int n, const char *who)
{
if (n < 0 || n > 2) {
printf("入力した値が正しくありません。");
return 1;
}
printf("%s", who);
switch (n) {
case 0: printf("はグーを選択しました\n"); break;
case 1: printf("はチョキを選択しました\n"); break;
case 2: printf("はパーを選択しました\n"); break;
}
return 0;
}
int main(void)
{
...
show(jibun, "自分");
...
show(cpu, "コンピュータ");
...
}
Re: じゃんけんのプログラム
すみません。次のように訂正します。かずま さんが書きました: ↑6年前
Re: じゃんけんのプログラム
https://macsecurity.net/ja/view/234-remove-mac-heal-pro
すみません、親愛なる友人、私は少し話題外です。
このアドウェアがC ++で書かれているかどうか教えてください。
ご迷惑をおかけして申し訳ありません。
すみません、親愛なる友人、私は少し話題外です。
このアドウェアがC ++で書かれているかどうか教えてください。
ご迷惑をおかけして申し訳ありません。