|
http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&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 : 8807 Date : 2011/06/04 08:16
|