본문 바로가기
작업/Programming

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

 

 

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로 받아와 값에 맞는 비교와 그 결과를 출력하도록 하였습니다.

 

 

 

-끝-