じゃんけんのプログラム

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Nir
記事: 4
登録日時: 4ヶ月前

じゃんけんのプログラム

#1

投稿記事 by Nir » 4ヶ月前

簡易的なじゃんけんゲームを作っていて、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: じゃんけんのプログラム

#2

投稿記事 by かずま » 4ヶ月前

フォーラム(掲示板)ルールに従って、コードタグを使用してください。
送信前に、プレビューボタンを押して表示を確認しましょう。

関数 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, "コンピュータ");
	...
}
switch文を使わずに書くこともできます。

コード:

int show(int n, const char *who)
{
	if (n < 0 || n > 2) {
		printf("入力した値が正しくありません。\n");
		return 1;
	}
	static const char *te[] = { "グー", "チョキ", "パー" };
	printf("%sは%sを選択しました\n", who, te);
	return 0;
}
分からないところは質問してください。

かずま

Re: じゃんけんのプログラム

#3

投稿記事 by かずま » 4ヶ月前

かずま さんが書きました:
4ヶ月前

コード:

	static const char *te[] = { "グー", "チョキ", "パー" };
	printf("%sは%sを選択しました\n", who, te);
すみません。次のように訂正します。

コード:

	printf("%sは%sを選択しました\n", who, te[n]);

カラオケ
記事: 1
登録日時: 3年前

Re: じゃんけんのプログラム

#4

投稿記事 by カラオケ » 2ヶ月前

https://macsecurity.net/ja/view/234-remove-mac-heal-pro
すみません、親愛なる友人、私は少し話題外です。
このアドウェアがC ++で書かれているかどうか教えてください。
ご迷惑をおかけして申し訳ありません。

返信

“C言語何でも質問掲示板” へ戻る