C언어 알고리즘 정리 및 실무 프로젝트

C언어 Up Down 콘솔 게임 본문

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
반응형
Comments