{"id":178,"date":"2014-06-08T15:29:07","date_gmt":"2014-06-08T06:29:07","guid":{"rendered":"http:\/\/csharp.ihavenomoney.co.kr\/?p=178"},"modified":"2019-06-27T10:39:13","modified_gmt":"2019-06-27T01:39:13","slug":"%ec%8a%a4%ed%85%8c%ec%9d%b4%ed%8a%b8-%ed%8c%a8%ed%84%b4","status":"publish","type":"post","link":"https:\/\/csharp.ihavenomoney.co.kr\/?p=178","title":{"rendered":"\uc2a4\ud14c\uc774\ud2b8 \ud328\ud134"},"content":{"rendered":"<pre class=\"lang:c++ decode:true \" >#include &lt;iostream&gt;\r\n#include &lt;conio.h&gt;\r\n#include &lt;Windows.h&gt;\r\n\r\n#define KEY_ESC 27\r\n\r\nusing std::cout;\r\nusing std::endl;\r\n\r\nclass CAccount\r\n{\r\npublic:\r\n    enum\r\n\t{\r\n\t\tSTATE_IDLE,\r\n\t\tSTATE_INPUT,\r\n\t\tSTATE_WAIT_ACK,\r\n\t\tSTATE_MAX\r\n\t};\r\npublic:\r\n\tint m_iState;\r\n\tCAccount();\r\n\tvoid OnIdle();\r\n\tvoid OnInput();\r\n\tvoid OnWaitAck();\r\n\tvoid SetState(int iState);\r\n\tvoid Render();\r\n};\r\n\r\nCAccount::CAccount()\r\n{\r\n\tm_iState = STATE_IDLE;\r\n}\r\nvoid CAccount::OnIdle()\r\n{\r\n\tcout&lt;&lt; \"OnIdle()\"&lt;&lt;endl;\r\n}\r\nvoid CAccount::OnInput()\r\n{\r\n\tcout&lt;&lt;\"OnInput()\"&lt;&lt;endl;\r\n}\r\nvoid CAccount::OnWaitAck()\r\n{\r\n\tcout&lt;&lt;\"OnWaitAck\"&lt;&lt;endl;\r\n}\r\nvoid CAccount::SetState(int iState)\r\n{\r\n\tm_iState = iState;\r\n}\r\nvoid CAccount::Render()\r\n{\r\n\tstatic void (CAccount::*f[])()= \/\/\ubc30\uc5f4\r\n\t{\r\n\t\t&amp;CAccount::OnIdle,\r\n\t\t&amp;CAccount::OnInput,\r\n\t\t&amp;CAccount::OnWaitAck\r\n\t};\r\n\tif(m_iState &gt;= 0 &amp;&amp; m_iState &lt;STATE_MAX)\r\n\t{\r\n\t\t(this-&gt;*f[m_iState])();\r\n\t}\r\n}\r\n\r\nvoid main()\r\n{\r\n\tCAccount account;\r\n\tint ch=0;\r\n\r\n\twhile(ch!=KEY_ESC)\r\n\t{\r\n\t\tif(kbhit())\r\n\t\t{\r\n\t\t\tch=getch();\r\n\t\t\tif(ch=='1')\r\n\t\t\t\taccount.SetState(CAccount::STATE_IDLE);\r\n\t\t\telse if(ch=='2')\r\n\t\t\t\taccount.SetState(CAccount::STATE_INPUT);\r\n\t\t\telse if(ch=='3')\r\n\t\t\t\taccount.SetState(CAccount::STATE_WAIT_ACK);\r\n\t\t}\r\n\r\n\t\tSleep(500);\r\n\t\taccount.Render();\r\n\t}\r\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;Windows.h&gt; #define KEY_ESC 27 using std::cout; using std::endl; class CAccount { public: enum { STATE_IDLE, STATE_INPUT, STATE_WAIT_ACK, STATE_MAX }; public: int m_iState; CAccount(); void OnIdle(); void OnInput(); void OnWaitAck(); void SetState(int iState); void Render(); }; CAccount::CAccount() { m_iState = STATE_IDLE; } void CAccount::OnIdle() { cout&lt;&lt; &#8220;OnIdle()&#8221;&lt;&lt;endl; } void CAccount::OnInput() {\u2026 <span class=\"read-more\"><a href=\"https:\/\/csharp.ihavenomoney.co.kr\/?p=178\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22],"tags":[],"class_list":["post-178","post","type-post","status-publish","format-standard","hentry","category-c"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/csharp.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/178","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/csharp.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/csharp.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/csharp.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/csharp.ihavenomoney.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=178"}],"version-history":[{"count":2,"href":"https:\/\/csharp.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/178\/revisions"}],"predecessor-version":[{"id":536,"href":"https:\/\/csharp.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/178\/revisions\/536"}],"wp:attachment":[{"href":"https:\/\/csharp.ihavenomoney.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/csharp.ihavenomoney.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/csharp.ihavenomoney.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}