본문 바로가기
작업/Programming

C언어 가위, 바위, 보 시뮬레이션

728x90

 

 

perfect c의 12장에 있는 문제를 바탕으로 만들었습니다.

사용자가 가위, 바위, 보 중에서 입력한 값과

시스템이 자동으로 선택한 값을 비교하여 승, 패, 무승부를 가리는 프로그램입니다.

 

#include <stdio.h>
#include <stdlib.h> //srand(), rand()
#include <time.h> //time()
int main() {
//랜덤 값 (난수) 생성
srand((unsigned int)time(NULL));
//랜덤 값을 바탕으로 0, 1, 2 중 하나
int sysN = rand()%3;
int myN;
printf("가위(0) 바위(1) 보(2) 중에서 하나 입력 : ");
scanf("%d", &myN);
//가위, 바위, 보 시스템
switch(myN){
case 0:
if(sysN==0) {
puts("당신과 시스템 모두 가위입니다.\n");
puts("무승부 입니다.");
}
else if(sysN==1){
puts("당신은 가위이고 시스템은 바위입니다.\n");
puts("당신의 패배입니다.");
}
else {
puts("당신은 가위이고 시스템은 보입니다.\n");
puts("당신의 승리입니다.");
}
break;
case 1:
if(sysN==0) {
puts("당신은 바위이고 시스템은 가위입니다.\n");
puts("당신의 승리입니다.");
}
else if(sysN==1){
puts("당신과 시스템 모두 바위입니다.\n");
puts("무승부 입니다.");
}
else {
puts("당신은 바위이고 시스템은 보입니다.\n");
puts("당신의 패배입니다.");
}
break;
case 2:
if(sysN==0) {
puts("당신은 보이고 시스템은 가위입니다.\n");
puts("당신의 패배입니다.");
}
else if(sysN==1){
puts("당신은 보이고 시스템은 바위입니다.\n");
puts("당신의 승리입니다.");
}
else {
puts("당신과 시스템 모두 보입니다.\n");
puts("무승부 입니다.");
}
break;
}
}

 

 

가위, 바위, 보는 0, 1, 2의 값과 동일합니다.

사용자는 0, 1, 2의 값을 입력할 수 있습니다.

 

 

시스템은 난수 발생 코드를 통해 0, 1, 2의 값 중 하나를 무작위로 얻습니다.

사용자의 입력 값과 시스템의 난수 값에 따라 결과가 나타납니다.

 

 

가위, 바위, 보의 결과를 얻어내는 코드는 switch case 구문을 사용했습니다.

사용자가 입력한 값을 case로 받아와 값에 맞는 비교와 그 결과를 출력하도록 하였습니다.

 

 

 

-끝-

 

 

728x90