C언어 실무 프로젝트
C언어 Up Down 콘솔 게임
C's everything!
2022. 5. 18. 18:06
반응형
제어문(while, if문) 위주의 프로그램을 만들었습니다. 사용자가 원하는 만큼 업다운 게임을 진행하고 종료할 수 있게 구성하였습니다. 코드의 양이 적어서 주석을 보면서 따라 만들어보시면 쉽게 이해할 수 있는 코드입니다.
#include <stdio.h>
#include <stdlib.h> // system("cls"): 화면을 깨끗하게 청소하는 함수
#include <ctype.h> // toupper(): 소문자를 대문자로 바꿔주는 함수
int main() { // Up Down 게임 프로그램입니다.
int correct; // 업 다운 숫자의 정답
int check; // 업 다운을 검사할 변수
int end = 1; // 반복의 유무
char select; // 계속하려면 Y, 끝내려면 아무 키
int count; // 몇 번째 시도인지 카운트
while (end) { // Up Down 게임을 종료할 때까지의 반복문
count = 0; // 한 판이 끝나면 count를 초기화해야 하므로
system("cls"); // 다시 시작했을 때 이전의 내용을 청소
printf("\n---------------------------------\n");
printf("----------Up Down 게임---------\n");
printf("\n 0 ~ 21억까지의 숫자 중에 하나를 정해주세요. ");
scanf("%d", &correct);
system("cls"); // 화면 청소
while (1) { // 숫자를 맞출때까지 반복할 반복문
printf("업다운 숫자를 입력하세요. (정답을 다시 정하려면 음수를 입력하세요.)");
scanf(" %d", &check);
if (check < 0) // 0보다 작은 수를 입력하면 탈출
break;
else if (check < correct) // 정답이 check보다 크면
{
count++;
printf("\n%d보다 큽니다. (%d번째 시도)\n\n", check, count);
}
else if (check > correct) { // 정답이 check보다 작으면
count++;
printf("\n%d보다 작습니다. (%d번째 시도)\n\n", check, count);
}
else { // 정답이면 탈출
count++;
printf("\n%d번째 시도 끝에 성공하셨습니다.\n", count);
break;
}
}//while(1)
if (check > 0) // check가 양수일 때
{
printf("\n Y를 누르면 새로 하기, 아무 키나 누르면 종료합니다. ");
scanf(" %c", &select);
getchar(); // scanf()가 끝난 이후의 개행문자를 흘려주기 위한 함수
if (toupper(select) != 'Y') // y가 아닌 아무키나 눌렀을 때, toupper함수는 소문자를 대문자로 바꿔주는 함수입니다.
end = 0; // while문의 반복을 끝낸다.
}
}//while(end)
}// main
반응형