분류 전체보기
[종합상식] 공대생이 본 세상을 바꿨다는 17가지 공식들
수학은 우리 주변에 언제나 있고, 그리고 세계에 대한 이해를 무수한 방법으로 변화시키고 확장시켜나가는 도구입니다. 2013년에 수학자이자 과학자인 Stewart가 세상을 바꾼 17개의 공식들(17 Equeations That Changed World)이라는 책을 출간했습니다. 앞으로 소개할 공식들이 이 책에 나오는 것들이구요. 1) The Pythagorean Theorem 기하학 이해의 중요한 기초입니다. 피타고라스가 남긴 업적중 하나이고, 아마 여기 나오는 공식들 중에서는 제일 처음 접하게 되는 것일 겁니다. 저는 중학교 2학년 때 이 공식을 아마 접했던 것 같은데, 빗변 길이의 제곱은 나머지 두 변의 길이의 각각의 제곱의 합과 같다는 얘기이죠. 특히나 이 공식은 유클리드 기하학과 비 유클리드 기하학..
[MFC] 라이브러리 libpq를 이용한 C프로그래밍 (DB연동)
1. libpq 라이브러리 사용하기 - 애플리케이션에서 libpq를 사용하기 위해서는 libpq에서 제공하는 함수를 정의하기 위해 적절한 헤더파일을 포함해야 하고 이러한 함수들에 대한 코드를 가지고 있는 적절한 라이브러리를 연결해 주어야 한다. - Linux 기준 - 헤더: 기본값으로 /usr/local/pgsql/include/ 디렉토리의 libpq-fe.h 파일이다. - 라이브러리 : 기본값으로 /usr/local/pgsql/lib/ 디렉토리에 있다. -Window 기준 - 헤더 : 기본값으로 C:\Program Files\PostgreSQL\9.2\include 디렉토리의 libpq-fe.h 파일 - 라이브러리 : 기본값으로 C:\Program Files\PostgreSQL\9.2\lib 디렉토리의..
[MFC] MFC 다이알로그 상속받기
CDialog를 상속받은 CParentDlg가 있을 때 CParentDlg를 상속받은 CChildDlg를 만들어보자~ 예제도 있으니 다운 받아도 되고 안받아도 되고.. InheritanceDofD.zipvs2008에서 컴파일했음. 생각같아선 그냥 class CChildDlg : public CParentDlg { ... }; 해주면 될 것 같은데 이게 끝이 아니다. 우선 부모가될 Parent 다이얼로그에서는 MFC Wizard가 만든 기본 생성자 외에 CParentDlg::CParentDlg(UINT nIDTemplate, CWnd* pParent) 를 추가해야한다. 생성자 내용은 CParentDlg::CParentDlg(UINT nIDTemplate, CWnd* pParent) : CDialog(nID..
[MFC] HFONT 속성값
CFont::CreateFontHFONT CreateFont( int nHeight, //글자의 높이,또는 폰츠 셀의 높이를 논리적단위로 지정 int nWidth, //폰트의 폭 int nEscapement, //폰트의 각도를 0.1도 단위로 설정 int nOrientation, //글자 한자와 X축과의 각도를 지정 int fnWeight, //폰트의 두께 DWORD fdwItalic, //기울림체의 속성,속성을 주고 싶으면 0이외의 값을 주고 속성을 주지 않으려면0을 준다. DWORD fdwUnderline, //밑줄속성을 설정 DWORD fdwStrikeOut, //취소헌 속성을 설정 DWORD fdwCharSet, //문자셋을 설정 DWORD fdwOutputPrecision, //출력정확도를 설정..
[MFC] MFC 팁
1. DC얻기 CClientDC dc(this); 2. Client 영역 구하기 GetClientRect(&rect); WM_SIZE 메시지발생후 cx,cy 사용 3. 문자열 사각형안에 그리기 pDC->DrawText(문자열,사각형,Style); Style: DT_BOTTOM - 문자열을 사각형 맨아래줄에배열 반드시 DT_SINGLELINE과 함께사용 DT_CENTER - 문자열을 가로중앙에 배치 DT_VCENTER - 문자열을 세로중앙에 배치 DT_LEFT,RIGHT - 문자열을 좌,우로 배치 DT_SINGLELINE - 문자열을 한줄로만 쓴다 4. Brush 사용법 CBrush brushname(RGB(red,green,blue)); //브러쉬 생성 CBrush *oldBrush=pDC->Select..
[MFC] 2차원배열포인터 동적할당 받아 사용하기
& 동적할당은 메모리로 사용할 배열크기를 정확히 알고 있을 때 사용하면 더욱 빛을 발한다. & 이중포인터를 넘기는 이유는 포인터(주소)를 가지는 포인터(주소)를 넘겨서 메모리로 간접적으로 접근하여 함수를 실행하면 r굳이 반환값으로 넘겨주지 않아도값을 변경할 수 있다. & 함수에서 사용하는 인자값은 주소값의 주소값을 가지고 있어서 정작 지역변수로 사라지는 값은 이중포인터(즉, 주소값의 주소값)이므로 메인함수로 돌아가면 값이 바뀌는 것을 확인 할 수 있다. 그냥 포인터로 넘겨주면 함수에서 지역변수로 사라지는 값이 포인터이므로 메모리상에서 값을 잃어버려 메인함수에서 받는 값은 그대로이고 바뀌지 않는다. 헥헥 #include //헤더#include //헤더using namespace std;#define nMO..