본문 바로가기

c언어

13. 유틸리티 함수

1. 난수를 구하는 함수를 사용하여 가위바위보 게임을 구현합니다. 0~2 범위의 숫자를 발생시켜서 0은 가위, 1은 바위, 2는 보라고 가정합니다.

게임 방식은 사용자로부터 0~2 범위의 정수를 입력받은 후, 이에 대응하는 0~2 범위의 난수를 발생시켜 사용자가 입력한 정보와 비교하여 가위바위보 게임을 진행하고, 사용자와 컴퓨터 중에서 승자가 누구인지 출력합니다.

[소스코드]

#define _CRT_SECURE_NO_WARNINGS 
#define _CRT_RAND_S
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

enum GAME_TYPE
{
	SCISSOR,
	ROCK,
	PAPER
};

void main(void)
{
	int anGameType[] = { SCISSOR, ROCK, PAPER };
	int nMaxType = _countof(anGameType);
	char ch;
	int player, computer;

	srand((unsigned int)time(NULL));
	while (1)
	{
		printf("숫자를 입력하세요.(가위:0, 바위:1, 보:2): ");
		scanf("%d", &player);
		computer = rand() % nMaxType;
		if (player == computer)
		{
			printf("비겼습니다. %d == %d \n", player, computer);
		} 
		else
		{
			if (player > computer)
			{
				printf("플레이어가 승리하였습니다. %d > %d \n", player, computer);
			}
			else
			{
				printf("컴퓨터가 승리하였습니다. %d < %d \n", player, computer);
			}
			break;
		}
	}

	return;
}

[실행결과]

 

 

2. 오늘을 기준으로 10일 후와 100일 후의 날짜가 각각 무엇인지 계산하여 출력하는 프로그램을 작성하세요.

[소스코드]

#define _CRT_SECURE_NO_WARNINGS 
#include <stdio.h>
#include <time.h>

void main(void)
{
	time_t t = time(NULL);
	time_t tAfter10Day, tAfter100Day;
	struct tm* tmDate;

	tmDate = localtime(&t);
	printf("현재 날짜: %04d-%02d-%02d\n", tmDate->tm_year + 1900, tmDate->tm_mon + 1, tmDate->tm_mday);

	tAfter10Day = t + 10 * 24 * 3600;
	tmDate = localtime(&tAfter10Day);
	printf("10일 후 날짜: %04d-%02d-%02d\n", tmDate->tm_year + 1900, tmDate->tm_mon + 1, tmDate->tm_mday);

	tAfter100Day = t + 100 * 24 * 3600;
	tmDate = localtime(&tAfter100Day);
	printf("100일 후 날짜: %04d-%02d-%02d\n", tmDate->tm_year + 1900, tmDate->tm_mon + 1, tmDate->tm_mday);

	return;
}

[실행결과]

 

 

3. 프로그램을 시작하면 'Hello, World!' 문자열을 출력한 후, 사용자로부터 임의의 키 입력을 받으면 화면을 지우고 종료하는 프로그램을 작성하세요. 참고로 명령 프롬프트 화면을 지우는 명령은 위도우 운영체제를 기준으로 'cls'입니다.

[소스코드]

#define _CRT_SECURE_NO_WARNINGS 
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>

void main(void)
{
	char chKey;
	puts("Hello, World!");
	printf("Input your key: ");
	chKey = _getche();
	
	system("cls");
	exit(0);
	
	return;
}

[실행결과]

 

'c언어' 카테고리의 다른 글

15. 함수에 대한 고급 이론  (0) 2023.06.27
14. 변수에 대한 고급 이론  (0) 2023.06.26
12. 문자, 문자열 처리 함수  (0) 2023.06.21
11. 함수  (0) 2023.06.17
10. 배열과 포인터  (0) 2023.06.13