teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

8

ソースコードを少し修正しました

2020/06/07 22:19

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,25 +1,17 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
3
  ここに質問の内容を詳しく書いてください。
4
- C言語の練習として動物当てクイズを作ろうとして1~7の動物を選んで7の猫が当てるまで繰り返し、4回間違えると負けというゲームを作ろうとしたのですが入力回数を4回を超えたら私の勝ちですのコメントを出したいの5回入力してでるようになってます。また一回間違えたら残念はずれしか出ないのですが一回間違えたらヒントと残念はずれコメントを出す。
4
+ C言語の練習として動物当てクイズを作ろうとして1~7の動物を選んで7の猫が当てるまで繰り返し、4回間違えると負けというゲームを作ろうとしたのですが4回目ギリギリ正解して間違いとなって私勝ちですコメントが表示されてす。
5
- 間違えたって
5
+ ですから4目は正解しても不正解でも負けってしまうので4回目ギリギリに正解した場合は私の負けですコメントが表示したいです
6
- 残念はずれ
7
- ヒント1
8
- ヒント2
9
- ヒント3
10
- ヒント4私の勝ちです
11
- と出てまい5回も入力きま
6
+ C言語を勉強始めた初心者です
12
7
 
13
- (1回間違えたら1回目ヒントを出す。2回目間違えたら1回目と違う2回目のヒントを出すみたいなことがやりたかったです)ですからどこが違うのかご指摘願います。C言語を勉強し始めた初心者です。
14
-
15
8
  これはついでなのですがよかったら間違えた数や入力した数を数えるにはどういったコードを作るべきか教えてください
16
9
  ここで見えるソースコードでの改行は¥nに見えますが実際のコードではちゃんと半角で\nと書いてます。
17
10
 
18
11
  ### 発生している問題・エラーメッセージ
19
12
 
20
13
  ```
21
- ヒントが表示されないです
22
- 回間違うごに一個のヒントを出ので
14
+ 4目で正解しても間違なって
23
15
  ```
24
16
 
25
17
  ### 該当のソースコード
@@ -35,31 +27,31 @@
35
27
  printf("1:犬\n2:カンガルー\n3:イルカ\n4:ワニ\n5:スズメ\n6:サル\n7:猫\n");
36
28
  scanf_s("%d", &b);
37
29
 
38
- while (a != b || c < 4)
30
+ while (a != b)
39
31
  {
40
32
  printf("残念はずれです( ̄ー ̄)\n");
33
+ if (c == 0)printf("ヒント:4足歩行です\n");
41
34
  scanf_s("%d", &b);
42
35
 
43
36
 
44
37
 
45
38
 
46
39
  c++;
47
- if (c == 1)printf("ヒント:4足歩行です\n");
40
+
48
- if (c == 2)printf("ヒント:あまり大きくないです\n");
41
+ if (c == 1)printf("ヒント:あまり大きくないです\n");
49
- if (c == 3)printf("ヒント:嵐のドラマに出たことがあります\n");
42
+ if (c == 2)printf("ヒント:嵐のドラマに出たことがあります\n");
50
- if (c == 4)printf("ヒント:ペットとして人気です\n");
51
- if (c >= 4) {
43
+ if (c == 3) {
52
- printf("4回間違えたので私の勝ちです(^^)/");
44
+ printf("ヒント:ペットとして人気です\n4回間違えたので私の勝ちです(^^)/");
45
+ if (c <= 4)break;
46
+
53
- break;
47
+ return 0;
54
48
  }
49
+
55
50
  }
56
51
 
57
52
 
53
+ if (c!=3 && c <= 4)printf("正解です。私の負けです(´;ω;`)\nまた遊びましょう(^-^)\n");
58
54
 
59
-
60
-
61
- if (c < 5)printf("正解です。私の負けです(´;ω;`)\nまた遊びましょう(^-^)\n");
62
-
63
55
  return 0;
64
56
  }
65
57
  ```

7

ソースコードを少し修正しました

2020/06/07 22:19

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  ここに質問の内容を詳しく書いてください。
4
4
  C言語の練習として動物当てクイズを作ろうとして1~7の動物を選んで7の猫が当てるまで繰り返し、4回間違えると負けというゲームを作ろうとしたのですが入力回数を4回を超えたら私の勝ちですのコメントを出したいのに5回入力してでるようになってます。また一回間違えたら残念はずれしか出ないのですが一回間違えたらヒントと残念はずれコメントを出したいです。
5
- また4回間違えたら私の勝ちコメントを表示してそれ以降入力できないようにしたいです。
6
5
  間違えた回数によって
7
6
  残念はずれ
8
7
  ヒント1
@@ -51,7 +50,7 @@
51
50
  if (c == 4)printf("ヒント:ペットとして人気です\n");
52
51
  if (c >= 4) {
53
52
  printf("4回間違えたので私の勝ちです(^^)/");
54
- return 0;
53
+ break;
55
54
  }
56
55
  }
57
56
 

6

ソースコードを少し修正しました

2020/06/07 21:55

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,17 +1,15 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
3
  ここに質問の内容を詳しく書いてください。
4
- C言語の練習として動物当てクイズを作ろうとして1~7の動物を選んで7の猫が当てるまで繰り返し、4回間違えると負けというゲームを作ろうとしたのですが入力回数を4回を超えたら私の勝ちですのコメントを出したいのに7回入力してでるようになってます。また一回間違えたら残念はずれしか出ないのですが一回間違えたらヒントと残念はずれコメントを出したいです。
4
+ C言語の練習として動物当てクイズを作ろうとして1~7の動物を選んで7の猫が当てるまで繰り返し、4回間違えると負けというゲームを作ろうとしたのですが入力回数を4回を超えたら私の勝ちですのコメントを出したいのに5回入力してでるようになってます。また一回間違えたら残念はずれしか出ないのですが一回間違えたらヒントと残念はずれコメントを出したいです。
5
5
  また4回間違えたら私の勝ちコメントを表示してそれ以降入力できないようにしたいです。
6
6
  間違えた回数によって
7
7
  残念はずれ
8
8
  ヒント1
9
9
  ヒント2
10
10
  ヒント3
11
- ヒント4
12
- 残念はずれ
13
- 私の勝ちです
11
+ ヒント4私の勝ちです
14
- と出てしまい回も入力できます
12
+ と出てしまい5回も入力できます
15
13
 
16
14
  (1回間違えたら1回目ヒントを出す。2回目間違えたら1回目と違う2回目のヒントを出すみたいなことがやりたかったです)ですからどこが違うのかご指摘願います。C言語を勉強し始めた初心者です。
17
15
 
@@ -32,33 +30,37 @@
32
30
 
33
31
  int main(void)
34
32
  {
35
- int a = 7 ,b=0,c=0;
33
+ int a = 7, b = 0, c = 0;
36
- printf("私とどうぶつ当てゲームをしましょう。私が考えている動物を当ててください。(*'ω'*)¥n間違えるたびにヒントを表示します。n");
34
+ printf("私とどうぶつ当てゲームをしましょう(*'ω'*)。私が考えている動物を当ててください。\n間違えるたびにヒントを表示します。\n");
37
- printf("私の考えている動物は何でしょうn次の番号から入力してくださいn");
35
+ printf("私の考えている動物は何でしょう\n次の番号から入力してください\n");
38
- printf("1:犬¥n 2:カンガルー¥n 3:イルカ¥n 4:ワニ¥n 5:スズメ¥n 6:サル¥n 7:猫n");
36
+ printf("1:犬\n2:カンガルー\n3:イルカ\n4:ワニ\n5:スズメ\n6:サル\n7:猫\n");
39
- scanf_s("%d",&b);
37
+ scanf_s("%d", &b);
40
38
 
41
- while (a != b)
39
+ while (a != b || c < 4)
42
40
  {
43
- printf("残念はずれです( ̄ー ̄)n");
41
+ printf("残念はずれです( ̄ー ̄)\n");
44
- scanf_s("%d",&b);
42
+ scanf_s("%d", &b);
45
-
46
- if (c > 4) {
47
- printf("4回間違えたので私の勝ちです(*'ω'*)");
48
- }
49
43
 
44
+
50
45
 
46
+
51
47
  c++;
52
- if (c == 1)printf("ヒント:4足歩行です");
48
+ if (c == 1)printf("ヒント:4足歩行です\n");
53
- if (c == 2)printf("ヒント:あまり大きくないです");
49
+ if (c == 2)printf("ヒント:あまり大きくないです\n");
54
- if (c == 3)printf("ヒント:嵐のドラマに出たことがあります");
50
+ if (c == 3)printf("ヒント:嵐のドラマに出たことがあります\n");
55
- if (c == 4)printf("ヒント:ペットとして人気です");
51
+ if (c == 4)printf("ヒント:ペットとして人気です\n");
52
+ if (c >= 4) {
53
+ printf("4回間違えたので私の勝ちです(^^)/");
54
+ return 0;
55
+ }
56
+ }
56
57
 
57
- }
58
58
 
59
-
60
59
 
60
+
61
+
61
- if(c<5)printf("正解です。私の負けです(´;ω;`)nまた遊びましょう(^^)/¥n");
62
+ if (c < 5)printf("正解です。私の負けです(´;ω;`)\nまた遊びましょう(^-^)\n");
63
+
62
64
  return 0;
63
65
  }
64
66
  ```

5

実現したいことに追記しました

2020/06/07 21:51

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  ここに質問の内容を詳しく書いてください。
4
4
  C言語の練習として動物当てクイズを作ろうとして1~7の動物を選んで7の猫が当てるまで繰り返し、4回間違えると負けというゲームを作ろうとしたのですが入力回数を4回を超えたら私の勝ちですのコメントを出したいのに7回入力してでるようになってます。また一回間違えたら残念はずれしか出ないのですが一回間違えたらヒントと残念はずれコメントを出したいです。
5
+ また4回間違えたら私の勝ちコメントを表示してそれ以降入力できないようにしたいです。
5
6
  間違えた回数によって
6
7
  残念はずれ
7
8
  ヒント1

4

c+1をc++に修正

2020/06/07 21:22

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -47,7 +47,7 @@
47
47
  }
48
48
 
49
49
 
50
- c+1;
50
+ c++;
51
51
  if (c == 1)printf("ヒント:4足歩行です");
52
52
  if (c == 2)printf("ヒント:あまり大きくないです");
53
53
  if (c == 3)printf("ヒント:嵐のドラマに出たことがあります");

3

C#タブは外させていただきました

2020/06/07 21:13

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
File without changes

2

if(c!=5)をif(c<5)と編集しました

2020/06/07 17:19

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,10 +1,18 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
3
  ここに質問の内容を詳しく書いてください。
4
- C言語の練習として動物当てクイズを作ろうとして1~7の動物を選んで7の猫が当てるまで繰り返し、4回間違えると負けというゲームを作ろうとしたのですが選んだあとスローされましたでてかなくなります。
4
+ C言語の練習として動物当てクイズを作ろうとして1~7の動物を選んで7の猫が当てるまで繰り返し、4回間違えると負けというゲームを作ろうとしたのですが入力4回を超えたら私の勝ちですのコメントを出したいのに7回入力してるようになっます。また一回間違えたら残念はずれしいのでが一回間違えたらヒントと残念はずれコメントを出したいです
5
+ 間違えた回数によって
6
+ 残念はずれ
7
+ ヒント1
8
+ ヒント2
9
+ ヒント3
10
+ ヒント4
11
+ 残念はずれ
12
+ 私の勝ちです
5
- 入力して間違えた回数でヒントを出そうとしたのですが多分そこが上手くかなかったのかなと思っています
13
+ 出て7回も入力できます
14
+
6
15
  (1回間違えたら1回目ヒントを出す。2回目間違えたら1回目と違う2回目のヒントを出すみたいなことがやりたかったです)ですからどこが違うのかご指摘願います。C言語を勉強し始めた初心者です。
7
- 最初の回答を参考に少し編集しましたがまだヒントが表示されないです。
8
16
 
9
17
  これはついでなのですがよかったら間違えた数や入力した数を数えるにはどういったコードを作るべきか教えてください
10
18
  ここで見えるソースコードでの改行は¥nに見えますが実際のコードではちゃんと半角で\nと書いてます。
@@ -49,7 +57,7 @@
49
57
 
50
58
 
51
59
 
52
- if(c!=5)printf("正解です。私の負けです(´;ω;`)¥nまた遊びましょう(^^)/¥n");
60
+ if(c<5)printf("正解です。私の負けです(´;ω;`)¥nまた遊びましょう(^^)/¥n");
53
61
  return 0;
54
62
  }
55
63
  ```

1

最初の回答で==のところとscanf_s("%d")は修正しました

2020/06/07 17:10

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -4,6 +4,7 @@
4
4
  C言語の練習として動物当てクイズを作ろうとして1~7の動物を選んで7の猫が当てるまで繰り返し、4回間違えると負けというゲームを作ろうとしたのですが一回目を選んだあとスローされましたとでて動かなくなります。
5
5
  入力して間違えた回数でヒントを出そうとしたのですが多分そこが上手くいかなかったのかなと思っています。
6
6
  (1回間違えたら1回目ヒントを出す。2回目間違えたら1回目と違う2回目のヒントを出すみたいなことがやりたかったです)ですからどこが違うのかご指摘願います。C言語を勉強し始めた初心者です。
7
+ 最初の回答を参考に少し編集しましたがまだヒントが表示されないです。
7
8
 
8
9
  これはついでなのですがよかったら間違えた数や入力した数を数えるにはどういったコードを作るべきか教えてください
9
10
  ここで見えるソースコードでの改行は¥nに見えますが実際のコードではちゃんと半角で\nと書いてます。
@@ -11,9 +12,8 @@
11
12
  ### 発生している問題・エラーメッセージ
12
13
 
13
14
  ```
14
- 例外スローされました
15
+ ヒント表示されないです
15
- 0x795F9D4E (ucrtbased.dll) で例外がスローされました (Project3.exe 内): 0xC0000005: 場所 0x00091343 への書き込み中にアクセス違反が発生しましたとでます
16
- これ意味分かりません
16
+ 一回間違うごとに一個ヒントを出したいのです
17
17
  ```
18
18
 
19
19
  ### 該当のソースコード
@@ -27,12 +27,12 @@
27
27
  printf("私とどうぶつ当てゲームをしましょう。私が考えている動物を当ててください。(*'ω'*)¥n間違えるたびにヒントを表示します。¥n");
28
28
  printf("私の考えている動物は何でしょう¥n次の番号から入力してください¥n");
29
29
  printf("1:犬¥n 2:カンガルー¥n 3:イルカ¥n 4:ワニ¥n 5:スズメ¥n 6:サル¥n 7:猫¥n");
30
- scanf_s("%d,&b");
30
+ scanf_s("%d",&b);
31
31
 
32
32
  while (a != b)
33
33
  {
34
34
  printf("残念はずれです( ̄ー ̄)¥n");
35
- scanf_s("%d,&b");
35
+ scanf_s("%d",&b);
36
36
 
37
37
  if (c > 4) {
38
38
  printf("4回間違えたので私の勝ちです(*'ω'*)");
@@ -40,10 +40,10 @@
40
40
 
41
41
 
42
42
  c+1;
43
- if (c = 1)printf("ヒント:4足歩行です");
43
+ if (c == 1)printf("ヒント:4足歩行です");
44
- if (c = 2)printf("ヒント:あまり大きくないです");
44
+ if (c == 2)printf("ヒント:あまり大きくないです");
45
- if (c = 3)printf("ヒント:嵐のドラマに出たことがあります");
45
+ if (c == 3)printf("ヒント:嵐のドラマに出たことがあります");
46
- if (c = 4)printf("ヒント:ペットとして人気です");
46
+ if (c == 4)printf("ヒント:ペットとして人気です");
47
47
 
48
48
  }
49
49