1580, 78/79 회원가입  로그인  
   sihun1113
   <샤오쓰 타로>2. show.h 구현-1

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=1782 [복사]


이번 강좌는 최하위 헤더파일인 show.h의 내용을 일부분 구현하겠습니다.



처음으로 인클루드 들이 필요하겠군요.



#include <iostream>
#include <windows.h>
#include <conio.h>
#include <time.h>
#include <string>


입출력과 sleep문 시간제어 문자열이용 등등과 같은 부분들을 사용하기 위하여 헤더파일들을 include 합니다.



전 기본적으로 쓰일것 같은 헤더파일들을 먼저 적어놓고 나중에 안쓰면 지웁니다.



프로그래밍feel을 한참 타고 잇는데 헤더파일없단 소리뜨면 거슬리더라구요



다음은



using namespace std;



이 필요하겠군요..



일일히 using을 하지 않고 namespace를 사용하여 std후의 내용을 전부 생략 할 수 있도록 했습니다.



이번은 버전표시를 위한 기호 상수가 있으면 좋을 것 같습니다.



#define ver 3.197; //프로그램의 버전표시



이죠.이렇게 주석을 일일히 달아주면



프로그래밍을 할때 소스가 길어지거나 한동안 stop하고 다른 프로젝트를 하다가 돌아올때



혹은 다른사람을 프로젝트 구성원으로 받았을때 아주 편리합니다.



한 번 이렇게 define으로 기호 상수를 만들면 다음부터 프로그램의 버전을 표시할 때마다 수정할



필요가 없이 위의 부분만 수정을 하면 되기 때문에 편합니다.



보통은 버전을 어떻게들 쓰시는지 모르겠지만



저는 . 의 앞부분은 프로그램의 큰 기능이나 파일의 갯수를 뜻하고



뒷 부분은 자잘한 수정이나 내용의 추가를 할때마다 1씩 더합니다.



위의 3.197은 파일3개가 사용된 프로젝트이며 197번 내용이 쓰여지거나 수정됨을 의미합니다.





이번엔 콘솔글씨에 색을 입히는 부분입니다.



우선 콘솔창에 핸들정보를 받습니다.



#define col GetStdHandle(STD_OUTPUT_HANDLE)



이제 색깔을 지정하고 이름을 넣습니다.



그 방법은 아래와 같습니다.



#define RED SetConsoleTextAttribute( col,0x000c ); //빨간색



RED는 이름이므로 바꿀수 있으며 색상 코드는 0x000c입니다.



제일 뒤의 c가 라인색이며 바로앞의0이 바탕색입니다.0은 검정색이죠.

1부터9까지, a부터 f까지 총 16개의 색상이 지원됩니다.

(windows.h참고)



이런식으로 사용할 색상정보를 쭈욱~~ 입력합니다.





이제 클래스를 만들어야 겟군요.



show클래스로 작성하겠습니다 헤더파일의 이름과 같게 말이죠.



이 show 클래스는 기본적인 기능들만 구현해줄것이기때문에 따로이 생성자는 필요없습니다.



pri클래스또한 생성자없이 하겠습니다.



class show
{
      public:
             void clrscr();//화면지우기
             void gotoxy(int x, int y); //커서위치이동
             void CursorView(char show); //커서지우기
             void GetTime(struct tm *ptm); //년월일받기
};



이렇게 클래스를 구현을 했습니다.



클래스의 내용까지 구현을 한 것은 아닙니다.



이제 구현을 해야지요.



먼저 clrscr을 보겠습니다.



/*화면지우기 내용*/
void show::clrscr()
{
system("cls");
}



간단하죠? 네. 간단합니다



system명령어로 콘솔화면을 지워주는 cls부분만 넣어있습니다.



그런데 왜 이렇게 함수를 따로 빼냐고 물으시는 분들도 있으실 겁니다.



이렇게 함수로 만들면 다음부터 clrscr();



과 같이 간단하게 프로그래밍이되며 자기가 지정한 이름(저는 clrscr로 했습니다.)을 쓰므로



프로그래밍 하면서 이해가 더쉽습니다.



그리고 뭔가...쓸때마다 system("cls");과 같이 간단한 경우가 아닌 긴 내용이 들어간다면



소스가 많이 길어지겠죠.



다음 강좌에서 이어 가겠습니다~@
[출처] <샤오쓰 타로>2. show.h 구현-1 (C언어를 배우자) |작성자 해커푸


  Hit : 6624     Date : 2011/06/04 08:16



    
40   * 해킹의 공격기술 *[3]     HackerMapia
03/01 13263
39   * C언어를 꼭배워야하는가 *[2]     HackerMapia
02/21 8406
38   * C C++ *     HackerMapia
03/01 7718
37   * 윈도우를 빠르게열자 *[6]     HackerMapia
02/24 7404
36   * 윈도우 단축키 아는것들 *[7]     HackerMapia
02/20 7183
35   * 윈도우 해킹의 기본원리 *     HackerMapia
02/21 17834
34   * 윈도우 해킹의 기본 원리*[29]     oes2
08/26 12955
33   * 윈도우 종료를 빠르게 *[2]     HackerMapia
02/20 7703
32   * 점화식의 간단한 알고리즘     limjongmin
08/20 8927
31   * 점화식 간단하게     limjongmin
08/20 6748
30   * 인터넷검색이 달인이 되는 10가지 방법 *[1]     HackerMapia
02/24 7758
29   (꼼수) L.O.B 한방에 클리어하기[1]     해킹잘하고싶다
01/14 875
28   (펌)Wireshark 설치 및 사용법입니다.~[2]     Mach
04/29 7825
27   (WindowXP기준) 간단한 컴퓨터 최적화     dzhfldk
08/22 6709
26   (잡담)포인터는 쉽다?[2]     sihun1113
05/01 6245
25   (2차수정)단순하고 위험한 파일 업로드 해킹기술[2]     gohy032
07/30 13196
24   <샤오쓰 타로>5.안내문표시pri.h[1]     sihun1113
06/04 6600
23   <샤오쓰 타로>4.첫화면구현pri.h     sihun1113
06/04 6068
22   <샤오쓰 타로>3.show.h-2     sihun1113
06/04 6550
  <샤오쓰 타로>2. show.h 구현-1     sihun1113
06/04 6623
[1]..[71][72][73][74][75][76][77] 78 [79]

Copyright 1999-2023 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org & Wowhacker.com