본문 바로가기

C

C 가위바위보 배열 포인터

전역함수를 배열포인터로 바꿈

문자받는 함수를 배열포인터를 사용하여 만들어봄

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

//문자 받기 
void getcha(char *get){
	int i;
	printf("rock, papper, scissors를 입력하세요 : ");
	scanf("%s", &*get);
}
//문자 확인하기 
int check(){
	int b;
	int i;
	char a[8]={};
	getcha(a);
	//문자확인  
	while(1){		
	 	if(a[0]=='r'||a[0]=='p'||a[0]=='s'){
	 		if(a[1]=='o'||a[1]=='a'||a[1]=='c'){
	 			if(a[2]=='c'||a[2]=='p'||a[2]=='i'){
	 				if(a[3]=='k'){
	 					b=2;
						break;
					}
					else if(a[3]=='p'||a[3]=='s'){
	 					if(a[4]=='e'||a[4]=='s'){
	 						if(a[5]=='r'){
	 							b=3;
								break; 
							}
							else if(a[5]=='o'){
								if(a[6]=='r'){
									if(a[7]=='s');{
										b=1;
	 									break; 
									} 
								}
							}
						}
					}
				}
			}
			getcha(a);
		}
	}
	return b;
}
//결과출력  
void result(){
	srand(time(0));
	int a;
	int b;
	int i;
	int w=0;
	int l=0;
	int d=0;
	int num;
	for(i=0;i<5;i++){
		b=check();
		num = rand() % 3+ 1; 
	    //컴퓨터에서 나온  수  
	   	if(num==1){
			printf("컴퓨터 : 가위입입니다\n");
		}
		else if(num==2){
			printf("컴퓨터 : 바위입니다\n");
		}
		else if(num==3){
			printf("컴퓨터 : 보입니다\n");
		}
		//가위낼 떄  
		if(b==1){
			if(num==1){
				printf("무승부입니다\n");
				d++;
			}
			else if(num==2){
				printf("패배입니다\n");
				l++;
			}
			else if(num==3){
				printf("승리입니다\n");
				w++;
			}
		}
		//바위낼 때 
		else if(b==2){
			if(num==1){
				printf("승리입니다\n");
				w++;
			}
			else if(num==2){
				printf("무승부입니다\n");
				d++;
			}
			else if(num==3){
				printf("패배입니다\n");
				l++;
	
			}
		}
		//보낼  떄  
		else if(b==3){
			if(num==1){
				printf("패배입니다\n");
				l++;
			}
			else if(num==2){
				printf("승리입니다\n");
				w++;
			}
			else if(num==3){
				printf("무승부입니다\n");
				d++;
			}
		}
	}
	printf("%d승 %d 무 %d 패 입니다", w,d,l);
	return ;
}
int main(void) {
	result();
	return 0;
	
}

'C' 카테고리의 다른 글

C 자판기만들기  (1) 2023.12.08
C 가위바위보 전역변수  (1) 2023.12.07
C 배열 포인터 개념  (2) 2023.12.06
C 포인터 개념  (0) 2023.12.06
C 십진수를 이진수, 8진수, 16진수로 바꾸기  (2) 2023.12.05