Chapter. 13

김동현·2022년 11월 10일
0

혼자 공부하는 C언어

목록 보기
13/15
post-thumbnail
1.   #include <stdio.h>
2.   #include <stdlib.h>
3.
4.   int main(void)
5.   {
6.   while(1)
7.   {
8.       char c1;
9.       char c2;
10.       printf("가위(s) 바위(r) 보(p) 게임을 시작합니다\n");
11.       printf("가위 바위 보를 선택하세요");
12.       scanf("%c",&c1);
13.       c2=rand()%3;
14.       if(c1=='s')
15.       {
16.           c2=0;
17.           printf("당신은 %c를 냈고 컴퓨터는 %c를 냈습니다. c1, c2");
18.           printf("당신은 비겼습니다");
19.       }
20.               else if(c1=='s')
21.               {
22.                   c2=1;
23.                   printf("당신은 %c를 냈고 컴퓨터는 %c를 냈습니다. c1, c2");
24.                   printf("당신은 졌습니다");
25.               }
26.                   else if(c1=='s')
27.                   {
28.                       c2=2;
29.                      printf("당신은 %c를 냈고 컴퓨터는 %c를 냈습니다. c1, c2");
30.                      printf("당신은 이겼습니다");
31.                  }
32.      
33.      if(c1=='r')
34.      {
35.          c2=0;
36.          printf("당신은 %c를 냈고 컴퓨터는 %c를 냈습니다. c1, c2");
37.          printf("당신은 이겼습니다");}
38.              else if(c1=='r')
39.              {
40.                  c2=1;
41.                  printf("당신은 %c를 냈고 컴퓨터는 %c를 냈습니다. c1, c2");
42.                  printf("당신은 비습니다");
43.              }
44.                  else if (c1=='r')
45.                  {
46.                      c2=2;
47.                      printf("당신은 %c를 냈고 컴퓨터는 %c를 냈습니다. c1, c2");
48.                      printf("당신은 졌습니다");                }
49.    
50.      if(c1=='p')
51.      {
52.          c2=0;
53.          printf("당신은 %c를 냈고 컴퓨터는 %c를 냈습니다. c1, c2");
54.          printf("당신은 졌습니다");}
55.              else if(c1=='p')
56.              {
57.                  c2=1;
58.                  printf("당신은 %c를 냈고 컴퓨터는 %c를 냈습니다. c1, c2");
59.                  printf("당신은 이겼습니다");
60.               }
61.                  else if (c1=='p')
62.                  {
63.                      c2=2;
64.                      printf("당신은 %c를 냈고 컴퓨터는 %c를 냈습니다. c1, c2");
65.                      printf("당신은 비겼습니다");
66.                  }
67.      }
68.
69.          printf("다음에 또 만나요");
70.          return 0;   
71.  }
💡 if문 안에서 비교연산자와 대입 연산자를 구분지어 사용하지 않았다.
  • 실수한 행
    • 13행, 18행, 24행, 31행, 36행, 42행, 49행, 54행, 60행
  • 놓친 개념
    • =과 ==의 차이점 / 교재 p.85 + p.91
      • =의 경우 대입연산자이다. 즉 오른쪽 수식의 결과를 왼쪽 변수에 저장한다는 것이다. ex) a = 10; → 이 경우에 a에 10의 값을 넣겠다는 의미인 것이다.
      • ==의 경우 관계연산자이다. 즉 동등관계를 의미하는 것이다. ex) a==b → a와 b의 값이 같다는 것을 의미한다. ex) a!=b → a와 b의 값이 같지 않다는 것을 의미한다.
💡 문자 간 비교를 하지않고, 단지 보이는 ‘수’를 비교했다.
  • 실수한 행
    • 14행, 20행, 26행, 33행, 38행, 44행, 51행, 56행, 62행
  • 놓친 개념
    • if(c1=='s') → 이런 식으로 ‘ ’를 넣지 않고 그냥 s로 넣으면 안된다.
💡 if → else if → else ↔  if → else if → else if 의 차이점을 알지 못했다.
  • 실수한 행
    • 14 → 20 → 26
    • 33 → 38 → 44
    • 51 → 56 → 62
  • 놓친 개념
    • if → else if → else 의 경우 if에서 해결되지 못한 내용이 else if로 전달된다. 그치만! else의 경우 그냥 거기서 멈춰지는 것이다. 결론이 나는 느낌!
    • if → else if → else if 의 경우 if에서 해결되지 못한 내용이 else if로 전달되고, else if로 전달되는 내용이 다시 else if 로 전달된다.
profile
디자인과 개발을 모두 할줄 아는 능력있는 개발자가 되고싶습니다.

0개의 댓글