MFC 프로그래밍: 주식 분석 프로그램 만들기
|
|
- 지호 시
- 6 years ago
- Views:
Transcription
1 Hanbit ebook Realtime 70 MFC 프로그래밍 주식분석 프로그램만들기 김세훈지음
2 MFC 프로그래밍주식분석프로그램만들기
3 MFC 프로그래밍주식분석프로그램만들기 초판발행 2014 년 06 월 24 일 지은이김세훈 / 펴낸이김태헌펴낸곳한빛미디어 ( 주 ) / 주소서울시마포구양화로 7길 83 한빛미디어 ( 주 ) IT출판부전화 / 팩스 등록 1999년 6월 24일제 호 ISBN / 정가 12,000원 책임편집배용석 / 기획정지연 / 편집정지연 이세진디자인표지여동일, 내지스튜디오 [ 밈 ], 조판최송실영업김형진, 김진불, 조유미 / 마케팅박상용, 서은옥, 김옥현 이책에대한의견이나오탈자및잘못된내용에대한수정정보는한빛미디어 ( 주 ) 의홈페이지나아래이메일로알려주십시오. 한빛미디어홈페이지 / 이메일 ask@hanbit.co.kr Published by HANBIT Media, Inc. Printed in Korea Copyright c 2014 김세훈 & HANBIT Media, Inc. 이책의저작권은김세훈과한빛미디어 ( 주 ) 에있습니다. 저작권법에의해보호를받는저작물이므로무단복제및무단전재를금합니다. 지금하지않으면할수없는일이있습니다. 책으로펴내고싶은아이디어나원고를메일 (ebookwriter@hanbit.co.kr) 로보내주세요. 한빛미디어 ( 주 ) 는여러분의소중한경험과지식을기다리고있습니다.
4 저자소개 지은이 _ 김세훈 나이에비해서경력이없네요. 2006년 36살의나이에한회사의 CTO에게들은말이다. 실력이없으면내인생을내마음대로결정할수없다생각했는데, 우리나라는나이가아주중요한요소임을간과했었다. 사회는변한다. 고령화사회를걱정하며, 먼훗날젊은이들이부양해야할노인들이많다고언론에선말한다. 그러나고령화사회는노인이돼서도일해야하는사회다. 저자는노인이돼서도즐겁게일하기위하여실력이나이를극복할수있다고믿으며현재도자신을만들어가는중이다. 또한, 인생의나머지반을어떻게살것인지항상고민한다.
5 저자서문 우리나라에서는외국인들이프로그램매매로주식을한다고알고있다. 프로그램매매라는단어에서전문가적인느낌을받지만, 간단히말하면주식매매하는사람들이컴퓨터프로그램도만들수있다는것이다. 물론, 주식분석가와프로그래머등여러사람이모여그룹을형성하여함께만들어나간것이라고보면된다. 일반적으로주식매매를하는사람들은컴퓨터프로그램에대하여잘알지못하고, 프로그래머는주식을깊이있게알지못한다. 하지만앞으로주식매매를하거나주식을깊이있게이해하기위해서는스스로프로그램을만들필요가있다. 요즘은증권회사에서주식데이터를가져올수있다. 예전에는증권회사에서제공하는데이터와주식정보만을봐야했다면이제는일반사람들이가공되지않은주식데이터를가져와서스스로원하는차트 Chart 를만들수있다. 즉, 프로그래밍할줄안다면자신이주로보는차트를직접만들어실시간으로변화를확인할수있다. 선택한종목의데이터를 1초마다계속가져와서새로그려주면 ( 컴퓨터의속도는우리가생각하는것이상으로빠르므로 ) 사용자는큰불편없이 1초마다변하는데이터를보면서매매할수있다. 이책에서는실시간으로데이터를가져와차트를업데이트하는방법은구현하지않지만, 이책을이해한독자라면큰문제없이실시간주식프로그램을만들수있다. 주식분석할때주로보는보조지표는 MACD와볼린저밴드 Bollinger Band 다. 일반사람들이주로보는이평선보다참고자료로사용하기에아주좋다. 그러나주식을하는사람들은자신이생각한것을믿는경향이있다. 예를들면, MACD라는보조지표를사용하면 30% 만이종목에맞게적용되는데도 MACD를맹신하는사람들은자신에게잘맞는보조지표라고생각하며믿곤한다. 그러나보조지표는말그
6 대로참고용이며, MACD 와볼린저밴드를함께보는것이좋다. 주식에서도철저 한준비가필요하다. 자신이사용하는알고리즘이있다면증권회사에서받은데이 터를가지고시뮬레이션을하는것이좋다. 현재사회는잘해야하는시대이다. 노동으로먹고살던시대에는근면성실하기만하면잘살수있었지만, 지금은노동의시간이아닌결과물의시대가되었다. 주식을한다는것은머리로생각하며올바른분석을해야하는일이다. 또한, 주식에서프로그래밍한다는것은정보의분석뿐아니라남들보다빨리정보를얻을힘이생긴것이라고볼수있다. 주식프로그램에서궁극의목적은컴퓨터가알아서매매하는것인데, 머지않은미래에는프로그램을누가더잘만들었는지가중요할것이며, 주식시장은컴퓨터간의경쟁이될것이다. 이책을나에게주식을가르쳐주신박준근형님에게바친다. 또한, 이책이출간되 기를가장많이기다린친구성연준의둘째아들성주호 (2008 년생 ) 에게선물로준 다. 주호는가끔전화로나에게말했다. 삼촌, 내책은언제줄거야? 집필을마치며 김세훈
7 일러두기 이책은 How-to Series 의두번째책으로 MFC를이용하여주식프로그램을만드는방법에대해알아본다. 주식프로그램은증권회사에서데이터를가져와분석한후, 자동매매를함으로써완성된다. 즉, 시스템트레이딩프로그램을잘구축하는것이중요하다. 하지만이책은 MFC 프로그래밍에초점을맞추어주식이라는주제를다루고자한다. 이책을이해한독자라면증권사에서데이터를가져오는 API를이용하여자신만의자동매매시스템을쉽게구현할수있다. 여기서다루는프로그램은윈도우 MFC에기반을두고있으며, 이책을통해 MFC 프로그래밍을이해할수있는계기가될것이다. 이책에서다룰내용은다음과같다. 주식그래프그리기 이평선구현과알고리즘검증 MACD Moving Average Convergence/Divergence, 이동평균수렴 / 확산지수구현과자동매매검증 볼린저밴드 Bollinger Band 구현과자동매매검증 주식그래프그리기 에서는 MFC로그래프를구현하는방법과 MFC의몇가지기능을다룬다. 첫번째항목을완벽히이해하면나머지항목들은주식알고리즘을중점적으로다루므로프로그램을쉽게이해할수있다. How-to Series 의첫번째책인 소수와 RSA 알고리즘으로배우는 Big Number 연산 ( 한빛미디어, 2013) 01 에서구조체사용에대해설명한대로, 주식프로그램도구조체를이용하여필요한데이터를자유자재로가져다쓸수있고, 개인적으로구현한알고리즘을검증하는 01
8 데큰무리가없다. 주식은세계증시, 유가, 회사공시등많은정보를가지고주식을판단해야하지 만, 이책에서는오직다섯개의정보 ( 시가 / 고가 / 저가 / 종가 / 거래량 ) 만가지고프로그램 을구현하고공개된알고리즘만다룬다. 이책을읽는독자가차트를분석하는데초보자라면차트분석을경험할수있을것이고, 분석이가능한중급이상의경력자로자신만의분석알고리즘이있다면직접알고리즘을구현하여검증할수있을것이다. MACD와볼린저밴드에서다룰자동매매는일봉을가지고검증하고, 상수값을다양한값들로변경하면서검증할것이다. 프로그래밍을위해서는구현할알고리즘을정확히이해해야하므로여기서다루는보조지표의특성을좀더깊이있게알수있을것이다. 부록에서는이트레이드증권의 API인 Xing API를간단히설명하고, 이책에서사용하는데이터를 Xing API를통하여받아오는프로그램을제공한다. 주식분석은가장최근데이터를가지고분석하는것이좋으므로부록에수록된프로그램으로원하는데이터를가져오는것도좋다. 또한, 일봉데이터를가지고진행하지만, 주봉데이터를받는다면주간데이터를가지고프로그램의검증이이루어질수있을것이다. 필자의경험으로는현재이트레이드증권의 Xing API가 MFC 프로그램을만들기에는가장적당하며풍부한자료를제공한다. 주식을분석한다는취지의프로그램책이지만, 잘만들어진주식프로그램은증권사 API를사용하여실시간으로데이터를가져와분석하여자동매매를하는것이궁극의목표일수있다. 필자는비록실제로주식을하지는않지만, 오래전부터데이터를가지고분석작업을
9 진행해왔다. 따라서이책의내용은분석작업의시작일수있으며독자들이확실 하게자신만의알고리즘을만든다면모의투자방식으로검증후실제매매에적용 할수도있을것이다. 이책은주식프로그램을간단히다루었지만, 언젠가는뛰어난알고리즘을구현하는한국사람이뉴욕의주식시장에서시스템트레이딩으로그들과경쟁하기를바라는마음이다. 현재는외국의프로그램매매를우리가따라가고있지만, 나중에는우리도그들의시장에서함께할수있을것이다. 그런의미에서 How-to Series 의두번째불을조용히지펴주기바란다.
10 대상독자및참고사항 초급초중급중급중고급고급 이책은 C++ 를알고있는초급자이상을대상으로윈도우프로그램을만드는 MFC 프로그래밍을설명합니다. 주제가있는프로그램을배우자는목적으로주식 이라는주제로프로그램을만들면서설명합니다. 주식을하는사람들은자신만의프로그램을만들어운용하기를원하지만, 방법을 모르기에어떻게시작을해야할지모를수있습니다. 이책은 MFC 프로그램의버 튼만들기부터시작하여프로그램으로구현하는방법을단계적으로설명합니다. 주식분석은증권회사에서제공하는 HTS 프로그램을이용하는데, HTS 프로그램은 MFC로만들었습니다. 따라서이책을이해한독자는간단한개인용 HTS를만들어서응용할수있습니다. 또한, 주식의보조지표인이평선이어떻게만들어졌는지를알수있으며, 주식을좀더깊게분석할때주로사용하는보조지표인 MACD와볼린저밴드를구현하는방법도이해할수있어서두보조지표를활용하는데도움이될것입니다. 보조지표가어떻게만들어지는지아는것과모르고그냥보는것에는큰차이가있습니다. 보조지표를만들수있다는것은그만큼보조지표를여러측면으로분석하는힘이있다는것입니다. 이책에서제공하는방법의하나는데이터를이용해서가상시뮬레이션을해보는알고리즘검증으로, 자신만의알고리즘이있다면주식데이터로검증하는법도이해할수있습니다. MFC 프로그래밍에대한책이지
11 만, 주식초보자는주식분석을이해하는데도움이되고, 중급자이상은자신만의 알고리즘을검증하는데도움이될것입니다. 이책에수록된코드들은윈도우에서생성하고실행시켜야하며 Visual studio 2008에서구현되었습니다. How-to Series 는방법론적인부분에초점을맞추어만들어진책입니다. 일방적인지식의전달이라기보다는 이러한방법도있구나 하고이해하는것이중요합니다. 예제테스트환경사용프로그렘 설명 Visual Studio 2008 이상예제는 Windows 환경에서테스트하였다. Windows OS Windows 환경에서만실행할수있다. 책에서사용한예제파일은다음웹사이트에서내려받을수있다.
12 한빛 ebook 리얼타임 한빛 ebook 리얼타임은 IT 개발자를위한 ebook 입니다. 요즘 IT 업계에는하루가멀다하고수많은기술이나타나고사라져갑니다. 인터넷을아무리뒤져도조금이나마정리된정보를찾는것도쉽지않습니다. 또한잘정리되어책으로나오기까지는오랜시간이걸립니다. 어떻게하면조금이라도더유용한정보를빠르게얻을수있을까요? 어떻게하면남보다조금더빨리경험하고습득한지식을공유하고발전시켜나갈수있을까요? 세상에는수많은종이책이있습니다. 그리고그종이책을그대로옮긴전자책도많습니다. 전자책에는전자책에적합한콘텐츠와전자책의특성을살린형식이있다고생각합니다. 한빛이지금생각하고추구하는, 개발자를위한리얼타임전자책은이렇습니다. 1. ebook Only - 빠르게변화하는 IT 기술에대해핵심적인정보를신속하게제공합니다. 500페이지가까운분량의잘정리된도서 ( 종이책 ) 가아니라, 핵심적인내용을빠르게전달하기위해조금은거칠지만 100페이지내외의전자책전용으로개발한서비스입니다. 독자에게는새로운정보를빨리얻을수있는기회가되고, 자신이먼저경험한지식과정보를책으로펴내고싶지만너무바빠서엄두를못내는선배, 전문가, 고수분에게는보다쉽게집필할수있는기회가될수있으리라생각합니다. 또한새로운정보와지식을빠르게전달하기위해 O'Reilly의전자책번역서비스도하고있습니다. 2. 무료로업데이트되는전자책전용서비스입니다. 종이책으로는기술의변화속도를따라잡기가쉽지않습니다. 책이일정분량이상으로집필되고정리되어나오는동안기술은이미변해있습니다. 전자책으로출간된이후에도버전업을통해중요한기술적변화가있거나저자 ( 역자 ) 와독자가소통하면서보완하여발전된노하우가정리되면구매하신분께무료로업데이트해드립니다.
13 3. 독자의편의를위해 DRM-Free로제공합니다. 구매한전자책을다양한 IT 기기에서자유롭게활용할수있도록 DRM-Free PDF 포맷으로제공합니다. 이는독자여러분과한빛이생각하고추구하는전자책을만들어나가기위해독자여러분이언제어디서어떤기기를사용하더라도편리하게전자책을볼수있도록하기위함입니다. 4. 전자책환경을고려한최적의형태와디자인에담고자노력했습니다. 종이책을그대로옮겨놓아가독성이떨어지고읽기힘든전자책이아니라, 전자책의환경에가능한한최적화하여쾌적한경험을드리고자합니다. 링크등의기능을적극적으로이용할수있음은물론이고글자크기나행간, 여백등을전자책에가장최적화된형태로새롭게디자인하였습니다. 앞으로도독자여러분의충고에귀기울이며지속해서발전시켜나가도록하겠습니다. 지금보시는전자책에소유권한을표시한문구가없거나타인의소유권한을표시한 문구가있다면위법하게사용하고있을가능성이높습니다. 이경우저작권법에의해 불이익을받으실수있습니다. 다양한기기에사용할수있습니다. 또한한빛미디어사이트에서구입하신후에는횟수에 관계없이내려받으실수있습니다. 한빛미디어전자책은인쇄, 검색, 복사하여붙이기가가능합니다. 전자책은오탈자교정이나내용의수정 보완이이뤄지면업데이트관련공지를이메일로 알려드리며, 구매하신전자책의수정본은무료로내려받으실수있습니다. 이런특별한권한은한빛미디어사이트에서구입하신독자에게만제공되며, 다른 사람에게양도나이전은허락되지않습니다.
14 차례 01 MFC 시작하기 Visual Studio MFC 프로그래밍을위한준비 2 02 Chart 그리기 Data Structure File Data 읽기 Combo Box 만들기 Chart 그리기 이평선 이평선분석 이평선구현 골든크로스검증 이평선오실레이터 MACD MACD 분석 MACD 구현 MACD 오실레이터 MFC Window Message 117
15 05 Bollinger Band 볼린저밴드분석 볼린저밴드구현 볼린저밴드오실레이터 알고리즘추가하기 MFC Check Box와 Flag 사용 상 / 하한가종목찾기 거래량많은종목찾기 이평선비교 172 APPENDIX 175 A 증권회사 API - Xing 175 B Xing 주식데이터가져오기 184 C Xing 실시간그래프그리기 195 집필을마치며 199
16 1 MFC 시작하기 현재가장많이사용하는컴퓨터운영체제는윈도우로, 윈도우에서실행되는프로그램은사용하기쉽도록그래픽부분이강조된다. 마우스가없던시절에는텍스트만사용해서컴퓨터를작동시켰지만, 윈도우프로그램은주로마우스로업무를수행할수있다. 이렇게사용자편의위주의프로그램을만드는것은프로그래머에게더많은코딩을하게만든다. MFC Microsoft Foundation Class 는윈도우프로그램을만드는확장된 C++ 라이브러리 Library 다. MFC는개발자가좀더쉽게윈도우프로그램을만들수있는기능을제공한다. MFC에서사용하는언어는비주얼 C++ 라고부른다. 단어에서도알수있듯이시각적인 Visual 윈도우응용프로그램 Application 을만들기위한프로그래밍언어다. 지금은 MFC를사용하는프로그래머가많지않으나, 윈도우프로그램을다룰줄알면프로그래밍의범위를확장할수있다. 증권회사에서제공하는 API는 MFC에기반을두고있어서증권이나주식관련데이터를다루려면좀더 MFC에친숙해져야한다. 물론, Excel의매크로기능으로주식데이터를다룰수있지만, 주식데이터를좀더자유자재로다루기위해서는프로그래밍언어를사용하는것이훨씬효과적이다. 여기서는 MFC의기능을모두설명하지않는다. 기능을전부다루려면두꺼운책한권분량이되므로프로그램을만들면서필요한부분만을설명한다. 그리고프로그램을만들기위해시중에나와있는 MFC 책을독파할필요도없다. 단지, 구현해야할기능들만인터넷이나안내서를통하여습득하는것이좋다. 프로그래밍에서는모든기능을알고만드는것보다필요한것이무엇인지를아는것이중요하다. 1 장 MFC 시작하기 1
17 1.1 Visual Studio 비주얼스튜디오는윈도우프로그램을만드는데필요한응용프로그램으로, 컴파일기능이있는편집기 Editor 라고할수있다. 이책에서는비주얼스튜디오 2008을사용한다. 대부분의증권회사 API가비주얼스튜디오 2008을기반으로만들어졌으므로최신버전의비주얼스튜디오가굳이필요하지않다. 또한, 이책에서구현하는프로그램들은상위버전의비주얼스튜디오에서도실행할수있다. 여기서는비주얼스튜디오의자세한사용법을명시하지않으며, 프로그램을만들면 서필요한부분만을설명한다. 자세한내용은인터넷등을찾아서습득하기바란다. 1.2 MFC 프로그래밍을위한준비 프로젝트생성하기 MFC는비주얼스튜디오를실행하고새프로젝트를만든다. [ 그림 1-1] 과같이비주얼스튜디오의상위메뉴에서 파일 (F) 을선택한후, 새로만들기 (N) 와 프로젝트 (P) 를선택하여프로젝트를생성한다. 새프로젝트창이열리면 [ 그림 1-2] 와같이 Visual C++ 을선택하여 MFC 응용 프로그램을만들고, 이름 (N) 에는새프로젝트의이름을써준다. 이책에서구현 하는모든프로그램은 StockAnalysis 주식분석이라는이름을사용한다. 1 장 MFC 시작하기 2
18 [ 그림 1-1] 새프로젝트만들기 [ 그림 1-2] 비주얼 C++ 응용프로그램 1 장 MFC 시작하기 3
19 [ 그림 1-3] 처럼 MFC 마법사가시작되면 다음 을눌러서응용프로그램의종류를 선택한다. [ 그림 1-3] MFC 마법사시작 응용프로그램의종류는 [ 그림 1-4] 와같이 대화상자기반 (D) 를선택하고 마침 을누르면새로운프로젝트가생성된다. 대화상자기반 은다이얼로그 Dialog 프로그램을만드는것으로, 응용프로그램에메뉴 Menu 등을생성하지않고빈 Empty 화면에서프로그램을만들기위해서다. 필자는 MFC에서다이얼로그로프로그램을생성하는것을좋아하는데, 상업적인프로그램이아닌간단한프로그램을만들기에좋다. 메뉴등을만들면프로그램의완성도를높이기위해코드수정이많이필요하다. 이책에서는내용전달에우선을두었으므로기능적인부분들은생략한다. 1 장 MFC 시작하기 4
20 [ 그림 1-4] 대화상자기반 ( 다이얼로그 ) 프로그램생성 MFC 에서프로젝트를만들면기본적으로생성되는파일을보일러플레이트 Boilerplate 라고한다. 윈도우환경에서프로그램을구동하는데필요한파일들은이보일러플 레이트에서생성하고필요한곳에프로그램을만들어나간다. 보일러플레이트를자세히알면좋지만, 윈도우 API를이해해야하므로필자는권하지않는다. 마우스나터치를이용한그래픽응용프로그램들을만들때기본적으로생성되는코드라고생각하면된다. 안드로이드나아이폰에서도응용프로그램들을만들때기본적인코드가생성된다. 그러므로기본적으로생성되는코드를어려워할필요가없으며그중에서무엇이필요한지만알면된다. 고맙게도인터넷에많은자료가있어서우리가원하는정보를어렵지않게찾을수있다. 프로그래밍을잘하는데는필요한정보를얼마나잘찾아응용할수있는지도중요하다. 필자는프로그래밍에서문제해결능력이가장중요하다고강조하고싶다. 1 장 MFC 시작하기 5
21 MFC 응용프로그램마법사를끝내면 [ 그림 1-5] 와같이다이얼로그화면이뜬다. 다이얼로그바탕에기본으로나오는글자와버튼들은삭제한다. 프로그램에필요 한모든내용을직접구현하므로하나씩만들어가면서설명한다. [ 그림 1-5] 생성된다이얼로그기반프로그램 [ 그림 1-5] 의왼쪽에자동으로생성된파일중에서다음세개의파일이중요하다. StockAnalysisDlg.h StockAnalysisDlg.cpp stdafx.h 1 장 MFC 시작하기 6
22 생성된보일러플레이트에서는앞의세개파일들만을가지고코드수정이이루어진다. 파일명끝에 Dlg라고이름붙은두파일은다이얼로그응용프로그램에서그래프를그리거나버튼을눌렀을때동작하는이벤트 Event 처리를위한코드를만드는데사용된다. 이책에서는 StockAnalysisDlg.h 와 StockAnalysisDlg. cpp 두개의파일과새로운클래스 Class 파일들을생성하여프로그램을구현한다. stdafx.h 파일은프로그램전체에서전역변수 Global Variable 를사용하는데필요하지만, 이책에서는사용하지않는다 Button 만들기앞으로출간할 How-to Series 에서는다수의 MFC 프로그램을다룬다. 이후출간될책들은시리즈의전작에서설명한내용은생략한다. 따라서이책에서다루는 MFC의기초부분은다음시리즈에서는생략될것이다. 이절에서는 MFC의도구상자를이용하여버튼만드는법을자세히설명하겠다. 여기서버튼만드는법을이해한다면다른도구들도버튼과같은방법으로만들면되므로인터넷이나기존에출간된 MFC 관련서적을본다해도어렵지않게내용을이해할수있을것이다. 시각적인프로그램에서기본으로생각할것은개별단위들이속성 Property 을가진다는것이다. 예를들면, MFC에서는도구상자안의모든도구가속성을가지며, 웹프로그램에서는개별태그 Tag 에속성을주어좀더보기좋은프로그램을만들수있다. 1 장 MFC 시작하기 7
23 [ 그림 1-6] 도구를그리기위한다이얼로그 버튼을그리려면 [ 그림 1-6] 과같이 리소스뷰 를선택한후 Dialog 폴더의 IDD_STOCKANAYSIS_DIALOG 를선택한다. 다이얼로그창이열리면 [ 그림 1-6] 의오른쪽에위치한 도구상자 탭을클릭하여 [ 그림 1-7] 과같이도구상자를연다. 도구상자에서 Button을선택한다음다이얼로그창에서마우스왼쪽버튼을클릭하거나드래그 Drag 하면버튼이자동으로화면에그려진다. 1 장 MFC 시작하기 8
24 [ 그림 1-7] 도구상자의다양한도구들 도구상자에는매우다양한도구들이있다. 윈도우프로그램에서흔히볼수있는도구들로원하는도구를선택해서다이얼로그에그리면된다. 이책에서는다루지않지만, 도구를그릴때비주얼스튜디오는프로그램에해당도구를위한기본적인코드들을자동으로생성한다. 따라서프로그램의깊은부분까지이해하지않아도프로그램을쉽게만들수있다. [ 그림 1-6] 의오른쪽 속성 탭을선택하면 [ 그림 1-8] 과같이속성창이열린다. 다 이얼로그창에그려진 Button1 을선택하면도구상자에서해당 Button 의속성 정보가나타나는데, 여기서중요한것은 Caption 과 ID 다. Caption 은선택한 1 장 MFC 시작하기 9
25 버튼위에써지는텍스트 Button1 이며 ( 수정가능 ), ID 는프로그램에서사용되는버튼의고유 ID 를지정한다. 예제에서는 ID 를 IDC_BUTTON1 에서 IDC_ BTN_RUN 으로바꾼다. 이름에서 BTN 은 Button 의약어이고, 뒤에 RUN 과같이버튼의이름을써주는것이좋다. 프로그램에서버튼이많아졌을때이처럼새롭게이름을작성해주면코드에서해당버튼을쉽게구분할수있다. 속성의나머지부분들은버튼의시각적인부분들을위한것이므로여기서는다루지않는다. [ 그림 1-8] 버튼의속성설정하기 다이얼로그창에그려진 Run 버튼을마우스로더블클릭하면 [ 그림 1-9] 와같이코드가자동으로생성되고, StockAnalysisDlg.cpp 파일로이동한다. 코드아랫부분의 OnBnClickedBtnRun( ) 은실행프로그램에서 Run 버튼을클릭했을때실행되는함수다. 1 장 MFC 시작하기 10
26 [ 그림 1-9] 버튼을눌렀을때실행되는함수 실제버튼클릭을위해새롭게생성된코드는 [ 그림 1-9] 에나와있는것외에다음 과같은내용이더있다. [StockAnalysisDlg.h] afx_msg void OnBnClickedBtnRun(); [StockAnalysisDlg.cpp] BEGIN_MESSAGE_MAP(CStockAnalysisDlg, CDialog) 1 장 MFC 시작하기 11
27 ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BTN_RUN, &CStockAnalysisDlg::OnBnClickedBtnRun) END_MESSAGE_MAP() 첫번째코드는버튼을클릭하면실행되는함수를선언한것이고, 두번째코드의회색부분은버튼을클릭했을때버튼과해당함수를연결한다. 두번째코드는 ID가 IDC_BTN_RUN 버튼을클릭했을때 (ON_BN_CLICKED) OnBnClickedBtnRun( ) 함수를실행하도록연결하는부분이다. 비주얼스튜디오는자동으로이러한코드를만들기때문에프로그래머가좀더쉽게프로그래밍을할수있으며, 해당함수내에서만코드작업을해주면된다. OnBnClickedBtnRun( ) 함수를눌렀을때메시지창 Message Box 를출력하려면 [ 그림 1-10] 과같이 OnBnClickedBtnRun( ) 함수안에 AfxMessageBox( ) 함수를사용한다. 필자는 MFC 프로그램에서디버깅 Debugging 할때매우유용한 AfxMessageBox( ) 함수를자주사용한다. AfxMessageBox( ) 함수의괄호안에는 MFC에서만쓰는 CString 이라는문자열클래스 Class 를사용해야하지만, _T 매크로를이용하여직접문자열을사용해도된다. AfxMessageBox( ) 함수는다음과같이사용하여 Run Button is Clicked. 라는메시지를출력할수있다. ::AfxMessageBox(_T( Run Button is Clicked. )); 1 장 MFC 시작하기 12
28 [ 그림 1-10] 버튼을눌렀을때실행되는코드 마지막으로실행프로그램을만들어테스트해보자. 비주얼스튜디오의메뉴에있는 플레이 Play 버튼을눌러도되고, 단축키로 Ctrl + F5 를사용해서컴파일하고실행프로그램을만들어도된다. 프로그램을만들면서실행프로그램을자주만들어야하므로단축키 Ctrl + F5 사용을권한다. 모든단축키를숙지하는것은힘들지만, 자주사용하는단축키정도는기억하는것이좋다. 프로그램을실행하면 [ 그림 1-11] 과같이 Run 버튼하나만나타나며, Run 버튼 을누르면 Run Button is Clicked. 라는메시지를출력하는창이생성된다. 1 장 MFC 시작하기 13
29 [ 그림 1-11] 실행프로그램 프로그래밍언어기초책을보면항상나오는것이 Hello World 라는문자열을출력하는것이다. 지금까지버튼을이용해서 Hello World 라는아주간단한프로그램을만들었다고보면된다. Hello World 프로그램이항상먼저나오는이유는오류 Error 없이프로그램을만들어서실행되는지를알수있기때문이며, 이는중요한부분이다. 이후부터는요소를하나씩추가하면서프로그램을만들어나가면된다. 또한, 코드를조금씩추가하면서실행프로그램을자주만들어서테스트하는것도중요하다. 01 도구상자안에있는다른도구들도이와같은방식으로그려주고속성을사용하면된다. 직접프로그래밍해보고시행착오를거쳐알게된내용이오래기억되므로여러가지도구들을직접그려보기바란다. 또한, 인터넷에개별도구들에대한자세한설명이나와있으므로직접찾아보기를권한다. 경험상프로그래밍은내가아는것만을가지고프로그램을만드는것은극히일부분이며, 무엇이필요한지를알고방법을찾아서새로운것을만드는일이라고생각한다. 01 How-to Series 의첫번째책인 소수와 RSA 알고리즘으로배우는 Big Number 연산 ( 한빛미디어, 2013) 의부록에이 부분이자세히설명되어있으므로참고하기바란다. 1 장 MFC 시작하기 14
30 1.2.3 Class 추가하기 MFC는 C++ 에기반을둔프로그램이므로구현하려는 C++ 클래스를추가하여프로그램을만든다. 이책의내용대부분은새롭게생성된클래스안에서구현할것이다. 단지그래프를그리거나버튼등을눌렀을때동작하는부분만 StockAnalysisDlg. cpp에구현한다. 따라서프로그램의알고리즘과같이중요한부분들은추가된클래스안에서새롭게구현한다. 새로운클래스를추가하려면 [ 그림 1-12] 와같이프로젝트이름에서마우스오른쪽 버튼을눌러, 추가 (D) 클래스 (C) 를선택한다. [ 그림 1-12] 클래스추가 1 장 MFC 시작하기 15
31 [ 그림 1-13] 과같이 클래스추가 창이열리면 C++ C++ 클래스 를선택하고 추가 버튼을누른다. [ 그림 1-13] C++ 클래스추가 1 장 MFC 시작하기 16
32 [ 그림 1-14] 와같이 C++ 클래스마법사창이열리면클래스이름을 CStock 으로 지정한다. 02 그러면첫문자 C 가생략된 Stock.h 와 Stock.cpp 파일이생성되고, Stock 이라는클래스에앞으로구현하게될코드들이생성된다. [ 그림 1-14] 클래스이름정하기 02 MFC 는클래스이름을정할때항상대문자 C 를앞에써주는것이좋다. 1 장 MFC 시작하기 17
33 [ 그림 1-15] 를보면 CStock 클래스와관련된두개의파일이생성되었고, 내용이없는빈클래스가선언되었음을알수있다. 이책에서는두개의 C++ 클래스에코드가구현되는데, Stock 이라는클래스와그래프를그리기위해계산을하는 Graph 클래스다. CGraph 클래스도 CStock 클래스와같은방법으로추가한다. [ 그림 1-15] 추가된클래스 MFC 프로그램을만들어본독자라면지금까지의내용은너무간단했을것이다. 하지만이책에서는 MFC 프로그래밍을처음해보는독자들도많을것으로판단되 어각단계를좀더구체적으로기술하였다. 1 장 MFC 시작하기 18
34 다음장은이책에서가장중요한부분으로, 데이터를읽어와서그래프를어떻게그리는지를설명한다. 여기서만드는프로그램은상업적인프로그램이아니므로간단한프로그램을통하여기본적인부분을익히고, 자신만의기능을추가하여개인프로그램을만들어보기바란다. 1 장 MFC 시작하기 19
35 2 Chart 그리기 이번장에서는 MFC에서주식그래프를그려본다. 주식데이터를다루는 CStock 클래스와그래프를그리기위해계산하는 CGraph 클래스, 그리고화면에그래프를그려주는 CStockAnalysisDlg 클래스에서프로그램이구현된다. 여기서사용되는데이터는 data.txt 파일에저장되어있는데, 그내용은다음과같으며최근데이터는부록으로제공되는 GetStockData 프로그램을사용해서얻을수있다 A 동화약품 생략 A S&T모터스 생략 data.txt 에서가장위에 2130 은전체종목수를나타낸다. 즉, data.txt 에는 2,130개의종목데이터가저장되어있다. 두번째줄에서 A 은종목번호이며, 동화약품 은종목이름, 그리고 250 이라는숫자는해당종목과관련한 250개의데이터가밑에기록되어있음을나타낸다. 250개의데이터는 250줄에기록되어있는데, 한줄에는날짜, 시가, 고가, 저가, 종가, 거래량순으로저장되어있다. data.txt 에저장된형식은필자가임의대로정한것으로, 개인적으로프로그램을만든다면데이터를보기편한방식으로저장하면된다. 2 장 Chart 그리기 20
36 2.1 Data Structure 주식프로그램의시작은데이터를읽어와서프로그램의구조체안에저장하는것이다. 그렇다면데이터를담기위한구조체 Structure 를어떻게만들면좋을까? 필자는개별종목하나를하나의구조체에담고, 이렇게만들어진구조체를배열 Array 로관리한다. 프로그램을만들때같은자료형과형태의데이터는배열로만드는것이좋다. 종목데이터를구조체에넣는방법은여러가지가있는데다음과같이두가지형태의구조체로표현할수있다. [ 코드 2-1] Stock Data 구조체 (1) struct Company { CString strjongmok, strname; int quantity; long date[250]; long startval[250]; long highval[250]; long lowval[250]; long lastval[250]; long vol[250]; }; // 종목번호, 종목명 // 데이터개수 // 날짜 // 시가 // 고가 // 저가 // 종가 // 거래량 Company allcompany[2130]; //2130 개의모든종목구조체를배열로선언 [ 코드 2-2] Stock Data 구조체 (2) struct Data { long date; long startval; long highval; long lowval; // 날짜 // 시가 // 고가 // 저가 2 장 Chart 그리기 21
37 }; long lastval; long vol; // 종가 // 거래량 struct Company { CString strjongmok, strname; int quantity; Data data[250]; }; Company companies[2130]; // 종목번호, 종목명 // 데이터개수 // 주가데이터 //2130개의모든종목구조체를배열로선언 [ 코드 2-1] 의구조체는이전에개인적으로만든프로그램에서구현한방법이고, [ 코드 2-2] 의구조체는이책에서만드는프로그램에사용할방법이다. [ 코드 2-1] 은주식데이터를날짜가아닌최소단위의데이터배열로나타냈고, [ 코드 2-2] 는날짜에따른데이터를구조체에담아서구조체를배열로만들었다. [ 코드 2-2] 에서 Company 구조체를배열로만들었는데여기의 companies 라는변수를가지고모든데이터에접근할수있다. 프로그램을만들때중요한것중하나는많이사용하는상수를정의해서 Define 사용하는것이다. 헤더파일에 Data 구조체의배열크기와모든종목개수의최대크기를정의하는것이좋다. 이책에서는 Stock.h 에다음과같이상수들을정의한다. #define MAX_DATA 250 // 한종목당 250개의데이터를가진다. #define MAX_COMPANY 2500 //2130개종목보다큰수로설정한다. 이처럼상수를정의하면헤더파일에서상수값만변경해서프로그램의크기를쉽 게바꿀수있다. 예를들어, 종목당 250 개의데이터를 1000 으로바꾸면종목당 2 장 Chart 그리기 22
38 1,000개의데이터를가지고처리할수있는프로그램으로쉽게바뀐다. 또한, 상수를정의하면프로그램의가독성을높여준다. 코드안에서 250이라는숫자를사용하면이것이무엇을의미하는지알기가힘들다. 그러나숫자대신 MAX_DATA 라는새롭게정의된상수를써주면이름을통하여데이터의최대값임을쉽게알수있다. 이처럼사용하면프로그램구현이쉬워지므로상수를정의해서사용하기를권한다. 다음 [ 코드 2-3] 은 Stock.h 에서사용하는코드다. [ 코드 2-3] Data 구조체 (Stock.h) #define MAX_DATA 250 #define MAX_COMPANY 2500 struct Data { long date; long startval; long highval; long lowval; long lastval; long vol; }; struct Company { CString strjongmok, strname; int quantity; Data data[max_data]; }; // 날짜 // 시가 // 고가 // 저가 // 종가 // 거래량 // 종목번호, 종목명 // 데이터개수 // 주가데이터 01 struct AllCompany { int quantity; // 전체종목개수 Company companies[max_company]; //2500개종목구조체를배열로선언 2 장 Chart 그리기 23
39 }; class CStock { public: 02 AllCompany allcompanies; public: CStock(void); ~CStock(void); }; 01 AllCompany 구조체는이후에추가되는이평선 Day Moving Average, 이동평균선이나보조지표등모든종목의데이터를포함하기위해추가한다. 여기서는 companies라는 Company 구조체배열만을가지고있지만, 이후에만들어지는구조체는이곳에변수로선언된다. 02 CStock 클래스에서모든데이터에접근하려면 allcompanies라는변수를 public으로선언한다. 외부에서 CStock 클래스를생성하면모든종목의데이터에대한접근이가능하다. 이전책 01 에서강조했듯이프로그램에서구조체를이해하는것이가장중요하다. 데이터가어떻게프로그램에서구조화되는지를이해해야만나머지부분을쉽게만들수있다. 특히, 주식프로그램에서는데이터를가져와서구조화할수있다면프로그램의반은끝났다고볼수있다. 물론, 여기서는증권회사에서실제데이터를가져오지는않았지만, 직접증권회사에서데이터를가져와서구조체로넣는다면실시간자동매매프로그램을쉽게구현할수있을것이다. 2.2 File Data 읽기 MFC에서파일을읽고쓰는것은 C++ 에기반을두고있어서특별히고려해야할것이없다. 또한, C++ 에서 C 함수도사용할수있으므로이책에서는 C 함수를사용하여파일에읽고쓰는작업을할것이다. 01 소수와 RSA 알고리즘으로배우는 Big Number 연산 ( ( 한빛미디어, 2013) 2 장 Chart 그리기 24
40 MFC에서 C 함수를사용할때고려해야할점은자료형 Data Type 이다. 즉, 데이터를 MFC에서만사용하는문자열자료형인 CString 으로변환하는작업이필요하다. 파일에서데이터를읽을때는 C 함수로읽어서 char * 형태의문자열을 CString 으로형변환해야하며, 파일에기록할때는 CString 을 char * 형태로변환해서 C 함수로기록한다. 프로그램을만들다보면파일입출력을많이다루게된다. 잠시파일입출력이어 떤원리로이루어지는지알아보자. [ 그림 2-1] 파일입출력 [ 그림 2-1] 과같이파일은하드디스크에저장되어있다. 프로그램에서파일을열면 Open 파일의모든내용은메모리에올라간다. 파일을열때읽기 Read 만가능한지아니면쓰기 Write 도가능한지를지정하는데, 읽기만가능한파일은메모리에서읽을수만있고, 쓰기가가능한파일은읽고쓰기가가능하다. 또한, 파일의마지막부터추가하여쓰기가가능한 Append 속성을부여할수도있다. 그리고파일이메모리에올려져있으므로특정위치에서읽기와쓰기도할수도있다. 이내용은프로그램관련기초서적이나인터넷에서쉽게찾을수있으므로여기서는다루지않는다. 파일열기로파일이메모리에올려진후에프로그램은메모리에서만읽기 / 쓰기를 하게된다. 프로그램에서읽기 / 쓰기작업이다이루어진후 파일닫기 를하면, 읽 기속성의파일은연결이끊어지고쓰기속성의파일은메모리의내용을하드디스 2 장 Chart 그리기 25
41 크에저장한다. 간단하게파일입출력은크게 파일열기, 메모리에서파일내용 작업, 파일닫기 의세단계로구분하여이해하는것이좋다. 파일에서읽기를간단히표현하면다음과같이나타낼수있다. FILE *fp; fp = fopen( filename, "rt"); fscanf(fp, "%d \n", &variable); fclose(fp); // 파일자료형 - FILE // 파일열기 - fopen // 파일읽기 - fscanf // 파일닫기 - fclose 파일을열때 fopen( ) 함수안의 rt 로속성을주는데, r 은 Read를, t 는 Text로읽겠다는의미이다. 모든줄에사용되는변수 fp는 File Pointer로, 메모리에올려진파일의주소를가리킨다. 즉, FILE *fp 는변수 fp를파일포인터로사용한다는것이고, 두번째줄의 fp = fopen( filename, rt ) 는 filename 이라는파일을하드디스크에서읽어와메모리에올리고 fp가메모리에올려진파일을가리키고있다고생각하면된다. 세번째줄의 fscanf(fp, %d \n, &variable) 은 fp 파일에서정수형 (%d) 값을 variable 이라는변수로읽어오는것이다. 이때주의할것은변수앞에 & 문자를써주어야한다. & 문자를사용하면메모리에서변수의주소값을나타내므로 메모리에있는 variable 변수의공간에데이터를집어넣어라 는의미가된다. 마지막줄의 fclose(fp) 은처리가끝난 fp 파일을닫는다. 파일에쓰기는읽기와비슷하며다음과같이나타낼수있다. FILE *fp; fp = fopen( filename, "wt"); fprintf(fp, "%d \n", variable); fclose(fp); // 파일자료형 - FILE // 파일열기 - fopen // 파일쓰기 - fprintf // 파일닫기 - fclose 2 장 Chart 그리기 26
42 다음은 Cstock( ) 함수를선언하고기본뼈대를구현한부분이다. [ 코드 2-4] CStock 함수선언 (Stock.h) class CStock { public: AllCompany allcompanies; public: CStock(void); ~CStock(void); }; void Run(); void ReadDataFromFile(); void WriteDataToFile(); [ 코드 2-5] CStock 함수구현전뼈대 (Stock.cpp) void CStock::Run() { ReadDataFromFile(); WriteDataToFile(); } void CStock::ReadDataFromFile() { } void CStock::WriteDataToFile() { } 2 장 Chart 그리기 27
43 [ 코드 2-6] CStock 변수정의 (StockAnalysisDlg.h) #include "Stock.h" #pragma once class CStockAnalysisDlg : public CDialog { private: CStock *stock; ##### 생략 ##### }; [ 코드 2-7] CStock 변수생성과실행 (StockAnalysisDlg.cpp) BOOL CStockAnalysisDlg::OnInitDialog() { ##### 생략 ##### stock = new CStock(); ##### 생략 ##### } ##### 생략 ##### void CStockAnalysisDlg::OnBnClickedBtnRun() { stock->run(); } 지금까지구현한코드를 Ctrl + F5 키로컴파일이잘되는지확인한다. 이제는 CStock 클래스에선언된 ReadDataFromFile( ) 함수와 WriteDataToFile( ) 함수안의내용을구현한다. ReadDataFromFile( ) 함수는 [ 코드 2-8] 과같이구현한다. 2 장 Chart 그리기 28
Microsoft PowerPoint - chap02-C프로그램시작하기.pptx
#include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의
More informationURL Shortener 프로젝트로 배우는 Vert.X 프레임워크
Hanbit ebook Realtime 95 URL Shortener 프로젝트로배우는 Vert.x 프레임워크 김요한지음 URL Shortener 프로젝트로배우는 Vert.x 프레임워크 김요한지음 URL Shortener 프로젝트로배우는 Vert.X 프레임워크 초판발행 2015 년 4 월 10 일 지은이김요한 / 펴낸이김태헌펴낸곳한빛미디어 ( 주 ) / 주소서울시마포구양화로
More information<4D F736F F F696E74202D2034C5D8BDBAC6AEC6C4C0CFC0D4C3E2B7C2312E505054>
의료프로그래밍실습 의료공학과이기영 1 Chap. 11 파일입출력 2 1 이장의목표 텍스트파일의입출력방법을익힌다. (284 쪽그림참조 ) 3 C 언어의파일종류 텍스트파일 (text file) 사람들이읽을수있는문자들을저장하고있는파일 텍스트파일에서 한줄의끝 을나타내는표현은파일이읽어들여질때, C 내부의방식으로변환된다. 이진파일 (binary file) : 자료형그대로의바이트수로연속해서저장
More informationMicrosoft PowerPoint - chap01-C언어개요.pptx
#include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을
More informationC++ Programming
C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator
More informationMicrosoft PowerPoint - chap06-2pointer.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.
More information슬라이드 1
-Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역
More informationPowerPoint Presentation
Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음
More information<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>
리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1
More informationMicrosoft Word - ntasFrameBuilderInstallGuide2.5.doc
NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,
More informationPowerPoint 프레젠테이션
System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소
More informationSIGIL 완벽입문
누구나 만드는 전자책 SIGIL 을 이용해 전자책을 만들기 EPUB 전자책이 가지는 단점 EPUB이라는 포맷과 제일 많이 비교되는 포맷은 PDF라는 포맷 입니다. EPUB이 나오기 전까지 전 세계에서 가장 많이 사용되던 전자책 포맷이고, 아직도 많이 사 용되기 때문이기도 한며, 또한 PDF는 종이책 출력을 위해서도 사용되기 때문에 종이책 VS
More information<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>
연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.
More informationMicrosoft Word - PLC제어응용-2차시.doc
과정명 PLC 제어응용차시명 2 차시. 접점명령 학습목표 1. 연산개시명령 (LOAD, LOAD NOT) 에대하여설명할수있다. 2. 직렬접속명령 (AND, AND NOT) 에대하여설명할수있다. 3. 병렬접속명령 (OR, OR NOT) 에대하여설명할수있다. 4.PLC의접점명령을가지고간단한프로그램을작성할수있다. 학습내용 1. 연산개시명령 1) 연산개시명령 (LOAD,
More information2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.
10 차시파일처리 1 학습목표 내장메모리의파일을처리하는방법을배운다. SD 카드의파일을처리하는방법을배운다. 2 확인해볼까? 3 내장메모리파일처리 1) 학습하기 [ 그림 10-1] 내장메모리를사용한파일처리 2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1
More informationC# Programming Guide - Types
C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든
More information아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상
Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는
More informationMicrosoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx
To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse
More information목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.
소프트웨어매뉴얼 윈도우드라이버 Rev. 3.03 SLP-TX220 / TX223 SLP-TX420 / TX423 SLP-TX400 / TX403 SLP-DX220 / DX223 SLP-DX420 / DX423 SLP-DL410 / DL413 SLP-T400 / T403 SLP-T400R / T403R SLP-D220 / D223 SLP-D420 / D423
More informationC++ Programming
C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout
More informationMicrosoft PowerPoint - chap06-1Array.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어
More informationuntitled
시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000
More informationStuduino소프트웨어 설치
Studuino 프로그래밍환경 Studuino 소프트웨어설치 본자료는 Studuino 프로그래밍환경설치안내서입니다. Studuino 프로그래밍 환경의갱신에따라추가 / 수정될수있습니다. 목차 1. 소개... 1 2. Windows... 2 2.1. 프로그래밍환경설치... 2 2.1.1. 웹설치버전설치방법... 2 2.2. Studuino 프로그래밍환경실행...
More informationMicrosoft Word - windows server 2003 수동설치_non pro support_.doc
Windows Server 2003 수동 설치 가이드 INDEX 운영체제 설치 준비과정 1 드라이버를 위한 플로피 디스크 작성 2 드라이버를 위한 USB 메모리 작성 7 운영체제 설치 과정 14 Boot Sequence 변경 14 컨트롤러 드라이버 수동 설치 15 운영체제 설치 17 운영체제 설치 준비 과정 Windows Server 2003 에는 기본적으로
More information윈도우시스템프로그래밍
객체지향프로그래밍응용 Chap 4. 대화상자와컨트롤 (#1) 2013.09.27. 오병우 컴퓨터공학과금오공과대학교 Control 들을가진윈도우 Dialog 개요 사용자의입력을받기위한 Object 의집합 종류 프로그램수행도중사용자의입력이필요할때다이얼로그박스출력 다이얼로그박스는사용자로부터입력받은데이터를메인루틴에넘기고소멸 Modal Dialog Parent window
More information슬라이드 1
핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton
More informationWindows 8에서 BioStar 1 설치하기
/ 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar
More informationMicrosoft PowerPoint - chap13-입출력라이브러리.pptx
#include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 스트림의 기본 개념을 알아보고,
More informationJAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각
JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.
More information<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>
#include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0
More informationPowerPoint 프레젠테이션
파일입출력 Heeseung Jo 이장의내용 파일과파일포인터 파일입출력함수 임의접근파일처리 2 파일과파일포인터 파일 파일은모든데이터를연속된바이트형태로저장 4 C 언어의파일종류 텍스트파일 (text file) 사람들이읽을수있는문자들을저장하고있는파일 텍스트파일에서 " 한줄의끝 " 을나타내는표현은파일이읽어들여질때, C 내부의방식으로변환 예, a.txt, main.c,
More information윈도우시스템프로그래밍
데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생
More informationPowerPoint Presentation
#include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을작성하면서 C 프로그램의구성요소에대하여알아본다.
More informationAPI - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어
메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -
More informationEndpoint Protector - Active Directory Deployment Guide
Version 1.0.0.1 Active Directory 배포가이드 I Endpoint Protector Active Directory Deployment Guide 목차 1. 소개...1 2. WMI 필터생성... 2 3. EPP 배포 GPO 생성... 9 4. 각각의 GPO 에해당하는 WMI 연결... 12 5.OU 에 GPO 연결... 14 6. 중요공지사항
More informationPowerPoint 프레젠테이션
Chapter 15 고급프로그램을 만들기위한 C... 1. main( ) 함수의숨겨진이야기 2. 헤더파일 3. 전처리문과예약어 1. main( ) 함수의숨겨진이야기 main( ) 함수의매개변수 [ 기본 14-1] main( ) 함수에매개변수를사용한예 1 01 #include 02 03 int main(int argc, char* argv[])
More informationMicrosoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]
Chapter 03 변수와자료형 2009 한국항공대학교항공우주기계공학부 (http://mercury.kau.ac.kr/sjkwon) 1 변수와자료유형 변수 프로그램에서자료값을임시로기억할수있는저장공간을변수 (variables) 변수 (Variables) 는컴퓨터의메모리인 RAM(Random Access Memory) 에저장 물건을담는박스라고생각한다면박스의크기에따라담을물건이제한됨
More information<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>
SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......
More information윈도우시스템프로그래밍
데이타베이스 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2013.05.15. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생
More informationPowerPoint Presentation
객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean
More information경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P
Duplicator 는기본적으로원본하드디스크를빠르게복사본하드디스크에복사하는기능을하는것입니다.. 복사본 하드디스크가원본하드디스크와똑같게하는것을목적으로하는것이어서저용량에서고용량으로복사시몇 가지문제점이발생할수있습니다. 하드디스크는사용하려면, 디스크초기화를한후에포맷을해야사용가능합니다. Windows PC는 MBR과 GPT 2 개중에 1개로초기화합니다. -Windows
More informationMicrosoft PowerPoint - ch07 - 포인터 pm0415
2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자
More informationPowerPoint 프레젠테이션
Chapter 12 표준입출력과파일입출력... 1. 표준입출력함수 2. 파일입출력함수 1. 표준입출력함수 표준입출력함수 표준입력 (stdin, Standard Input) : 키보드입력 표준출력 (stdout, StandardOutput) : 모니터출력 1. 표준입출력함수 서식화된입출력함수 printf(), scanf() 서식의위치에올수있는것들 [ 기본 11-1]
More information[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi
2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,
More information<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>
쉽게풀어쓴 C 언어 Express 제 2 장프로그램개발과정 통합개발환경 통합개발환경 (IDE: integrated development environment) 에디터 + 컴파일러 + 디버거 Visual C++: 이클립스 (eclipse): Dev-C++: 마이크로소프트제작 오픈소스프로젝트 오픈소스프로젝트 통합개발환경의종류 비주얼 C++(Visual C++)
More informationProgramming hwp
4 장대화상자기반응용프로그램 3장에서는윈도우응용프로그램작성을위한 MFC 프로그래밍에텍스트편집기만을사용하였으나, 이장에서부터는응용프로그램마법사 (AppWizard), 리소스편집기, 클래스마법사 (Class Wizard) 등의도구를활용한다. 이러한도구들의이용으로전체프로그램소스에서프로그래머가직접코딩하는분량을크게줄일수있어빠른시간안에응용프로그램의개발이가능해진다. 또한
More informationMicrosoft Word - src.doc
IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...
More information03_queue
Queue Data Structures and Algorithms 목차 큐의이해와 ADT 정의 큐의배열기반구현 큐의연결리스트기반구현 큐의활용 덱 (Deque) 의이해와구현 Data Structures and Algorithms 2 큐의이해와 ADT 정의 Data Structures and Algorithms 3 큐 (Stack) 의이해와 ADT 정의 큐는 LIFO(Last-in,
More information오버라이딩 (Overriding)
WindowEvent WindowEvent 윈도우가열리거나 (opened) 닫힐때 (closed) 활성화되거나 (activated) 비활성화될때 (deactivated) 최소화되거나 (iconified) 복귀될때 (deiconified) 윈도우닫힘버튼을누를때 (closing) WindowEvent 수신자 abstract class WindowListener
More informationC 프로그램의 기본
C 프로그램의기본 목차 C 프로그램의구성요소 주석 main 함수 출력 C 언어의입력과출력 변수 printf 함수 scanf 함수 2 예제 2-1 : 첫번째 C 프로그램 3 2.1.1 주석 주석의용도 프로그램에대한설명 프로그램전체에대한대략적인정보를제공 프로그램수행에영향을미치지않는요소 4 2.1.1 주석 주석사용방법 /* 과 */ 을이용한여러줄주석 // 을이용한한줄주석
More informationOCW_C언어 기초
초보프로그래머를위한 C 언어기초 2 장 : C 프로그램시작하기 2012 년 이은주 학습목표 을작성하면서 C 프로그램의구성요소 주석 (comment) 이란무엇인지알아보고, 주석을만드는방법 함수란무엇인지알아보고, C 프로그램에반드시필요한 main 함수 C 프로그램에서출력에사용되는 printf 함수 변수의개념과변수의값을입력받는데사용되는 scanf 함수 2 목차 프로그램코드
More information<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.
More information윤성우의 열혈 TCP/IP 소켓 프로그래밍
C 프로그래밍프로젝트 Chap 22. 구조체와사용자정의자료형 1 2013.10.10. 오병우 컴퓨터공학과 구조체의정의 (Structure) 구조체 하나이상의기본자료형을기반으로사용자정의자료형 (User Defined Data Type) 을만들수있는문법요소 배열 vs. 구조체 배열 : 한가지자료형의집합 구조체 : 여러가지자료형의집합 사용자정의자료형 struct
More informationMicrosoft PowerPoint - C++ 5 .pptx
C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성
More information<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>
SAM4S Printer Driver Installer 달리명시하지않은한, 인쇄또는복사된문서는통제하지않는문서임 목 차 1. 1. WINDOWS DRIVER INSTALLER 설치 설치...... 2 2. 프린터추가...... 5 3. 프린터제거...... 19 4. 프린터추가 / 제거선택...... 21 5. 프로그램추가 / 제거...... 21 SHC- 11-01-
More informationiii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.
Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:
More information슬라이드 제목 없음
MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS 로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS 보다가격이매우저렴한편이고,
More informationtiawPlot ac 사용방법
tiawplot ac 매뉴얼 BORISOFT www.borisoft.co.kr park.ji@borisoft.co.kr HP : 00-370-077 Chapter 프로그램설치. 프로그램설치 3 2 Chapter tiawplot ac 사용하기.tiawPlot ac 소개 2.tiawPlot ac 실행하기 3. 도면파일등록및삭제 4. 출력장치설정 5. 출력옵션설정
More informationMicrosoft PowerPoint APUE(Intro).ppt
컴퓨터특강 () [Ch. 1 & Ch. 2] 2006 년봄학기 문양세강원대학교컴퓨터과학과 APUE 강의목적 UNIX 시스템프로그래밍 file, process, signal, network programming UNIX 시스템의체계적이해 시스템프로그래밍능력향상 Page 2 1 APUE 강의동기 UNIX 는인기있는운영체제 서버시스템 ( 웹서버, 데이터베이스서버
More information1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과
1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas
More information금오공대 컴퓨터공학전공 강의자료
C 프로그래밍프로젝트 Chap 13. 포인터와배열! 함께이해하기 2013.10.02. 오병우 컴퓨터공학과 13-1 포인터와배열의관계 Programming in C, 정재은저, 사이텍미디어. 9 장참조 ( 교재의 13-1 은읽지말것 ) 배열이름의정체 배열이름은 Compile 시의 Symbol 로서첫번째요소의주소값을나타낸다. Symbol 로서컴파일시에만유효함 실행시에는메모리에잡히지않음
More informationMicrosoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx
To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 개발환경구조및설치순서 JDK 설치 Eclipse 설치 안드로이드 SDK 설치 ADT(Androd Development Tools) 설치 AVD(Android Virtual Device) 생성 Hello Android! 2 Eclipse (IDE) JDK Android SDK with
More informationA Hierarchical Approach to Interactive Motion Editing for Human-like Figures
단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct
More informationMicrosoft PowerPoint - Java7.pptx
HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)
More informationMicrosoft PowerPoint - chap-02.pptx
쉽게풀어쓴 C 언어 Express 제 2 장프로그램개발과정 컴퓨터프로그래밍기초 프로그램작성과정 에디터 (editer) 컴파일러 (compiler) 링커 (linker) 로더 (loader) 소스파일 test.c 오브젝트파일 test.obj 실행파일 test.exe 통합개발환경 (IDE) 컴퓨터프로그래밍기초 2 프로그램작성단계 편집 (edit) 에디터를이용하여원하는작업의내용을기술하여소스코드작성
More informationMicrosoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100
2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack
More information설계란 무엇인가?
금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 16 강. 파일입출력목차 파일입출력기초 파일입출력모드 텍스트파일과이진파일 이진파일입출력 임의접근 1 /18 16 강. 파일입출력파일입출력기초 파일입출력과정 파일스트림객체생성 파일열기 사용 : 기본적으로표준입출력객체 (cin, cout) 사용방법과동일 파일닫기 파일스트림클래스의종류
More informationMicrosoft PowerPoint 웹 연동 기술.pptx
웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우
More informationMicrosoft Word - CPL-TR IETF-ID.doc
IETF I D 작성및등록방법 (2009 년 8 월 ) 경북대학교통신프로토콜연구실 박재완 (jwparkinf8@gmail.com) 요약 Internet Draft 문서는 working group 또는개인이연구를진행하며 IETF를통해발행하는문서중하나이다. 등록이후 6개월 (185일) 간의유효기간을가지며, 그기간동안업데이트가이루어지지않으면폐기된다. 문서를 IETF에
More information기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.
PDMLink 에등록된 Office 문서들의 PDF 문서변환기능및 Viewer 기능을알아보자 PDM Link에서지원하는 [Product View Document Support] 기능은 Windows-Base 기반의 Microsoft Office 문서들을 PDMLink용 Viewer인 Product View를통한읽기가가능한 PDF Format 으로변환하는기능이다.
More informationOCW_C언어 기초
초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향
More informationMicrosoft PowerPoint - chap06-5 [호환 모드]
2011-1 학기프로그래밍입문 (1) chapter 06-5 참고자료 변수의영역과데이터의전달 박종혁 Tel: 970-6702 Email: jhpark1@seoultech.ac.kr h k 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- ehanbit.net 자동변수 지금까지하나의함수안에서선언한변수는자동변수이다. 사용범위는하나의함수내부이다. 생존기간은함수가호출되어실행되는동안이다.
More informationPowerPoint Template
16-1. 보조자료템플릿 (Template) 함수템플릿 클래스템플릿 Jong Hyuk Park 함수템플릿 Jong Hyuk Park 함수템플릿소개 함수템플릿 한번의함수정의로서로다른자료형에대해적용하는함수 예 int abs(int n) return n < 0? -n : n; double abs(double n) 함수 return n < 0? -n : n; //
More informationVer 1.0 마감하루전 Category Partitioning Testing Tool Project Team T1 Date Team Information 김강욱 김진욱 김동권
마감하루전 Category Partitioning Testing Tool Project Team T1 Date 2017-05-12 Team Information 201111334 김강욱 201211339 김진욱 201312243 김동권 201510411 이소영 [ 마감하루전 ] T1 1 INDEX Activity 2041. Design Real Use Cases
More information1
2/33 3/33 4/33 5/33 6/33 7/33 8/33 9/33 10/33 11/33 12/33 13/33 14/33 15/33 16/33 17/33 5) 입력을 다 했으면 확인 버튼을 클릭합니다. 6) 시작 페이지가 제대로 설정이 되었는지 살펴볼까요. 익스플로러를 종료하고 다시 실행시켜 보세요. 시작화면에 야후! 코리아 화면이 뜬다면 설정 완료..^^
More informationfprintf(fp, "clf; clear; clc; \n"); fprintf(fp, "x = linspace(0, %d, %d)\n ", L, N); fprintf(fp, "U = [ "); for (i = 0; i <= (N - 1) ; i++) for (j = 0
병렬계산을이용한열방정식풀기. 1. 처음 병렬계산을하기전에 C 언어를이용하여명시적유한차분법으로하나의열방정식을풀어본 다. 먼저 C 로열방정식을이해한다음초기조건만다르게하여클러스터로여러개의열방 정식을풀어보자. 2. C 를이용한명시적유한차분법으로열방적식풀기 열방정식을풀기위한자세한이론은앞서다룬 Finite-Difference method 을보기로하고 바로식 (1.10)
More informationMicrosoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers
C Programming 포인터 (Pointers) Seo, Doo-Ok Clickseo.com clickseo@gmail.com 목 차 포인터의이해 다양한포인터 2 포인터의이해 포인터의이해 포인터변수선언및초기화 포인터연산 다양한포인터 3 주소연산자 ( & ) 포인터의이해 (1/4) 변수와배열원소에만적용한다. 산술식이나상수에는주소연산자를사용할수없다. 레지스터변수또한주소연산자를사용할수없다.
More information17장 클래스와 메소드
17 장클래스와메소드 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 1 / 18 학습내용 객체지향특징들객체출력 init 메소드 str 메소드연산자재정의타입기반의버전다형성 (polymorphism) 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 2 / 18 객체지향특징들 객체지향프로그래밍의특징 프로그램은객체와함수정의로구성되며대부분의계산은객체에대한연산으로표현됨객체의정의는
More informationInstall stm32cubemx and st-link utility
STM32CubeMX and ST-LINK Utility for STM32 Development 본문서는 ST Microelectronics 의 ARM Cortex-M 시리즈 Microcontroller 개발을위해제공되는 STM32CubeMX 와 STM32 ST-LINK Utility 프로그램의설치과정을설명합니다. 본문서는 Microsoft Windows 7
More informationKNK_C_05_Pointers_Arrays_structures_summary_v02
Pointers and Arrays Structures adopted from KNK C Programming : A Modern Approach 요약 2 Pointers and Arrays 3 배열의주소 #include int main(){ int c[] = {1, 2, 3, 4}; printf("c\t%p\n", c); printf("&c\t%p\n",
More informationMicrosoft Word - codevision사용법_pdf버전.docx
CodevisionAVR 설치와 기본사용법 민경학 ( hak@anycalluser.net) 인하대학교 IT 공과대학전자공학과멀티미디어연구실 ( 하이테크센터 916 호 ) 2008.9.7.001 들어가며 AVR 에서쓸수있는컴파일러종류에는 CodeVisionAVR, AVR Edit, IAR, AVRStudio 등이있습니다. CodeVisionAVR 과 IAR 은상용이고
More informationPathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.
PathEye Mobile Ver. 0.71b 2009. 3. 17 By PathEye 공식 블로그 다운로드 받으세요!! http://blog.patheye.com 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye 설치 1/3 최종 배포 버전을 다 운로드 받습니다. 다운로드된 파일은 CAB 파일입니다. CAB 파일에는
More information이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다
이장에서사용되는 MATLAB 명령어들은비교적복잡하므로 MATLAB 창에서명령어를직접입력하지않고확장자가 m 인 text 파일을작성하여실행을한다. 즉, test.m 과같은 text 파일을만들어서 MATLAB 프로그램을작성한후실행을한다. 이와같이하면길고복잡한 MATLAB 프로그램을작성하여실행할수있고, 오류가발생하거나수정이필요한경우손쉽게수정하여실행할수있는장점이있으며,
More informationMATLAB for C/C++ Programmers
파일입출력 1 MATLAB File I/O 여러종류의함수제공 이진화된파일 (binary file) 의읽고쓰기 형식화된파일 (formatted ASCII) 의읽고쓰기 파일입출력함수 save, load 함수 MATLAB 에서사용하는데이터타입을저장및불러오기 dlmread, dlmwrite 사용자가지정한구분자 (delimiter) 형태로텍스트파일에저장 cvsread,
More informationIP 심화 라우팅프로토콜적용시 라우팅테이블에서 이니셜이있는네트워크를설정하는것 : onnected 직접연결된네트워크를의미한다. 그러므로라우팅은 나는이런네트워크와연결되어있다. 를직접연결된라우터들에게알려주는것 1>en 1#conf t 1(config)#router rip 1
IP 심화 º 각 P 의게이트웨이는해당네트워크의마지막주소를사용한다. - P1 (210.220.10.1/26) 의게이트웨이 (5의 Fa0/0) : 210.220.10.63 /26 = 255.255.255.192 호스트비트수 : 32-26 = 6 비트 => = 64 그러므로 P1의 IP 210.220.10.1 중서브넷마스크에의거 26비트는변함이없고, 나머지 6비트가호스트비트로변하므로
More information안전한 웨 애플리케이션을 위한 자바스크립트 보안
119 안전한웹애플리케이션을위한 Y.E 리앙지음 / 박미정옮김 자바스크립트보안 119 안전한웹애플리케이션을위한 Y.E 리앙지음 / 박미정옮김 자바스크립트보안 이도서는 JavaScript Security(PACKT publishing) 의번역서입니다 표지사진김민국이책의표지는김민국님이보내주신풍경사진을담았습니다. 리얼타임은독자의시선을담은풍경사진을책표지로보여주고자합니다.
More informationadfasdfasfdasfasfadf
C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.
More informationISP and CodeVisionAVR C Compiler.hwp
USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler
More informationLab 3. 실습문제 (Single linked list)_해답.hwp
Lab 3. Singly-linked list 의구현 실험실습일시 : 2009. 3. 30. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 5. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Singly-linked list의각함수를구현한다.
More information슬라이드 1
5. 표준입력 : scanf scanf 의기본사용법 키보드로값을입력받아지정한변수에저장함 scanf( %d, &i ); 키보드로정수를입력받아, i 변수에저장함 scanf( %d %d, &i, &j ); 키보드로정수두개를입력받아, 각각 i, j 변수에저장함 scanf( %d %f, &i, &f ); 키보드로정수와실수를각각입력받아, 정수형변수 i, 실수형변수 f
More informationPowerPoint 프레젠테이션
실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3
More information쉽게 풀어쓴 C 프로그래밍
누구나즐기는 C 언어콘서트 제 1 장프로그래밍소개 이번장에서학습할내용 프로그램의이해 프로그래밍언어 알고리즘 프로그램개발과정 프로그램을작성하기에앞서서중요한개념들을살펴봅니다.. 컴퓨터란? Q) 컴퓨터 (computer) 는무엇인가? A) 컴퓨터는기본적으로계산 (compute) 하는기계 Q) 컴퓨터를이용하여데이터를처리하려면반드시데이터가숫자형태이어야한다. 왜? A)
More information쉽게 풀어쓴 C 프로그래밍
제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace
More informationPowerPoint Template
JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것
More informationvar answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");
자바스크립트 (JavaScript) - HTML 은사용자에게인터페이스 (interface) 를제공하는언어 - 자바스크립트는서버로데이터를전송하지않고서할수있는데이터처리를수행한다. - 자바스크립트는 HTML 나 JSP 에서작성할수있고 ( 내부스크립트 ), 별도의파일로도작성이가능하다 ( 외 부스크립트 ). - 내부스크립트 - 외부스크립트
More informationMicrosoft PowerPoint - chap-02.pptx
쉽게풀어쓴 C 언어 Express 제 2 장프로그램개발과정 컴퓨터프로그래밍기초 프로그램작성과정 에디터 (editer) 컴파일러 (compiler) 링커 (linker) 로더 (loader) 소스파일 test.c 오브젝트파일 test.obj 실행파일 test.exe 통합개발환경 (IDE) 컴퓨터프로그래밍기초 2 프로그램작성단계 편집 (edit) 에디터를이용하여원하는작업의내용을기술하여소스코드작성
More informationBACK TO THE BASIC C++ 버그 헌팅: 버그를 예방하는 11가지 코딩 습관
Hanbit ebook Realtime 30 C++ 버그 헌팅 버그를 예방하는 11가지 코딩 습관 Safe C++ 블라디미르 쿠스퀴니르 지음 / 정원천 옮김 이 도서는 O REILLY의 Safe C++의 번역서입니다. BACK TO THE BASIC C++ 버그 헌팅 버그를 예방하는 11가지 코딩 습관 BACK TO THE BASIC C++ 버그 헌팅 버그를
More informationBMP 파일 처리
BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)
More information1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-
1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다. 1.2.1 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-1 연산범위이유 : 00000000 00000000 00000000 00000000의 32
More information지도상 유의점 m 학생들이 어려워하는 낱말이 있으므로 자세히 설명해주도록 한다. m 버튼을 무리하게 조작하면 고장이 날 위험이 있으므로 수업 시작 부분에서 주의를 준다. m 활동지를 보고 어려워하는 학생에게는 영상자료를 접속하도록 안내한다. 평가 평가 유형 자기 평가
수업주제 경찰 출동! (버튼, LED, 버저 사용하기) 9 / 12 차시 수업의 주제와 목표 본 수업에서는 이전 차시에 배웠던 블록들의 기능을 복합적으로 활용한다. 스위치 기능을 가진 버튼을 활용하여 LED와 버저를 동시에 작동시키도록 한다. 각 블록들을 함께 사용하는 프로젝트를 통해 각각의 기능을 익히고 보다 다양한 활용 방법을 구상할 수 있다. 교수 학습
More information