online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
/****************************************************************************** Welcome to GDB Online. GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl, C#, OCaml, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog. Code, Compile, Run and Debug online from anywhere in world. *******************************************************************************/ /****************************************************************************** [문제] 숫자 야구 게임 프로그램 작성 아래 조건에 맞는 C언어 프로그램을 작성하시오. [프로그램 설명] - 컴퓨터는 1~9 사이의 서로 다른 정수 3개를 무작위로 선택한다. - 사용자는 1~9 사이의 서로 다른 정수 3개를 입력한다. - 입력값과 컴퓨터의 숫자를 비교하여 스트라이크(Strike)와 볼(Ball)을 계산한다. · 스트라이크: 숫자와 위치가 모두 같음 · 볼: 숫자는 있으나 위치가 다름 - 3 스트라이크가 나올 때까지 게임을 반복 진행하며, 시도 횟수(라운드)를 기록한다. - 최종적으로 정답과 함께 라운드 수를 출력한다. [구현 조건] 다음의 함수들을 사용하여 구현할 것. 포인터 및 배열 사용은 금지하며, 함수 이름과 매개변수는 그대로 사용할 것. 1. int generateNumber(int n1, int n2) - 1~9 사이 숫자를 하나 무작위로 생성하여 반환 - 인자로 전달된 n1, n2와 다른 숫자여야 함 - 총 3번 호출하여 com1, com2, com3을 완성할 것 2. int getInput(char* prompt) - 사용자로부터 숫자 하나를 입력받아 반환 - prompt는 안내 문구로 출력함 (예: "첫 번째 숫자 (1~9): ") 3. int checkGuess(int com1, int com2, int com3, int user1, int user2, int user3) - 컴퓨터 숫자와 사용자 입력을 비교하여 스트라이크/볼을 계산 - 결과는 "결과: X 스트라이크, Y 볼" 형식으로 출력 - 스트라이크 개수만 정수로 반환 4. void playGame() - 게임의 전체 흐름을 제어 - com1~com3을 generateNumber로 생성 - user1~user3을 getInput으로 입력받음 - 중복 입력 또는 범위(1~9) 벗어난 경우 다시 입력받도록 처리 - checkGuess를 통해 판단하며, 3 스트라이크일 경우 성공 메시지와 라운드 수 출력 후 종료 [실행 예시] ⚾ 숫자 야구 게임을 시작합니다! 첫 번째 숫자 (1~9): 1 두 번째 숫자 (1~9): 2 세 번째 숫자 (1~9): 3 결과: 1 스트라이크, 1 볼 첫 번째 숫자 (1~9): 4 두 번째 숫자 (1~9): 5 세 번째 숫자 (1~9): 6 결과: 0 스트라이크, 2 볼 첫 번째 숫자 (1~9): 7 두 번째 숫자 (1~9): 3 세 번째 숫자 (1~9): 2 결과: 3 스트라이크, 0 볼 3 스트라이크! 정답입니다! 총 3 라운드 만에 성공! [주의사항] - 포인터, 배열 사용 금지 - 함수 이름과 변수 이름은 문제에 제시된 것 그대로 사용할 것 - srand(time(NULL)); 는 main 함수에서 한 번만 호출 *******************************************************************************/ #include <stdio.h> #include <stdlib.h> #include <time.h> int generateNumber(int n1, int n2){ int num; do{ num = rand() % 9 + 1; }while(num == n1 || num == n2); return num; } int getInput(char* prompt){ int input; printf("%s",prompt); scanf("%d",&input); return input; } int checkGuess(int com1, int com2, int com3, int user1, int user2, int user3){ int strike = 0, ball = 0; if(user1 == com1) strike++; else if(user1 == com2 || user1 == com3) ball++; if(user2 == com2) strike++; else if(user2 == com1 || user2 == com3) ball++; if(user3 == com3) strike++; else if(user3 == com1 || user3 == com2) ball++; printf("결과 : %d 스트라이크 %d 볼 \n\n"); return strike; } void playGame(){ int com1, com2, com3; int user1, user2, user3; int round = 0; int strike = 0; com1 = generateNumber(0,0); com2 = generateNumber(com1,0); com3 = generateNumber(com1,com2); printf("game start\n"); while (strike != 3){ while(1){ user1 = getInput("first number(1~9): "); user2 = getInput("second number(1~9): "); user3 = getInput("third number(1~9)3 "); } break; } round++; strike = checkGuess(com1, com2, com3,user1, user2, user3); } printf("3 strike"); } int 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