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 |