online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#pragma warning(disable:4996) #include <stdio.h> #include <stdlib.h> #include <time.h> // 함수 선언 int generateNumber(int num1, int num2); // 중복 없는 난수(1~9)를 생성하는 함수 int getInput(int prompt); // 사용자로부터 입력을 받는 함수 int checkGuess(int com1, int com2, int com3, int user1, int user2, int user3); // 스트라이크와 볼을 판별하는 함수 void playGame(); // 게임의 전체 흐름을 담당하는 함수 // 함수 정의 int generaterNumber(int num1, int num2){ // 중복 없는 난수(1~9)를 생성하는 함수 int randNum; while(1){ // 무한 반복 randNum = rand() % 9 + 1; // 1~9 사이 난수 생성 if (randNum != num1 && randNum != num2){ break; // 이전 숫자들과 중복되지 않으면 반복 종료 } } return randNum; // 생성한 난수 반환 } int getInput(int prompt){ // 사용자로부터 입력을 받는 함수 int num; printf("%d 번째 숫자 (1~9): ", prompt); // 몇 번째 숫자인지 출력 scanf("%d", &num); // 정수 입력 받기 return num; // 입력받은 숫자 반환 } // 스트라이크/볼 계산 + 출력, 스트라이크 갯수 반환 int checkGuess(int com1, int com2, int com3, int user1, int user2, int user3){ int strike = 0, ball = 0; // 스트라이크와 볼 개수를 저장할 변수 // 자리와 숫자가 모두 일치하면 스트라이크 증가 if (com1 == user1) strike++; if (com2 == user2) strike++; if (com3 == user3) strike++; // 숫자는 같지만 자리가 다르면 볼 증가 if (com1 == user2 || com1 == user3) ball++; if (com2 == user1 || com2 == user3) ball++; if (com3 == user1 || com3 == user2) ball++; printf("결과: %d 스트라이트, %d 볼\n", strike, ball); // 결과 출력 return strike; // 스트라이크 개수 반환 } // 게임 본체 void playGame(){ int com1, com2, com3; // 컴퓨터가 생성한 세 자리 숫자 int user1, user2, user3; // 사용자가 입력한 세 자리 숫자 int round = 0; // 시도 횟수를 세는 변수 // 중복 없는 세 자리 난수 생성 com1 = generaterNumber(0, 0); // 첫 번째 숫자, 중복 체크 대상 없음 com2 = generaterNumber(com1, 0); // 두 번째 숫자, com1과 중복 체크 com3 = generaterNumber(com1, com2); // 세 번째 숫자, com1, com2와 중복 체크 printf("⚾ 숫자 야구 게임을 시작합니다!\n"); while (1){ // 무한반복 // 사용자 입력 받기 user1 = getInput(1); user2 = getInput(2); user3 = getInput(3); // 1~9 범위를 벗어나는 경우 if (user1 < 1 || user1 > 9 || user2 < 1 || user2 > 9 || user3 < 1 || user3 > 9 ){ printf("1~9사이 숫자만 입력하세요.\n"); continue; // 다시 입력 받기 위해 반복문의 처음으로 이동 } // 중복 숫자 입력 예외 처리 if (user1 == user2 || user1 == user3 || user2 == user3){ printf("서로 다른 숫자를 입력하세요\n"); continue; } round ++; // 시도 횟수 증가 // 스트라이크 판별, 3 스트라이크면 정답 if (checkGuess(com1, com2, com3, user1, user2, user3) == 3){ printf("3 스트라이크! 정답입니다! 총 %d 라운드 만에 성공!\n", round); break; // 게임 종료 } } } int main(){ // main 함수 정의, 프로그램 시작 srand(time(NULL)); // 현재 시간을 기준으로 난수 생성 시드 초기화 playGame(); // 게임 시작 함수 호출 return 0; // 프로그램 종료 }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue