반응형
SMALL

구조체 배열이란? 동일한 구조를 갖는 구조체 변수가 여러 개 사용 될때 그 구조체 변수를 대표하는 배열명을 설정하여 일반 배열과 같이 사용하는것이다. 


구조체를 사용하기 예: struct 구조체명 {변수1, 변수2,변수3};

struct person{ char name[8],char position[20],int age, int cm};

person 구조체를 다른 구조체의 변수로 사용할수 있습니다. 구조체 BLACKPINK 

하나 또 생성하여 그속에 person을 변수로 사용하면 됩니다.

struct BLACKPINK 구조체를 보시면, 구조체안에 구조체를 변수로 사용했다는걸 보실수 있습니다.


그런다음 void main() { struct BLACKPINK 구조체에 blpin  변수명}을 생성하였습니다. 구조체를 사용하는 이유는 ? 다른 자료형을 갖는 자료의 모임을 하나의 자료형으로 정의하여 사용하는 자료형을 말합니다. 회사에서 사용하는 인사 기록카드에는 개인의 이름,주소,성별,입사 연/월/일,직위 등 여러 항목이 기록되어 있어, 이런 항목을

독립된 의미를 갖기보다는 하나의 몪으로서 구성되어 있을 때, 개인에 대한 완전한 정보로서의 가치를 지니게 됩니다.

반응형
LIST
반응형
SMALL

C프로그램 코딩을 작성하다 보면 컴파일러 경고를 종종 발생합니다. 이번에 C프로그래머 작성중에 strcpy 코드를 사용하였는데, 컴파일러 경고 발생으로 결과를 얻지 못했습니다. strcpy 코딩은  문자를 복사하여 붙여넣을때 쓰는 프로그래입니다.


c4996 오류해결은  #pragma warning(disable:4996)을 프로그램 맨 위에

입력하시면 오류가 해결됩니다.


C4996경고 내용은?


컴파일러로 표시 된 변수 또는 함수에 발생 하는 경우 c4996발생 더 이상 사용되지를 사용 하 여는 _declspec(deprecated)한정자, 함수,클래스멤버 또는 C++14가

있는 형식 정의 액세스 하려고 하면 또는[deprecated] 라이브러리 또는 헤더 파일 사용 되지 않는 함수, 변수,멤버 또는 형식 정의 대한 클라이언트에게 경고 하기 위한 특성을 직접 합니다. 


반응형
LIST
반응형
SMALL

Visaul C++ 과제중에서 차일드 윈도우에 버튼을 만들어 [확인]누르면 3개의버튼을

추가하여 만드는 프로그램을 진행하도록 하겠습니다.


▶ 알 고 리 즘 ◀

1.우선 메인윈도우을 생성합니다.

2. 차일드 윈도우를 만듭니다. 

3. 차일드 콜백함수에 버튼을 만듭니다.

4. 버튼을  클릭하며 getMessage에서 MB_YESNOCANCEL로 지정합니다.

여기에서 getMessage을 변수롤 지정합니다.(이유는! 호출하였을겨우 출력값을

받기위해서 입니다.) 변수지정은 차일드 콜백함수에 안에서 지정합니다.

5.MB_YESNOCANCEL 메소드에 자동생성된 아이디가 있습니다.

  IDYES,IDNO,IDCANCEL


차일드윈도우에 버튼생성:

LRESULT CALLBACK ChildWndproc -> 이곳에다 button을 만들시면됩니다


위의 메소드을 작성하면 아래와 같은 프로그램이 완성됩니다. 

차일드 윈도우에서 [확인]버튼을 클릭하면[예][아니요][취소]윈도우 창이 뜹니다.

그 세중에 [예]를 누르면 [확인]윈도우 창이 뜹니다. 


각의 메소드 기능 프로그램을 살펴보겠습니다.


answer =MessageBox(hWnd,L"강의 만족합니까?",L"예",MB_YESNOCANCEL);



세개의 질의 윈도우 창이 뜹니다. 세개의 질문중에 하나를 선택하면

새로운 윈도우 창이 뜹니다.

if(answer ==IDYES)

{

  MessageBox(hWnd,L"[예]버튼을 클릭했습니다.",L"확인",MB_OK);

}

작은 윈도우 창이 뜨는것을 확인할수 있습니다.

이번 과제물은 차일드윈도우에서 버튼을 생성하고 그 버튼에 프로그램 소스를

생성하여 출력하는 과제물이었습니다.

반응형
LIST
반응형
SMALL

Visaul2017은 win32콘솔기능은 visaul2012다르게  따로 나타나지 않게 해놨습니다. 업데이트 될때마다 유용하게 사용하던 기능이 안보이니 난감할때가 종종 있네요. 그럼 이번에는 visaul2017 C++사용하는 분들중에 Win32콘솔로 프로그램하실 분들이 있을것 같아서 올려봅니다.


win32콘솔로 프로젝트 만들기 입니다.


1.  파일 → 새로만들기 →프로젝트 생성합니다.

2. windows 데스트톱 → windows 데스크톱 마법사 선택 → 확인 

   이름(N): 각자 설정하시면 됩니다. 


3. 아래 그림보시면 체크된 부분에 따라 선택하시면 됩니다.

4.솔루션 탐색기→ 소스파일(선택후 마우스 오른쪽클릭) → 추가 → 새항목 선택

혹시, 여기서 솔루션 탐색기가 안보인다면 <보기>가셔서 <솔루션 탐색기>클릭하시면 됩니다.

4. 


5. visaul C++ → C++파일  →이름(N):작성 → 추가클릭

Win32콘솔로 프로젝트를 진행하시면됩니다.

6. <LNK2019 오류원인> 열심히 소스작성하여 완성했고 오타도 없는데 LNK2019오류가 난다면 프로제트 진행시 꼭 설정해야 합니다LNK2019 오류원인


7. <LNK2019오류해결>하위시스템에서 SUBSYSTEM:WINDOWS 선택하여야만 에러가 발생하지 않습니다. LNK2019오류해결

8. visaul2017에서 win32콘솔로 윈도우 만들기 완성되었습니다.

프로젝트 완성 잘 마무리하시기 바랍니다.


반응형
LIST
반응형
SMALL

정신없이 visual studio2017 설치하다가 MFC 설치를 놓쳐서 다시 설치하고 또 한가지 노친부분이 있어서 추가설치 합니다. 도움말 뷰을 설치하지 않으면 교과서나 참고서에 나온 클래스 뷰를 볼수가 없었습니다. 한참 찾아보니, 도움말 뷰를 설치하면

편안하게 클래스 뷰를 라이브러리 함수를 이용할수 있습니다. 


만약 MFC설치후 SDI할때 MI 파일생성 후 클래스 뷰가 안보인다면!

※ 도구 ->도구 및 기능 가져오기(추가 콘텐츠 추가 및 제거할때)


※ visaul studio2017설치 화면으로 갑니다. 워크로드 ->개별구성요서 클릭

※ 개별 구성 요소에서 쭉 내려가면 코드도구->도움말 뷰어를 체크하시고

   수정(설치) 클릭

※ visual Studio2017 설치 중으로 듭니다.

※설치가 완료 되고 메뉴->도움말->도움말 기본 설정 지정->도움말 뷰에서 시작

  클릭합니다.

※ 도움말 뷰어 ->콘텐츠 관리 클릭 하면 visual studio 2015 Visaul C++ 와

visaul studio2015 viual C++ 영어, 두군데를 추가로 선택하시고 업데이트 클릭

하시면 됩니다.

※ 아래 화면에 내용을 읽고 '예'를 클릭하시면 됩니다.


※클래스 뷰 생성하기

  메뉴에서 ->보기 -> 클래스 뷰(정상적으로 다운로드 되면 보입니다)->클릭

  하시면 우측 하다 보시면 클래스 뷰가 생성되었습니다.



클래스뷰로 함수호출이 쉽게 만들수 있기때문에, visual c++ 이용하는 MFC 사용하는 꼭 필요한 기능입니다. MFC 라이브러리 함수를  쉽게 접근하고 이용할수 있는클래스 뷰입니다


반응형
LIST
반응형
SMALL

C언어,java언어, VisualC++까지 엉겁결에 배우고 있어서 앞으로 HTML도 있는데. 그냥 정신이 없네요. 이번에 과목을 잘못 선택한것 같아요.프로그래밍 언어들이 원리가 비슷하기 때문에 VisualC++ 익숙해 지면 그냥 그냥 따라갈수 있을것 같아요.  프로그래밍을 배우다 보면 초보자에게 제일 어려운 건 ! 딱 하나.오류찾기 입니다. 오류해결만 하루종일 걸려서 여기까지 왔네요. '이히'  visualC++에서 클래스 추가를 해보겠습니다. 


※프로젝트 ->클래스 추가->VisualC++(c++)->NFC->MFC클래스->

   클래스 이름(CChildWind), 기본클래스(CWnd)선택후 다음 누르시면 됩니다.


CChildWind.h 프로그램이 기본적으로 생성됩니다.

CChildWind.h 들어가서 빨강색으로 칠한 부분은  직접입력 코딩 하시면 됩니다.



우선 언어에 익숙치 않으니, 코딩을 찾아서 입력하는것도 버거웠네요.

다행이도 필요한 정보를 주는 블로그를 찾아서 그 소스 참조 하면서 

코딩을 해봤습니다.


그담 해야할 일은 CChildWnd.cpp 가셔서 코딩을 입력하셔야 합니다.



그리고 SDIView.h 가셔서 SDIView 클새스 맴버 함수로 OnCreate()추가 되어 있다고 적혀 있는데 없을 경우 직접 입력하시면 됩니다. 

맨 아래쪽 빨강줄 보시면 afx_msg int OnCreate()적혀있는 보실수 있습니다.

직접 입력하여 추가하시면됩니다.

그리고 SDIView.cpp 가져서 줄친부분에 추가 코딩을 입력하시면 됩니다.

윈도우 SDIView.h에 WM_CREATE메시지가 전달될 때 메시지 핸들러인 CSDIView::

OnCreate()함수가 호출되어서 차일드 윈도우를 생성합니다. 차일드 윈도우를 

생성하는 함수는 CChildWnd::Create()함수를 이용하면 됩니다. CChildWnd객체를 생성해 놓고 SDIView.h파일을 보면 클래스 CSDIView 의 맴버 데이털 CCHildWnd객체 m_Wnd0이 생성되어야 합니다.

이렇게 코딩이 입력이 완료 되면 아래 화면이 출력 됩니다. 윈도우 안에 작은 창을 보실수 있을겁니다.



반응형
LIST
반응형
SMALL

SDI프로젝트를 만들기 위해서 MFC프로그램을 설치해야 합니다. 불론 Visual studio2017설치시에 MFC 체크하시면 자동으로 설치됩니다. 말로 하는것 보다는 그림을 보면 더욱 이해가 빠르겠지요.


* 빨강색으로 표시한 부분을 체크하셔서 설치하시면 됩니다. window xp사용하는

분은 c++ 용 windows지원에 체크하시면 됩니다.

혹시 Visual studio2017 설치하고 미처 MFC 및 ATL 지원체크를 못하셨다면

Visual studio2017 Install 클릭하여 수정선택하며 위의 그림 나옵니다. 체크하시면

다시 설치됩니다.


파일 ->새로만들기 ->프로젝트->visual C++ ->MFC->MFC 응용프로그램선택


응용프로그램 종류: 단일문서 선택/ 프로젝트 스타일 : MFC standard

비주얼 스타일 및 색: Windows Native/Default 선택하시면 됩니다.

빨강색 표시 체크확인하시면 됩니다.


빨강색으로 표시된 부분은 체크를 하시면 안됩니다. 

마지막으로 이부분까지 체크하시고 완료됩니다.

빌드하시고 디버깅 하시면 윈도우 창이 뜹니다. 정상적으로 MFC프로젝트 파일이

만들어 진것을 보실수 있습니다. 

반응형
LIST
반응형
SMALL

  인간이 컴파일러와 약속된 언어를 사용하여 프로그램을 작성하여 컴파일러는 커퓨터가 이해할 수 있도록 기계어로 번역하는 역할을 수행한다. 하다웨어 제어가 가능하기 때문에 저급 언어의 특성을 지닌 고급언어라 한다.


 논리적이며 구조적인 시스템 프로그램밍 언어

★ 하드웨어 제어가 가능하다.

 프로그램 인식성이 높다

 간략한 문법 표현으로 함축적인 프로그램 작성이 용이한다.

 저급 언어 특성을 가진 고급언어이다.


C언어로는 작성된 프로그램은 크게 코딩(Coding), 컴파일(compile), 링킹(linking)이라는 3단계의 변환 과정을 거쳐 완성된다.


(1) 코딩 단계ㅡ ㄴ주어진 문제에 대한 설계를 바탕으로 소스 코드를 작성하여 소스 파일을 생성하는 과정

(2) 컴파일 단계는 소스 파일이 목적파일로 변환되는 과정이다.

(3) 링킹 단계는 목적 파일을 실행 파일로 변환하는 과정이다.




C언어의 규칙

  C프로그램은 반드시 하나 이사의 함수를 포함해야 한다.

  mian()함수가 반드시 하나 존재

  함수의 시작과 끝을 알리는 중괄호({})를 사용

  중괄호 안에는 변수 선언문, 치환문, 연산문, 함수 등의 명령을 기입

  선행처리를 제외하고 문장의 끝에는 세미콜론(;)을 붙인다.


C언어 변수 사용시 주의사항

  영문자와 숫자의 조합 허용

 ▷ 첫 문자는 영문자나 밑줄(_)이어야 함

 ▷ 특수문자를 사용해서는 안됨

 ▷ 문자 사이 공백 안됨

 ▷ 예약어 사용 안됨

 ▷ 영문자 대소문자 서로 구별하여 사용함

 ▷ 명칠의 길이는 컴파일러에 따라 차이가 있음(32자까지 인식)



반응형
LIST

+ Recent posts