질문있습니다. 컴퓨터와 바위가위보 하는 게임을 만든것입니다. 사용자가 져야만 프로그램이 끝나도록 만들었습니다.

그런데 지는것을 리턴으로해서 프로그램을 짰는데... 잘한걸까요..???

저 그리고, 사용자가 져야끝나는데 첫판에 사용자와 컴퓨터가 비기면 끝나더라구요.. 두쨋판 세쨋판에서 비기면 아무이상

없는데... 흠...

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int Input(int, int);
int Output(char*, char*, char*, int, int);

int main(void)
{
 int user, computer, result;

 while(1)
 {
  printf(\"주먹은 1, 가위는 2, 보는 3 \\n\");
  printf(\"숫자하나를 입력하세요: \");
  scanf(\"%d\", &user);

  srand((int)time(NULL));
  computer = (rand()%3)+1;

  result=Input(user, computer);
  if(result==1)
   break;
 }

 return 0;
}

 

int Input(int user, int computer)
{
 char *uStr, *cStr, *resStr;
 int temp, result;

 if(user==1)
  uStr=\"주먹\";
 else if(user==2)
  uStr=\"가위\";
 else
  uStr=\"보\";

 if(computer==1)
  cStr=\"주먹\";
 else if(computer==2)
  cStr=\"가위\";
 else
  cStr=\"보\";

 if(user==1 && computer==2)
 {
  temp=user;
  user=computer;
  computer=temp;
 }
 else if(user==2 && computer==1)
 {
  temp=user;
  user=computer;
  computer=temp;
 }
 else if(user==2 && computer==3)
 {
  temp=user;
  user=computer;
  computer=temp;
 }
 else if(user==3 && computer==2)
 {
  temp=user;
  user=computer;
  computer=temp;
 }

 if(user>computer)
  resStr=\"승리하였습니다!!\";
 else if(user<computer)
  resStr=\"패배하였습니다!!\";
 else
  resStr=\"비겼습니다!!\";

 result=Output(uStr, cStr, resStr, user, computer);
 if(result==1)
  return 1;
}


 

int Output(char* uStr, char* cStr, char* resStr, int user, int computer)
{
 static int win, draw;

 if(user>computer)
  win+=1;
 if(user==computer)
  draw+=1;

 printf(\"당신의 선택: %s, 컴퓨터의 선택: %s, %s\\n\\n\", uStr, cStr, resStr);

 if(user<computer)
 {
  printf(\"\\n\\n게임의 결과: %d승, %d무 \\n\", win, draw);
  return 1;
 }
}