2019. 3. 23. 17:09ㆍlayer7
선린 인터넷 고등학교 layer 7 동아리에 들어가 첫 번째 과제
"'hello Layer 7' 간지 나게 출력하기"라는 과제를 받았습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | #include<stdio.h> #include<Windows.h> #include<conio.h> int main() { //프로그램의 이름 설정추 system("title Layer7"); //프로그램의 크기 설정, cols=가로 lines=세로 system("mode con cols=150 lines=40"); //글자 색을 설정할 수 있는 함수 system("color E"); printf("\n\n\n\n\n\n\n"); //시작할 때 줄바꿈 6번을 하여 좀 더 자연스럽게 연출 //부엉이, layer 7,... 아스키 아트 printf(" /..... `...................` `...`- \n"); Sleep(100); printf(" `- `.:/-` .:/-` `-` \n"); Sleep(50); printf(" `-``.-```-.` `--` `-..- Hello \n"); Sleep(100); printf(" --` `...-:-` -:..... `: 77777777777 \n"); Sleep(50); printf(" : .-ㅁㅁㅁ`:- `+`ㅁㅁㅁ`: .. 01 0110 10 01 0101010101 01010101 77 77 \n"); Sleep(100); printf(" .. : : ㅁㅁ.`:-```` ..: ㅁㅁ : : 10 10 01 01 10 10 10 10 77 77 \n"); Sleep(50); printf(" .. ..`/oo-.- -/``/. ...-:.`-. .- 01 01 10 10 01 01 01 01 77 \n"); Sleep(100); printf(" `/` `....-. `--.--- ``...` `-: 10 01010101010 01 101010101 10101010 77 \n"); Sleep(50); printf(" :`..` ` ``..` .- `-.`` `.. `- 01 01 10 10 01 01 10 77 \n"); Sleep(100); printf(" `/. ``.......`````````````......`` :` 10 10 01 01 10 10 01 77 \n"); Sleep(50); printf(" `-/ ``..`````````...`` ./` 010101010101 01 10 10 0101010101 01 01 77 \n"); Sleep(100); printf(" `:`- `..` -.-`--`-.- `..` `--` \n"); Sleep(50); printf(" :`.. ..` :`-.--`-`: `.-` `- : \n"); Sleep(100); printf(" : .. `-` ``.--`.-. `-` `- -. - We hack the universe \n"); Sleep(50); printf(" .. .- `- :`- :-` -` .. `: \n"); Sleep(100); printf(" -` : : . `` :` : : \n"); Sleep(50); printf(" -` :` .. : : : \n"); Sleep(100); printf(" `- : -` : :` .- \n"); Sleep(50); printf(" -` .--`- :--. : \n"); Sleep(100); printf(" `-. `-. ` \n"); Sleep(50); printf(" `...` `-. \n"); Sleep(100); printf(" ..:...```````...:. \n"); Sleep(50); printf(" :---.`..../.`:-. \n"); Sleep(100); printf(" ` `.. `. . \n"); Sleep(400); _getch(); // 키보드를 누르기 전까지 아무런 동작도 하지 않는다. } | cs |
# 프로그램 코드 설명
1 2 3 4 5 6 7 8 9 10 | //프로그램의 이름 설정추 system("title Layer7 01 task"); //프로그램의 크기 설정, cols=가로 lines=세로 system("mode con cols=150 lines=40"); //글자 색을 설정할 수 있는 함수 system("color E"); printf("\n\n\n\n\n\n\n"); //시작할 때 줄바꿈 6번을 하여 좀 더 자연스럽게 연출 | cs |
①: system("title Layer 7 01 task");
- 프로그램의 제목을 설정하기 위해
system() 함수와 dos의 명령어인 title 명령어를 사용했습니다.
②: system("mode con cols=150 lines=40");
- 프로그램 실행창의 크기를 정할 수 있게 해주는 명령어 입니다.
③: system("color E");
- 실행창에서 화면을 출력 할 때, 배경, 글자색을 바꿀 수 있게 해주는
명령어를 사용하였습니다.
※system() 함수 안에 명령어들은 모두 도스 명령어이므로 cmd에서도 사용 가능합니다.
④: printf("\n\n\n\n\n\n"):
- 프로그램 실행창에 아스키 아트한 것을 정중앙으로 옮기기 위해
줄바꿈을 하였습니다.
# Sleep() 함수
- Windows.h 헤더 파일에 포함돼 있는 Sleep() 함수는 프로그램에서
일정 시간 동안 컴퓨터를 대기 시킬 때 사용하는 함수 입니다.
매개 변수로 전달된 값(second)의 1/1000초를 대기 시키는 함수 입니다.
_ex) Sleep(1000); ==> 1초 , Sleep(0.5) ==> 0.5초
#
또한, printf() 함수의 뒤에 windows.h 헤더 파일 안에 있는
Sleep() 함수를 사용하여 출력하는데 한 번에 화면이 나오는 것이 아닌
한 줄 한 줄 내려 오는 것처럼 만들었습니다 .
# getch() 함수
- 원래는 getch() 함수지만, visual studio의 SDL을 활성화 시킨 상태로 프로그래밍을 하여
_getch()로 사용하였습니다.
- _getch() 함수 _getch() 함수는 visual studio가 보안성의 문제로
getch()가 아닌 _getch() 함수를 쓰도록 권장하고 있습니다.
- getch()와 _getch()의 사용법은 동일합니다.
'layer7' 카테고리의 다른 글
Layer 7 05 과제 - 함수 보고서 작성 (0) | 2019.04.07 |
---|---|
Layer 7 과제 04 코드업 기초 100제 풀기 (0) | 2019.04.03 |
Layer 7 03-1 과제 (배열 보고서 작성) (1) | 2019.03.31 |
Layer 7 03 과제 (0) | 2019.03.31 |
Layer 7 02 과제 최솟값, 최댓값 구하기(if, switch, 삼항 연산자) (0) | 2019.03.23 |