C MFC API ..질문 드립니다.

Autoplat의 이미지

안녕하세요.. 저번에도 KLDP에서 많은 교훈을 얻어간 학생입니다.
현재 고등학생 2학년이고 컴퓨터 프로그래밍은 한지 한 3년? 정도 된 것 같습니다.
프로그래밍에 대해서 공부했고 C언어만 할 줄 압니다.그런데 정보올림피아드같은 대회 위주로 공부를 했습니다. (문제 푸는 형식)
학원을 다니면서 대회만 준비하다보니 한달에 돈을 30만원이나 내면서 대회준비만 한다는게 정말 한심스럽더라구요...
간단한 하나의 프로그램을 만들지도 못하고 맨날 문제만 풀고...그렇다고 해서 제가 아주 열심히해서 큰 상을 타는 것도 아니구요... 정말 한심하다고 생각이 들었습니다.
요즘 생각하는게 대회를 위한 프로그래밍이 아닌 진짜 제가 사회에 나가고 프로그래밍 관련 직업을 가졌을 때...하는 프로젝트나.. 응용소프트웨어 개발 등을 해보고싶었습니다.
하지만 저는 C로 파일입출력화 된 문제 푸는 것만 할 수있고.. MFC나 API같이 하나의 창이 있고 버튼이있고 설치가 되고 하는 프로그램을 만들 줄 모릅니다.
저는 프로그래밍 공부를 하면서 재미를 느꼈고 그래서 학원을 다니게 된 것인데 맨날 문제만 풀고 대회만 나가다 보니 흥미가 점점 떨어지더라구요... 제가 만든 무엇인가가 남았으면 좋겠고..
만들고 싶은 프로그램을 만들어 성취감도 얻고 싶고.. 재미를 느끼고 싶습니다..
하지만 당장 만들어 보려고 해도 어떻게 해야 될 지 모르겠고.. 무슨 도구로 어떻게 시작해야될지... 고민이 참 많이됩니다.
간단한 일기장이나 메모장.. 아니면 주소록 등을 만들어 보고싶습니다.
제가 이런 소프트웨어를 만드려면 어떤 것을 배워야 할까요..
말이 정신없고 복잡해졌네요 죄송합니다..

shint의 이미지

//
교육. 의료. 문화 예술. 방송 광고. 군사 시설. 정부. 은행. 보안. 네트워크 통신.
모든 분야에서 프로그램은 운용되고 있습니다.

지금 배우시는 부분은 연구 개발'에 적합한 알고리즘이나 문제 풀이 형식으로 예상됩니다.

연구 - 개발의 기반이 되는 환경을 만듭니다.
개발 - 연구 결과를 토대로 사람들에게 유용한 제품을 만듭니다.

//
연구 - 알고리즘 교육기관을 다니게 됩니다.
개발 - 응용 프로그래밍 전문 교육기관을 다니게 됩니다.
게임 - 게임 개발 전문 교육기관을 다니게 됩니다.

- 회사를 다니며 배우는 경우도 있습니다.
- 방송통신대를 다니며 배우기도 합니다.
- 정부 지원 교육 시설이 존재하기도 합니다.
- 전문 고등학교. 전문대. 대학. 등에서 배우기도 합니다.
- 각종 책. 세미나. 검색.을 통해 배우기도 합니다.
- 특이하게는. 군대나 병특으로 배우기도 합니다.

그리고. 지금 하시려는 분야는 윈도우 프로그래밍 뿐 만 아니라. 리눅스에서도 가능합니다.

리눅스 - GTK. 파이썬.
윈도우 - WIN API. MFC.
공통 - Qt. 플래시. 플렉스. 웹.

www.devpia.comwww.kldp.org 이 두군데가 윈도우와 리눅스 프로그램을 배우기 적당합니다.

1년정도는 프로그래밍 전문 교육기관을 다니시면서. 책을 정독하시길 바랍니다.
전문 교육기관을 다니는 이유는 문제'를 해결하는 방법을 배울 수 있게 됩니다.
앞으로 프로그램을 같이하게될. 친구들도 사귈 수 있게 되구요.

나머지는. 열심히 노력하는거죠. 머... ㅡ_ㅡ;;

해당 프로그램을 제작하고 싶으시다면. 서점에 가서. 관련된 비슷한 책을 보시거나.
소스를 구입하거나. 찾아보는 방법이 있습니다.
직접 보시는것이 나을거 같아서 그냥 이렇게만 적어 봅니다. 요즘은 책이 좋은것이 많습니다.

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

snowall의 이미지

화면에 창 만들고 그 안에 버튼 그려서 함수 실행시키고 그런건 별로 어려운게 아니에요.

당장이라도 MFC같은 프로그램 예제 찾아서 컴파일 해서 실행시키고, 예제 조금씩 바꿔가면서 입맛대로 바꿔가고, 레퍼런스 찾아서 버튼과 위젯 추가하고 그런거 해보면 돼요.

컴퓨터공학의 아트이자 진짜 어려운건 지금 흥미를 잃어가고 있다는 바로 그 알고리즘이죠.

가령, 일기장을 만든다고 하면 필요한 기능들이 날짜별 일기 작성 및 저장, 암호화, 검색, 인쇄 등이 있겠죠. 그럼 각각의 기능들을 어떻게 만들지 설계하고(구조설계) 화면을 그려보고(UI설계) 프로그램의 전체 구조를 짜 보고(아키텍처) 코딩을 하면 되겠죠?

뭘 해보고 싶은데 어떻게 해야 하는지 모르겠다고 생각하지 말고, 검색해서 적당한 툴을 찾아내고, 설계해보고, 컴파일해보세요. 잘 모르겠다면 다음의 조합이 있으니 검색해 보면 될거예요
MFC+C++
VS+VC++
wxWidget+C++
GTK+C
wxPython+Python

그 외에도 수없이 많겠지만, 이정도를 알아보고 공부해보세요.

피할 수 있을때 즐겨라! http://melotopia.net/b

lithium81의 이미지

윗 분 글에 동감하고 갑니다.

1. 문제를 어떻게 해석할지,
2. 어떻게 잘 풀지,
3. 컴퓨터가 알아먹는 표기로 표현하기

이 과정이 에센스인데...

비록 새까만 화면에 글자 죽~~ 표시하는 것보다는 GUI에 매료된 그 심정 이해 못 하는 바는 아닙니다만,

에센스는 놓치지 않고 챙기시면서 가시길...

- 어제보다 나은 오늘, 오늘보다 나은 내일.