﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-我住包子山-随笔分类-Practise</title><link>http://www.cppblog.com/gohan/category/937.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 23 May 2008 00:16:51 GMT</lastBuildDate><pubDate>Fri, 23 May 2008 00:16:51 GMT</pubDate><ttl>60</ttl><item><title>Win32命令行应用，ReadConsoleInput()得到键盘VK_CODE</title><link>http://www.cppblog.com/gohan/archive/2008/05/23/50817.html</link><dc:creator>Gohan</dc:creator><author>Gohan</author><pubDate>Thu, 22 May 2008 16:08:00 GMT</pubDate><guid>http://www.cppblog.com/gohan/archive/2008/05/23/50817.html</guid><wfw:comment>http://www.cppblog.com/gohan/comments/50817.html</wfw:comment><comments>http://www.cppblog.com/gohan/archive/2008/05/23/50817.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/gohan/comments/commentRss/50817.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/gohan/services/trackbacks/50817.html</trackback:ping><description><![CDATA[<p><img style="border: 0px none ;" alt="image" src="http://www.cppblog.com/images/cppblog_com/gohan/WindowsLiveWriter/ea02b9b086ac_14D84/image_ac262c63-9d15-4cce-9682-be9aa7bb922f.png" align="right" border="0" height="212" width="269"></p>
<p>&nbsp;&nbsp;&nbsp; ReadConsoleInput是一个Win32 API，&nbsp; 声明如下：</p>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 54%; cursor: text; max-height: 200px; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; height: 142px; background-color: #f4f4f4;">
<div style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">BOOL ReadConsoleInput(</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">  HANDLE hConsoleInput, <span style="color: #008000;">//输入句柄</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">  PINPUT_RECORD lpBuffer, <span style="color: #008000;">//指向INPUT_RECORD结构体(数组)的指针</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">  DWORD nLength, <span style="color: #008000;">//上面那个结构体的大小</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">  LPDWORD lpNumberOfEventsRead <span style="color: #008000;">//实际读入输入内容的个数</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">);</pre>
</div>
</div>
<p>&nbsp;&nbsp;&nbsp; 我把读入的功能写在这个助手类中，ReadConsoleInput的得到VK_CODE的方法可以看ReadKeyDown和ReadKeyPush两个函数，它们的效果略有点不同。右图是效果截图，按ESC跳出循环。助手类以后还可以添加颜色控制位置控制等功能，只要你想，目的就是为了简化API调用。</p>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<div style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #cc6633;">#pragma</span> once</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">#include &lt;Windows.h&gt;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #0000ff;">class</span> GohanConsoleHelper</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">{</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    HANDLE _hIn;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">    HANDLE _hOut;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    INPUT_RECORD _InRec;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">    DWORD _NumRead;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #0000ff;">public</span>:</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">    WORD VKey;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    GohanConsoleHelper(<span style="color: #0000ff;">void</span>){</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        _hIn = GetStdHandle(STD_INPUT_HANDLE);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">        _hOut = GetStdHandle(STD_OUTPUT_HANDLE);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        VKey=0;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">    <span style="color: #0000ff;">bool</span> ReadOneInput()</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        <span style="color: #0000ff;">return</span> 0!=ReadConsoleInput(_hIn,&amp;_InRec,1,&amp;_NumRead);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">    <span style="color: #0000ff;">bool</span> ReadOneInput(INPUT_RECORD&amp; InRec)</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        <span style="color: #0000ff;">return</span> 0!=ReadConsoleInput(_hIn,&amp;InRec,1,&amp;_NumRead);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">    DWORD ReadKeyDown()</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        <span style="color: #0000ff;">if</span>(!ReadConsoleInput(_hIn,&amp;_InRec,1,&amp;_NumRead))</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">            <span style="color: #0000ff;">return</span> 0;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        <span style="color: #0000ff;">if</span>(_InRec.EventType!=KEY_EVENT)</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">            <span style="color: #0000ff;">return</span> 0;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        <span style="color: #0000ff;">if</span>(_InRec.Event.KeyEvent.bKeyDown &gt; 0)</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">            <span style="color: #0000ff;">return</span> 0;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        VKey = _InRec.Event.KeyEvent.wVirtualKeyCode;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">        <span style="color: #0000ff;">return</span> VKey;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">    }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    DWORD ReadKeyPush()</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">    {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">        <span style="color: #0000ff;">if</span>(!ReadConsoleInput(_hIn,&amp;_InRec,1,&amp;_NumRead))</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">            <span style="color: #0000ff;">return</span> 0;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">        <span style="color: #0000ff;">if</span>(_InRec.EventType!=KEY_EVENT)</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">            <span style="color: #0000ff;">return</span> 0;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">        <span style="color: #0000ff;">if</span>(_InRec.Event.KeyEvent.bKeyDown == 0)</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">            <span style="color: #0000ff;">return</span> 0;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">        VKey = _InRec.Event.KeyEvent.wVirtualKeyCode;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        <span style="color: #0000ff;">return</span> VKey;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #0000ff;">public</span>:</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    ~GohanConsoleHelper(<span style="color: #0000ff;">void</span>){}</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">};</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">&nbsp;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">&nbsp;</pre>
</div>
</div>
<p>&nbsp;</p>
<p>main所在文件内容</p>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<div style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">#include &lt;windows.h&gt;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">#include &lt;iostream&gt;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">#include <span style="color: #006080;">"GohanConsoleHelper.h"</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"><span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;"><span style="color: #0000ff;">int</span> main()</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">{</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    GohanConsoleHelper gch;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">    <span style="color: #0000ff;">while</span> (<span style="color: #0000ff;">true</span>)</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        <span style="color: #0000ff;">if</span>(gch.ReadKeyPush()!=0) <span style="color: #008000;">//使用ReadKeyDown()捕获按键弹起的VK_CODE</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">        {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">            <span style="color: #0000ff;">if</span>(gch.VKey != VK_ESCAPE)</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">                cout&lt;&lt;<span style="color: #006080;">"VK_CODE == "</span>&lt;&lt;gch.VKey&lt;&lt;endl;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">            <span style="color: #0000ff;">else</span> {</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">                cout&lt;&lt;<span style="color: #006080;">"Bye~~"</span>&lt;&lt;endl;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">                <span style="color: #0000ff;">break</span>;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">            }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">        }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">    }</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">    <span style="color: #0000ff;">return</span> 0;</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">}</pre>
</div>
</div>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 在命令行得到VK_CODE可以干许多事情了，可以写个在Win32命令行下的小游戏，俄罗斯方块啊什么的，呵呵，不过画面稍微好点的就搞不了了，因为毕竟win32命令行分辨率太低了。</p><img src ="http://www.cppblog.com/gohan/aggbug/50817.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/gohan/" target="_blank">Gohan</a> 2008-05-23 00:08 <a href="http://www.cppblog.com/gohan/archive/2008/05/23/50817.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>获取给定路径的图标，演示SHGetFileInfo用法</title><link>http://www.cppblog.com/gohan/archive/2008/05/02/48617.html</link><dc:creator>Gohan</dc:creator><author>Gohan</author><pubDate>Thu, 01 May 2008 20:54:00 GMT</pubDate><guid>http://www.cppblog.com/gohan/archive/2008/05/02/48617.html</guid><wfw:comment>http://www.cppblog.com/gohan/comments/48617.html</wfw:comment><comments>http://www.cppblog.com/gohan/archive/2008/05/02/48617.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/gohan/comments/commentRss/48617.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/gohan/services/trackbacks/48617.html</trackback:ping><description><![CDATA[<div class="code" style="font-size: 9pt; font-family: consolas"><span style="color: #008000"><font color="#000000">基于上次那个</font><a href="http://www.cppblog.com/gohan/archive/2008/04/24/47993.html" target="_blank"><font color="#000000">SHBrowseForFolder用法的演示代码</font></a></span></div> <div class="code" style="font-size: 9pt; font-family: consolas"><span style="color: #008000"><font color="#000000">建立的仍然是Win32 命令行的工程，所以入口点为main(),需要手动获取HINSTANCE结构。程序在WINXP+VS2005测试通过</font><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="145" alt="image" src="http://www.cppblog.com/images/cppblog_com/gohan/WindowsLiveWriter/SHGetFileInfo_3B22/image_3.png" width="199" align="right" border="0"></span></div> <div class="code" style="font-size: 9pt; font-family: consolas"><span style="color: #008000">/********************************************************************<br>&nbsp; created:&nbsp; 2008/05/02<br>&nbsp; created:&nbsp; 2:5:2008&nbsp;&nbsp; 3:40</span></div> <div class="code" style="font-size: 9pt; font-family: consolas"><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; main.cpp<br>&nbsp; author:&nbsp;&nbsp;&nbsp; Gohan <br>&nbsp; purpose:&nbsp; 演示SHBrowseForFolder用法<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 演示SHGetFileInfo获取路径图标&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 演示Picture Box在SDK里的使用方法</span></div> <div class="code" style="font-size: 9pt; font-family: consolas"><span style="color: #008000">*********************************************************************/<br></span><span style="color: #0000ff">#include</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">&lt;Windows.h&gt;<br></span><span style="color: #0000ff">#include</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">&lt;ShlObj.h&gt;<br></span><span style="color: #0000ff">#include</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"resource.h"<br></span><span style="color: #000000">HICON</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">g_icon</span><span style="color: #000000">; <br></span><span style="color: #000000">RECT</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">g_rect</span><span style="color: #000000">;<br></span><span style="color: #000000">TCHAR</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">g_path</span><span style="color: #000000">[</span><span style="color: #000000">MAX_PATH</span><span style="color: #000000">];<br></span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">OnInitDlg</span><span style="color: #000000">(</span><span style="color: #000000">HWND</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">hwnd</span><span style="color: #000000">)<br>{<br>&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">GetWindowRect</span><span style="color: #000000">(</span><span style="color: #000000">GetDlgItem</span><span style="color: #000000">(</span><span style="color: #000000">hwnd</span><span style="color: #000000">, </span><span style="color: #000000">IDC_ICON1</span><span style="color: #000000">), &amp;</span><span style="color: #000000">g_rect</span><span style="color: #000000">);<br>&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">MapWindowPoints</span><span style="color: #000000">(</span><span style="color: #000000">NULL</span><span style="color: #000000">, </span><span style="color: #000000">hwnd</span><span style="color: #000000">, (</span><span style="color: #000000">LPPOINT</span><span style="color: #000000">) &amp;</span><span style="color: #000000">g_rect</span><span style="color: #000000">, 2);<br>&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">DestroyWindow</span><span style="color: #000000">(</span><span style="color: #000000">GetDlgItem</span><span style="color: #000000">(</span><span style="color: #000000">hwnd</span><span style="color: #000000">, </span><span style="color: #000000">IDC_ICON1</span><span style="color: #000000">));<br>&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">SetDlgItemText</span><span style="color: #000000">(</span><span style="color: #000000">hwnd</span><span style="color: #000000">,</span><span style="color: #000000">IDC_PATH</span><span style="color: #000000">,</span><span style="color: #000000">g_path</span><span style="color: #000000">);<br>}<br></span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">OnPaint</span><span style="color: #000000">(</span><span style="color: #000000">HWND</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">hwnd</span><span style="color: #000000">)<br>{<br>&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">PAINTSTRUCT</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">ps</span><span style="color: #000000">;<br>&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">HDC</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">hdc</span><span style="color: #000000"> = </span><span style="color: #000000">BeginPaint</span><span style="color: #000000">(</span><span style="color: #000000">hwnd</span><span style="color: #000000">, &amp;</span><span style="color: #000000">ps</span><span style="color: #000000">);<br>&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">DrawIcon</span><span style="color: #000000">(</span><span style="color: #000000">hdc</span><span style="color: #000000">,</span><span style="color: #000000">g_rect</span><span style="color: #000000">.</span><span style="color: #000000">left</span><span style="color: #000000">,</span><span style="color: #000000">g_rect</span><span style="color: #000000">.</span><span style="color: #000000">left</span><span style="color: #000000">,</span><span style="color: #000000">g_icon</span><span style="color: #000000">);<br>&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">EndPaint</span><span style="color: #000000">(</span><span style="color: #000000">hwnd</span><span style="color: #000000">,&amp;</span><span style="color: #000000">ps</span><span style="color: #000000">);<br>}<br></span><span style="color: #000000">BOOL</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">CALLBACK</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">DlgProc</span><span style="color: #000000"> (</span><span style="color: #000000">HWND</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">hDlg</span><span style="color: #000000">, </span><span style="color: #000000">UINT</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">message</span><span style="color: #000000">, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">WPARAM</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">wParam</span><span style="color: #000000">, </span><span style="color: #000000">LPARAM</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">lParam</span><span style="color: #000000">)<br>{<br>&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">switch</span><span style="color: #000000"> (</span><span style="color: #000000">message</span><span style="color: #000000">)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">case</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">WM_INITDIALOG</span><span style="color: #000000"> :<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">OnInitDlg</span><span style="color: #000000">(</span><span style="color: #000000">hDlg</span><span style="color: #000000">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">TRUE</span><span style="color: #000000"> ;<br>&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">case</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">WM_PAINT</span><span style="color: #000000">:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">OnPaint</span><span style="color: #000000">(</span><span style="color: #000000">hDlg</span><span style="color: #000000">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">TRUE</span><span style="color: #000000">;<br>&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">case</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">WM_COMMAND</span><span style="color: #000000"> :<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">switch</span><span style="color: #000000"> (</span><span style="color: #000000">LOWORD</span><span style="color: #000000"> (</span><span style="color: #000000">wParam</span><span style="color: #000000">))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">case</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">IDOK</span><span style="color: #000000"> :<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">case</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">IDCANCEL</span><span style="color: #000000"> :<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">EndDialog</span><span style="color: #000000"> (</span><span style="color: #000000">hDlg</span><span style="color: #000000">, 0) ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">TRUE</span><span style="color: #000000"> ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">break</span><span style="color: #000000"> ;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">FALSE</span><span style="color: #000000"> ;<br>}<br></span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">main</span><span style="color: #000000">()<br>{<br>&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">HINSTANCE</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">hInstance</span><span style="color: #000000"> = (</span><span style="color: #000000">HINSTANCE</span><span style="color: #000000">)</span><span style="color: #000000">GetModuleHandle</span><span style="color: #000000">(</span><span style="color: #000000">NULL</span><span style="color: #000000">);<br>&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">BROWSEINFO</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">bi</span><span style="color: #000000">;<br>&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">ZeroMemory</span><span style="color: #000000">(&amp;</span><span style="color: #000000">bi</span><span style="color: #000000">,</span><span style="color: #0000ff">sizeof</span><span style="color: #000000">(</span><span style="color: #000000">BROWSEINFO</span><span style="color: #000000">));<br>&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">LPMALLOC</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">pMalloc</span><span style="color: #000000">;<br>&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">LPITEMIDLIST</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">pidl</span><span style="color: #000000"> = </span><span style="color: #000000">SHBrowseForFolder</span><span style="color: #000000">(&amp;</span><span style="color: #000000">bi</span><span style="color: #000000">);<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">if</span><span style="color: #000000">(</span><span style="color: #000000">pidl</span><span style="color: #000000"> != </span><span style="color: #000000">NULL</span><span style="color: #000000">)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">SHGetPathFromIDList</span><span style="color: #000000">(</span><span style="color: #000000">pidl</span><span style="color: #000000">,</span><span style="color: #000000">g_path</span><span style="color: #000000">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">SHFILEINFO</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">sfi</span><span style="color: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">ZeroMemory</span><span style="color: #000000">(&amp;</span><span style="color: #000000">sfi</span><span style="color: #000000">,</span><span style="color: #0000ff">sizeof</span><span style="color: #000000">(</span><span style="color: #000000">SHFILEINFO</span><span style="color: #000000">));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">SHGetFileInfo</span><span style="color: #000000">(</span><span style="color: #000000">g_path</span><span style="color: #000000">,0,&amp;</span><span style="color: #000000">sfi</span><span style="color: #000000">,</span><span style="color: #0000ff">sizeof</span><span style="color: #000000">(</span><span style="color: #000000">SHFILEINFO</span><span style="color: #000000">),</span><span style="color: #000000">SHGFI_ICON</span><span style="color: #000000">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">g_icon</span><span style="color: #000000"> = </span><span style="color: #000000">sfi</span><span style="color: #000000">.</span><span style="color: #000000">hIcon</span><span style="color: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">DialogBox</span><span style="color: #000000"> (</span><span style="color: #000000">hInstance</span><span style="color: #000000">, </span><span style="color: #000000">MAKEINTRESOURCE</span><span style="color: #000000">(</span><span style="color: #000000">IDD_DIALOG1</span><span style="color: #000000">), 0, </span><span style="color: #000000">DlgProc</span><span style="color: #000000">) ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #008000">//MessageBox(NULL,path,TEXT("Choose"),MB_OK);<br></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">if</span><span style="color: #000000">(</span><span style="color: #000000">SUCCEEDED</span><span style="color: #000000">(</span><span style="color: #000000">SHGetMalloc</span><span style="color: #000000">(&amp;</span><span style="color: #000000">pMalloc</span><span style="color: #000000">)))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">pMalloc</span><span style="color: #000000">-&gt;</span><span style="color: #000000">Free</span><span style="color: #000000">(</span><span style="color: #000000">pidl</span><span style="color: #000000">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">pMalloc</span><span style="color: #000000">-&gt;</span><span style="color: #000000">Release</span><span style="color: #000000">();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">else<br></span><span style="color: #000000">&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">MessageBox</span><span style="color: #000000">(</span><span style="color: #000000">NULL</span><span style="color: #000000">,</span><span style="color: #000000">TEXT</span><span style="color: #000000">(</span><span style="color: #800000">"</span><span style="color: #000000">),</span><span style="color: #000000">TEXT</span><span style="color: #000000">(</span><span style="color: #800000">"Choose"</span><span style="color: #000000">),</span><span style="color: #000000">MB_OK</span><span style="color: #000000">);<br>&nbsp;&nbsp;&nbsp; }<br>}<br><span style="color: #008000">/************************************************************************/<br>/* resource.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br>/************************************************************************/<br></span><span style="color: #0000ff">#define</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">IDD_DIALOG1</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 101<br></span><span style="color: #0000ff">#define</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">IDC_PATH</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1001<br></span><span style="color: #0000ff">#define</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">IDC_ICON1</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1002<br></span><span style="color: #008000">/************************************************************************/<br>/* demo.rc Microsoft Visual C++ generated resource script.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br>/************************************************************************/<br></span><span style="color: #0000ff">#include</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"resource.h"<br></span><span style="color: #0000ff">#include</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"afxres.h"<br></span><span style="color: #008000">/////////////////////////////////////////////////////////////////////////////<br>//<br>// Dialog<br>//<br><br></span><span style="color: #000000">IDD_DIALOG1</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">DIALOGEX</span><span style="color: #000000"> 0, 0, 126, 83<br></span><span style="color: #000000">STYLE</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">DS_SETFONT</span><span style="color: #000000"> | </span><span style="color: #000000">DS_MODALFRAME</span><span style="color: #000000"> | </span><span style="color: #000000">DS_FIXEDSYS</span><span style="color: #000000"> | </span><span style="color: #000000">DS_CENTER</span><span style="color: #000000"> | </span><span style="color: #000000">WS_POPUP<br>FONT</span><span style="color: #000000"> 8, </span><span style="color: #800000">"MS Shell Dlg"</span><span style="color: #000000">, 400, 0, 0x1<br></span><span style="color: #000000">BEGIN<br></span><span style="color: #000000">&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">DEFPUSHBUTTON</span><span style="color: #000000">&nbsp;&nbsp; </span><span style="color: #800000">"确定"</span><span style="color: #000000">,</span><span style="color: #000000">IDOK</span><span style="color: #000000">,69,7,50,14<br>&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">PUSHBUTTON</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #800000">"取消"</span><span style="color: #000000">,</span><span style="color: #000000">IDCANCEL</span><span style="color: #000000">,69,24,50,14<br>&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">CONTROL</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #800000">""</span><span style="color: #000000">,</span><span style="color: #000000">IDC_ICON1</span><span style="color: #000000">,</span><span style="color: #800000">"Static"</span><span style="color: #000000">,</span><span style="color: #000000">SS_WHITEFRAME</span><span style="color: #000000"> | </span><span style="color: #000000">SS_REALSIZEIMAGE</span><span style="color: #000000">,13,10,20,20,</span><span style="color: #000000">WS_EX_TRANSPARENT<br></span><span style="color: #000000">&nbsp;&nbsp;&nbsp; </span><span style="color: #000000">LTEXT</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #800000">"静态"</span><span style="color: #000000">,</span><span style="color: #000000">IDC_PATH</span><span style="color: #000000">,14,44,89,21,0,</span><span style="color: #000000">WS_EX_CLIENTEDGE<br>END<br><br><br></span><span style="color: #008000">/////////////////////////////////////////////////////////////////////////////<br></span></div><img src ="http://www.cppblog.com/gohan/aggbug/48617.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/gohan/" target="_blank">Gohan</a> 2008-05-02 04:54 <a href="http://www.cppblog.com/gohan/archive/2008/05/02/48617.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于Up/Down控件（spin control）使用方法的一点小心得</title><link>http://www.cppblog.com/gohan/archive/2008/02/06/42558.html</link><dc:creator>Gohan</dc:creator><author>Gohan</author><pubDate>Tue, 05 Feb 2008 18:14:00 GMT</pubDate><guid>http://www.cppblog.com/gohan/archive/2008/02/06/42558.html</guid><wfw:comment>http://www.cppblog.com/gohan/comments/42558.html</wfw:comment><comments>http://www.cppblog.com/gohan/archive/2008/02/06/42558.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/gohan/comments/commentRss/42558.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/gohan/services/trackbacks/42558.html</trackback:ping><description><![CDATA[<table cellspacing="0" cellpadding="2" width="768" border="0"> <tbody> <tr> <td valign="top" width="10"><a href="http://www.cppblog.com/images/cppblog_com/gohan/WindowsLiveWriter/UpDownspincontrol_1F69/image_4.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="175" alt="image" src="http://www.cppblog.com/images/cppblog_com/gohan/WindowsLiveWriter/UpDownspincontrol_1F69/image_thumb_1.png" width="244" border="0"></a>&nbsp;</td> <td valign="top" width="505">&nbsp; 学用纯SDK写win32程序，资料有一个<a href="http://www.douban.com/subject/1456779/" target="_blank">英文版Windows Programming</a>电子书，以及MSDN，用到了Up/Down控件让用户输入数据，同时也提供了Edit box.两者的同步是否会有问题呢？<br>&nbsp; 尝试了半天，终于有了点结果：<br>1、初始化控件，对控件句柄发送<a href="http://msdn2.microsoft.com/en-us/library/bb759968(VS.85).aspx" target="_blank">UDM_SETRANGE32</a>消息，进行范围的初始话。<a href="http://msdn2.microsoft.com/en-us/library/bb759958(VS.85).aspx" target="_blank">UDM_SETPOS32</a>消息设置初值。<br>&nbsp;&nbsp;&nbsp; </td> <td valign="top" width="250"><a href="http://www.cppblog.com/images/cppblog_com/gohan/WindowsLiveWriter/UpDownspincontrol_1F69/image_2.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="145" alt="image" src="http://www.cppblog.com/images/cppblog_com/gohan/WindowsLiveWriter/UpDownspincontrol_1F69/image_thumb.png" width="244" border="0"></a><br> </td></tr></tbody></table> <table cellspacing="0" cellpadding="2" width="770" border="0"> <tbody> <tr> <td valign="top" width="770">2、关联Edit Box 控件，这个我弄了半天才明白，首先要在资源编辑中的对话框编辑界面，设定Tab控件的顺序（格式-&gt;Tab键顺序）。<font color="#ff0000">将Edit Box的序号设置成Up/Down控件序号减一，设定Up/Down的属性Auto Buddy为True，Set Buddy Integer为true。<br></font><font color="#000000">3、现在已经能够正常的使用Up/Down功能了。<br>&nbsp; <font color="#ff0000">可是如果不想用控件关联</font>，而是自己设定逻辑怎么办呢？几个小时之前我不会关联的方法，想要努力实现手动维护Edit box的功能。最后终于有了些教训，得到了点心得：<br>&nbsp; 在Up/Down的父窗口（一般是对话框）的消息处理函数中，对<a href="http://msdn2.microsoft.com/en-us/library/ms912690.aspx" target="_blank">WM_VSCROLL</a>消息做一个处理，<font color="#000000">当lParam与Up/Down的窗口句柄相等时，对Up/Down的操作结束</font> ，其中wParam中的高位部分是Up/Down的值，用这个值来更新Edit Box。<br>WM_VSCROLL nScrollCode = (int)LOWORD(wParam); <br>&nbsp; nPos = (short int)HIWORD(wParam); <br>&nbsp; hwndScrollBar = (HWND) lParam;<br><br>&nbsp; 今天我的教训是使用了<a href="http://msdn2.microsoft.com/en-us/library/bb775583%28VS.85%29.aspx" target="_blank">WM_NOTIFY</a>的消息，处理<a href="http://msdn2.microsoft.com/en-us/library/bb759903(VS.85).aspx" target="_blank">UDN_DELTAPOS</a>的通知，lParam是一个结构：<a href="http://msdn2.microsoft.com/en-us/library/bb759893%28VS.85%29.aspx" target="_blank">NMUPDOWN</a>，通过这个结构来更新Edit box，因为这个通知不等操作结束就已经发出，并且这个结构体中有当时的位置以及变化量，更新时候还需要将当时位置加上变化量。这样的更新就会出现一定的问题，有时候pos已经到了设定好的范围边界，pos加上变化量就会超出边界，还要继续判断，效率等等问题就出现了，而且十分麻烦。所以最好使用关联的方法，如果有特殊要求就用<font color="#000000"><a href="http://msdn2.microsoft.com/en-us/library/ms912690.aspx" target="_blank">WM_VSCROLL</a>响应，<font color="#ff0000">千万不要使用</font><a href="http://msdn2.microsoft.com/en-us/library/bb759903(VS.85).aspx" target="_blank"><font color="#ff0000">UDN_DELTAPOS</font></a><font color="#ff0000">，白花功夫</font>，呵呵。就写到这里.<br> <h4><strong><font color="#004080">今天是除夕了，祝所有程序员朋友新春快乐！！</font></strong></h4></font></font></td></tr></tbody></table><img src ="http://www.cppblog.com/gohan/aggbug/42558.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/gohan/" target="_blank">Gohan</a> 2008-02-06 02:14 <a href="http://www.cppblog.com/gohan/archive/2008/02/06/42558.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>dd的DP题目出的真的不错</title><link>http://www.cppblog.com/gohan/archive/2007/11/09/36261.html</link><dc:creator>Gohan</dc:creator><author>Gohan</author><pubDate>Fri, 09 Nov 2007 14:48:00 GMT</pubDate><guid>http://www.cppblog.com/gohan/archive/2007/11/09/36261.html</guid><wfw:comment>http://www.cppblog.com/gohan/comments/36261.html</wfw:comment><comments>http://www.cppblog.com/gohan/archive/2007/11/09/36261.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/gohan/comments/commentRss/36261.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/gohan/services/trackbacks/36261.html</trackback:ping><description><![CDATA[晚上看到题目,只有第一道取石子博弈有思路,写的程序能过8/10,剩下两个因为误用STL中的binary_search()导致19999,20000两个数据WA,<br>binary_search()遇到查询值超出有序数组范围的情况好像会返回true,真的不应该偷懒乱用,一个教训<br>剩下的好好学吧 
<img src ="http://www.cppblog.com/gohan/aggbug/36261.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/gohan/" target="_blank">Gohan</a> 2007-11-09 22:48 <a href="http://www.cppblog.com/gohan/archive/2007/11/09/36261.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>fontpipeline</title><link>http://www.cppblog.com/gohan/archive/2007/08/26/30874.html</link><dc:creator>Gohan</dc:creator><author>Gohan</author><pubDate>Sun, 26 Aug 2007 12:27:00 GMT</pubDate><guid>http://www.cppblog.com/gohan/archive/2007/08/26/30874.html</guid><wfw:comment>http://www.cppblog.com/gohan/comments/30874.html</wfw:comment><comments>http://www.cppblog.com/gohan/archive/2007/08/26/30874.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/gohan/comments/commentRss/30874.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/gohan/services/trackbacks/30874.html</trackback:ping><description><![CDATA[<p>haha, I just finished up my pong game and I ran into same problem (I hope the XNA team does work on making fonts better).</p>
<p>&nbsp;If you load up the Sample Font's project and then select the \Content\TrueTypeFont.xml file and look at it's properties, you'll see the Content Importer and Content Processor's set.&nbsp;&nbsp;&nbsp; In your project, you'll need to do the following:</p>
<ol>
    <li>Right click on your project and select properties.
    <li>Select the Content Pipeline
    <li>Select Add
    <li>Browse to your FontPipeline\bin\debug folder (or wherever you have the fontpipeline compiled)
    <li>Select Open on the FontPipeline.dll.</li>
</ol>
<p>Then on the properties of the TrueTypeFont.xml file in your project</p>
<ol>
    <li>Set the <strong>XNA Framework Content</strong> to <strong>True</strong>.
    <li>Set the <strong>Content Importer</strong> to <strong>XML Content - XNA Framework</strong>.
    <li>Set the <strong>Content Processor</strong> to <strong>TrueTypeFontProcessor</strong>.</li>
</ol>
<p>I did this by memory so just let me know if that doesn't do the trick and I'll dig through my project.</p>
<p>HTHs!</p>
<a href="http://forums.xna.com/thread/4778.aspx">http://forums.xna.com/thread/4778.aspx</a><br><br>关于XML格式的<strong>TrueTypeFont的疑问就这么解决了</strong>
<img src ="http://www.cppblog.com/gohan/aggbug/30874.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/gohan/" target="_blank">Gohan</a> 2007-08-26 20:27 <a href="http://www.cppblog.com/gohan/archive/2007/08/26/30874.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>zju1942解题报告</title><link>http://www.cppblog.com/gohan/archive/2007/07/28/28907.html</link><dc:creator>Gohan</dc:creator><author>Gohan</author><pubDate>Sat, 28 Jul 2007 13:04:00 GMT</pubDate><guid>http://www.cppblog.com/gohan/archive/2007/07/28/28907.html</guid><wfw:comment>http://www.cppblog.com/gohan/comments/28907.html</wfw:comment><comments>http://www.cppblog.com/gohan/archive/2007/07/28/28907.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/gohan/comments/commentRss/28907.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/gohan/services/trackbacks/28907.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这道题我用了Kruscal+并查集算的之前并查集用的不对,所以一直WA并查集代码来自我的那本写数据结构与算法分析c++版 knuth的徒孙的网站#include&nbsp;&lt;cstdio&gt;#include&nbsp;&lt;vector&gt;#include&nbsp;&lt;cmath&gt;#include&nbsp;&lt;algorithm&gt;using&nbsp;n...&nbsp;&nbsp;<a href='http://www.cppblog.com/gohan/archive/2007/07/28/28907.html'>阅读全文</a><img src ="http://www.cppblog.com/gohan/aggbug/28907.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/gohan/" target="_blank">Gohan</a> 2007-07-28 21:04 <a href="http://www.cppblog.com/gohan/archive/2007/07/28/28907.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>pku3297解题报告</title><link>http://www.cppblog.com/gohan/archive/2007/07/28/28898.html</link><dc:creator>Gohan</dc:creator><author>Gohan</author><pubDate>Sat, 28 Jul 2007 08:37:00 GMT</pubDate><guid>http://www.cppblog.com/gohan/archive/2007/07/28/28898.html</guid><wfw:comment>http://www.cppblog.com/gohan/comments/28898.html</wfw:comment><comments>http://www.cppblog.com/gohan/archive/2007/07/28/28898.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/gohan/comments/commentRss/28898.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/gohan/services/trackbacks/28898.html</trackback:ping><description><![CDATA[<p>这道题我用的方法很麻烦,使用一个结构体vector保存结果,使用一个map判断是不是一个人报了两个工程.使用set判断一个工程是不是有人重复报名<br>于是就有了下面的笨拙代码<br><br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">&nbsp;1</span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;2</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">set</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;3</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">vector</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">memory.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">map</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">algorithm</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;std;<br></span><span style="COLOR: #008080">&nbsp;8</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;9</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">struct</span><span style="COLOR: #000000">&nbsp;Project<br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img id=Codehighlighter1_144_260_Open_Image onclick="this.style.display='none'; Codehighlighter1_144_260_Open_Text.style.display='none'; Codehighlighter1_144_260_Closed_Image.style.display='inline'; Codehighlighter1_144_260_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_144_260_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_144_260_Closed_Text.style.display='none'; Codehighlighter1_144_260_Open_Image.style.display='inline'; Codehighlighter1_144_260_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_144_260_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_144_260_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;name;<br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;studentcount;<br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Project()<br></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img id=Codehighlighter1_203_258_Open_Image onclick="this.style.display='none'; Codehighlighter1_203_258_Open_Text.style.display='none'; Codehighlighter1_203_258_Closed_Image.style.display='inline'; Codehighlighter1_203_258_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_203_258_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_203_258_Closed_Text.style.display='none'; Codehighlighter1_203_258_Open_Image.style.display='inline'; Codehighlighter1_203_258_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_203_258_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_203_258_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;studentcount</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name.assign(</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">17</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">19</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">20</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>map</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;studentmap;<br></span><span style="COLOR: #008080">21</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">set</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;studentset;<br></span><span style="COLOR: #008080">22</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>vector</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">Project</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;prov;<br></span><span style="COLOR: #008080">23</span><span style="COLOR: #000000"><img id=Codehighlighter1_358_360_Open_Image onclick="this.style.display='none'; Codehighlighter1_358_360_Open_Text.style.display='none'; Codehighlighter1_358_360_Closed_Image.style.display='inline'; Codehighlighter1_358_360_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_358_360_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_358_360_Closed_Text.style.display='none'; Codehighlighter1_358_360_Open_Image.style.display='inline'; Codehighlighter1_358_360_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;countarray[</span><span style="COLOR: #000000">101</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span id=Codehighlighter1_358_360_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_358_360_Open_Text><span style="COLOR: #000000">{</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">24</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;strtemp[</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">25</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>Project&nbsp;project;<br></span><span style="COLOR: #008080">26</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">27</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>inline&nbsp;</span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000">&nbsp;comp(</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;Project&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">p1,</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;Project&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">p2)<br></span><span style="COLOR: #008080">28</span><span style="COLOR: #000000"><img id=Codehighlighter1_457_503_Open_Image onclick="this.style.display='none'; Codehighlighter1_457_503_Open_Text.style.display='none'; Codehighlighter1_457_503_Closed_Image.style.display='inline'; Codehighlighter1_457_503_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_457_503_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_457_503_Closed_Text.style.display='none'; Codehighlighter1_457_503_Open_Image.style.display='inline'; Codehighlighter1_457_503_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_457_503_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_457_503_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">29</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;p1.studentcount</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">p2.studentcount;<br></span><span style="COLOR: #008080">30</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">31</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>inline&nbsp;</span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000">&nbsp;comp2(</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;Project&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">p1,</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;Project&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">p2)<br></span><span style="COLOR: #008080">32</span><span style="COLOR: #000000"><img id=Codehighlighter1_560_601_Open_Image onclick="this.style.display='none'; Codehighlighter1_560_601_Open_Text.style.display='none'; Codehighlighter1_560_601_Closed_Image.style.display='inline'; Codehighlighter1_560_601_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_560_601_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_560_601_Closed_Text.style.display='none'; Codehighlighter1_560_601_Open_Image.style.display='inline'; Codehighlighter1_560_601_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_560_601_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_560_601_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">33</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;p1.name.compare(p2.name)</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">34</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">35</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">36</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()<br></span><span style="COLOR: #008080">37</span><span style="COLOR: #000000"><img id=Codehighlighter1_615_2293_Open_Image onclick="this.style.display='none'; Codehighlighter1_615_2293_Open_Text.style.display='none'; Codehighlighter1_615_2293_Closed_Image.style.display='inline'; Codehighlighter1_615_2293_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_615_2293_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_615_2293_Closed_Text.style.display='none'; Codehighlighter1_615_2293_Open_Image.style.display='inline'; Codehighlighter1_615_2293_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_615_2293_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_615_2293_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">38</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">39</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">40</span><span style="COLOR: #000000"><img id=Codehighlighter1_642_2291_Open_Image onclick="this.style.display='none'; Codehighlighter1_642_2291_Open_Text.style.display='none'; Codehighlighter1_642_2291_Closed_Image.style.display='inline'; Codehighlighter1_642_2291_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_642_2291_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_642_2291_Closed_Text.style.display='none'; Codehighlighter1_642_2291_Open_Image.style.display='inline'; Codehighlighter1_642_2291_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_642_2291_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_642_2291_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">41</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;projcount</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">42</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prov.push_back(project);<br></span><span style="COLOR: #008080">43</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">44</span><span style="COLOR: #000000"><img id=Codehighlighter1_730_1907_Open_Image onclick="this.style.display='none'; Codehighlighter1_730_1907_Open_Text.style.display='none'; Codehighlighter1_730_1907_Closed_Image.style.display='inline'; Codehighlighter1_730_1907_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_730_1907_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_730_1907_Closed_Text.style.display='none'; Codehighlighter1_730_1907_Open_Image.style.display='inline'; Codehighlighter1_730_1907_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_730_1907_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_730_1907_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">45</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gets(strtemp);<br></span><span style="COLOR: #008080">46</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;project.name.assign(strtemp);<br></span><span style="COLOR: #008080">47</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(project.name[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">48</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(project.name[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)exit(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">49</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(project.name[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">A</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">project.name[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">Z</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">50</span><span style="COLOR: #000000"><img id=Codehighlighter1_960_1080_Open_Image onclick="this.style.display='none'; Codehighlighter1_960_1080_Open_Text.style.display='none'; Codehighlighter1_960_1080_Closed_Image.style.display='inline'; Codehighlighter1_960_1080_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_960_1080_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_960_1080_Closed_Text.style.display='none'; Codehighlighter1_960_1080_Open_Image.style.display='inline'; Codehighlighter1_960_1080_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_960_1080_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_960_1080_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">51</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prov.push_back(project);<br></span><span style="COLOR: #008080">52</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;studentset.clear();<br></span><span style="COLOR: #008080">53</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;projcount</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">54</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">55</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(project.name[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">a</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">project.name[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">z</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">56</span><span style="COLOR: #000000"><img id=Codehighlighter1_1153_1873_Open_Image onclick="this.style.display='none'; Codehighlighter1_1153_1873_Open_Text.style.display='none'; Codehighlighter1_1153_1873_Closed_Image.style.display='inline'; Codehighlighter1_1153_1873_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1153_1873_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1153_1873_Closed_Text.style.display='none'; Codehighlighter1_1153_1873_Open_Image.style.display='inline'; Codehighlighter1_1153_1873_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1153_1873_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1153_1873_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">57</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(studentmap[strtemp]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">58</span><span style="COLOR: #000000"><img id=Codehighlighter1_1214_1283_Open_Image onclick="this.style.display='none'; Codehighlighter1_1214_1283_Open_Text.style.display='none'; Codehighlighter1_1214_1283_Closed_Image.style.display='inline'; Codehighlighter1_1214_1283_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1214_1283_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1214_1283_Closed_Text.style.display='none'; Codehighlighter1_1214_1283_Open_Image.style.display='inline'; Codehighlighter1_1214_1283_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1214_1283_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1214_1283_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">59</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;studentmap[strtemp]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">projcount;<br></span><span style="COLOR: #008080">60</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">61</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(studentmap[strtemp]</span><span style="COLOR: #000000">==-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">62</span><span style="COLOR: #000000"><img id=Codehighlighter1_1350_1398_Open_Image onclick="this.style.display='none'; Codehighlighter1_1350_1398_Open_Text.style.display='none'; Codehighlighter1_1350_1398_Closed_Image.style.display='inline'; Codehighlighter1_1350_1398_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1350_1398_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1350_1398_Closed_Text.style.display='none'; Codehighlighter1_1350_1398_Open_Image.style.display='inline'; Codehighlighter1_1350_1398_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1350_1398_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1350_1398_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">63</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">continue</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">64</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">65</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(studentmap[strtemp]</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">projcount)<br></span><span style="COLOR: #008080">66</span><span style="COLOR: #000000"><img id=Codehighlighter1_1472_1626_Open_Image onclick="this.style.display='none'; Codehighlighter1_1472_1626_Open_Text.style.display='none'; Codehighlighter1_1472_1626_Closed_Image.style.display='inline'; Codehighlighter1_1472_1626_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1472_1626_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1472_1626_Closed_Text.style.display='none'; Codehighlighter1_1472_1626_Open_Image.style.display='inline'; Codehighlighter1_1472_1626_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1472_1626_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1472_1626_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">67</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prov[studentmap[strtemp]].studentcount</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">68</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;studentmap[strtemp]</span><span style="COLOR: #000000">=-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">69</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">continue</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">70</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">71</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(studentset.count(strtemp))<br></span><span style="COLOR: #008080">72</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">continue</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">73</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">74</span><span style="COLOR: #000000"><img id=Codehighlighter1_1741_1859_Open_Image onclick="this.style.display='none'; Codehighlighter1_1741_1859_Open_Text.style.display='none'; Codehighlighter1_1741_1859_Closed_Image.style.display='inline'; Codehighlighter1_1741_1859_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1741_1859_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1741_1859_Closed_Text.style.display='none'; Codehighlighter1_1741_1859_Open_Image.style.display='inline'; Codehighlighter1_1741_1859_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1741_1859_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1741_1859_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">75</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;studentset.insert(strtemp);<br></span><span style="COLOR: #008080">76</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prov[projcount].studentcount</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">77</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">78</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">79</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">80</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prov.erase(prov.begin());<br></span><span style="COLOR: #008080">81</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stable_sort(prov.begin(),prov.end(),comp2);<br></span><span style="COLOR: #008080">82</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stable_sort(prov.begin(),prov.end(),comp);<br></span><span style="COLOR: #008080">83</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">prov.size();i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">84</span><span style="COLOR: #000000"><img id=Codehighlighter1_2093_2177_Open_Image onclick="this.style.display='none'; Codehighlighter1_2093_2177_Open_Text.style.display='none'; Codehighlighter1_2093_2177_Closed_Image.style.display='inline'; Codehighlighter1_2093_2177_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2093_2177_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2093_2177_Closed_Text.style.display='none'; Codehighlighter1_2093_2177_Open_Image.style.display='inline'; Codehighlighter1_2093_2177_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_2093_2177_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_2093_2177_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">85</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%s&nbsp;%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,prov[i].name.c_str(),prov[i].studentcount);<br></span><span style="COLOR: #008080">86</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">87</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset(countarray,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(countarray));<br></span><span style="COLOR: #008080">88</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;studentmap.clear();<br></span><span style="COLOR: #008080">89</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prov.clear();<br></span><span style="COLOR: #008080">90</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">91</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">92</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">93</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">94</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<img src ="http://www.cppblog.com/gohan/aggbug/28898.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/gohan/" target="_blank">Gohan</a> 2007-07-28 16:37 <a href="http://www.cppblog.com/gohan/archive/2007/07/28/28898.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>pku 3286解题报告</title><link>http://www.cppblog.com/gohan/archive/2007/07/25/pku3286.html</link><dc:creator>Gohan</dc:creator><author>Gohan</author><pubDate>Wed, 25 Jul 2007 00:20:00 GMT</pubDate><guid>http://www.cppblog.com/gohan/archive/2007/07/25/pku3286.html</guid><wfw:comment>http://www.cppblog.com/gohan/comments/28736.html</wfw:comment><comments>http://www.cppblog.com/gohan/archive/2007/07/25/pku3286.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/gohan/comments/commentRss/28736.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/gohan/services/trackbacks/28736.html</trackback:ping><description><![CDATA[<p>我的做法可能很弱智<br>给定一个数x&gt;0算通过每一位零出现次数的统计,算出所有的0的次数(从1到X)<br><br>举一个例子<br>2508这个数<br>首先考虑个位数<br>250X&nbsp; X=0;一共有250-1+1个<br>25X8&nbsp; X=0;一共有258-10+1个<br>2X08 X=0;注意并不只有208-100+1中可能,我之前就错在这里了,因为最大2508,所以2099-2009这百位的零我就没有考虑到,所以这里的0有299-100+1个<br><br>于是题目就做出来了<br><br>输入一个a b<br>a&lt;b<br>a==0时<br>b统计出零的个数然后加1(0)的个数<br>否则从a 到 b的0的个数则是从1到b的0个数减去从1到a-1的零的个数<br>a&lt;10的情况我害怕出错就分开写了,所以整个程序有些长<br><br>下面就是我笨拙的代码<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">&nbsp;1</span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;2</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;3</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">cstdio</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">cstdlib</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">cmath</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;std;<br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #000000"><img id=Codehighlighter1_134_136_Open_Image onclick="this.style.display='none'; Codehighlighter1_134_136_Open_Text.style.display='none'; Codehighlighter1_134_136_Closed_Image.style.display='inline'; Codehighlighter1_134_136_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_134_136_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_134_136_Closed_Text.style.display='none'; Codehighlighter1_134_136_Open_Image.style.display='inline'; Codehighlighter1_134_136_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">&nbsp;aarray[</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span id=Codehighlighter1_134_136_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_134_136_Open_Text><span style="COLOR: #000000">{</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">&nbsp;8</span><span style="COLOR: #000000"><img id=Codehighlighter1_160_162_Open_Image onclick="this.style.display='none'; Codehighlighter1_160_162_Open_Text.style.display='none'; Codehighlighter1_160_162_Closed_Image.style.display='inline'; Codehighlighter1_160_162_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_160_162_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_160_162_Closed_Text.style.display='none'; Codehighlighter1_160_162_Open_Image.style.display='inline'; Codehighlighter1_160_162_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">&nbsp;barray[</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span id=Codehighlighter1_160_162_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_160_162_Open_Text><span style="COLOR: #000000">{</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">&nbsp;9</span><span style="COLOR: #000000"><img id=Codehighlighter1_184_186_Open_Image onclick="this.style.display='none'; Codehighlighter1_184_186_Open_Text.style.display='none'; Codehighlighter1_184_186_Closed_Image.style.display='inline'; Codehighlighter1_184_186_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_184_186_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_184_186_Closed_Text.style.display='none'; Codehighlighter1_184_186_Open_Image.style.display='inline'; Codehighlighter1_184_186_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">&nbsp;diff[</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span id=Codehighlighter1_184_186_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_184_186_Open_Text><span style="COLOR: #000000">{</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;tempstr[</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;calc(std::</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;str,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i)<br></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img id=Codehighlighter1_246_704_Open_Image onclick="this.style.display='none'; Codehighlighter1_246_704_Open_Text.style.display='none'; Codehighlighter1_246_704_Closed_Image.style.display='inline'; Codehighlighter1_246_704_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_246_704_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_246_704_Closed_Text.style.display='none'; Codehighlighter1_246_704_Open_Image.style.display='inline'; Codehighlighter1_246_704_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_246_704_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_246_704_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">str.erase()</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">16</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">(str.size()</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">))&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">17</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">&nbsp;sum</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,len</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">str.size();<br></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;needminus&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">(pow(</span><span style="COLOR: #000000">10.0</span><span style="COLOR: #000000">,i));<br></span><span style="COLOR: #008080">19</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">if(i!=0)str[len-i-2]+=(str[len-i-1]-'0');</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">new&nbsp;add</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">20</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(str[len</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">i</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">21</span><span style="COLOR: #000000"><img id=Codehighlighter1_463_495_Open_Image onclick="this.style.display='none'; Codehighlighter1_463_495_Open_Text.style.display='none'; Codehighlighter1_463_495_Closed_Image.style.display='inline'; Codehighlighter1_463_495_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_463_495_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_463_495_Closed_Text.style.display='none'; Codehighlighter1_463_495_Open_Image.style.display='inline'; Codehighlighter1_463_495_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_463_495_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_463_495_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">22</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;str.erase(len</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">i</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">23</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">24</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">25</span><span style="COLOR: #000000"><img id=Codehighlighter1_510_575_Open_Image onclick="this.style.display='none'; Codehighlighter1_510_575_Open_Text.style.display='none'; Codehighlighter1_510_575_Closed_Image.style.display='inline'; Codehighlighter1_510_575_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_510_575_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_510_575_Closed_Text.style.display='none'; Codehighlighter1_510_575_Open_Image.style.display='inline'; Codehighlighter1_510_575_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_510_575_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_510_575_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">26</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str.erase(len</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">i</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">27</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str.append(i,</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">9</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">28</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">29</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">str.size();i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">30</span><span style="COLOR: #000000"><img id=Codehighlighter1_615_654_Open_Image onclick="this.style.display='none'; Codehighlighter1_615_654_Open_Text.style.display='none'; Codehighlighter1_615_654_Closed_Image.style.display='inline'; Codehighlighter1_615_654_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_615_654_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_615_654_Closed_Text.style.display='none'; Codehighlighter1_615_654_Open_Image.style.display='inline'; Codehighlighter1_615_654_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_615_654_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_615_654_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">31</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sum</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">sum</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">(str[i]</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">32</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">33</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;sum</span><span style="COLOR: #000000">-=</span><span style="COLOR: #000000">needminus;<br></span><span style="COLOR: #008080">34</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;sum</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">35</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;sum;<br></span><span style="COLOR: #008080">36</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">37</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">38</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()<br></span><span style="COLOR: #008080">39</span><span style="COLOR: #000000"><img id=Codehighlighter1_718_1882_Open_Image onclick="this.style.display='none'; Codehighlighter1_718_1882_Open_Text.style.display='none'; Codehighlighter1_718_1882_Closed_Image.style.display='inline'; Codehighlighter1_718_1882_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_718_1882_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_718_1882_Closed_Text.style.display='none'; Codehighlighter1_718_1882_Open_Image.style.display='inline'; Codehighlighter1_718_1882_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_718_1882_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_718_1882_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">40</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;a,b;<br></span><span style="COLOR: #008080">41</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;std::</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;tempstring;<br></span><span style="COLOR: #008080">42</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;add;<br></span><span style="COLOR: #008080">43</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</spa