Sophie

Sophie

distrib > Fedora > 18 > x86_64 > by-pkgid > b3a1f4d91c26f535919e39e25606614a > files > 55

wt-doc-3.2.3-1.fc18.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Wt examples: /home/koen/project/wt/public-git/wt/examples/hangman/Dictionary.C Source File</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Wt examples
   &#160;<span id="projectnumber">3.2.3</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<div class="header">
  <div class="headertitle">
<div class="title">/home/koen/project/wt/public-git/wt/examples/hangman/Dictionary.C</div>  </div>
</div>
<div class="contents">
<a href="Dictionary_8C.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span>
<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2011 Emweb bvba, Heverlee, Belgium</span>
<a name="l00003"></a>00003 <span class="comment"> *</span>
<a name="l00004"></a>00004 <span class="comment"> * See the LICENSE file for terms of use.</span>
<a name="l00005"></a>00005 <span class="comment"> */</span>
<a name="l00006"></a>00006 
<a name="l00007"></a>00007 <span class="preprocessor">#include &lt;Wt/WApplication&gt;</span>
<a name="l00008"></a>00008 <span class="preprocessor">#include &lt;Wt/WStringUtil&gt;</span>
<a name="l00009"></a>00009 
<a name="l00010"></a>00010 <span class="preprocessor">#include &quot;<a class="code" href="Dictionary_8h.html">Dictionary.h</a>&quot;</span>
<a name="l00011"></a>00011 <span class="preprocessor">#include &lt;fstream&gt;</span>
<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;iostream&gt;</span>
<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;time.h&gt;</span>
<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
<a name="l00015"></a>00015 
<a name="l00016"></a><a class="code" href="Dictionary_8h.html#addb438135bbc4b68a5ff5b6c6dfa5dd4">00016</a> std::wstring <a class="code" href="Dictionary_8C.html#addb438135bbc4b68a5ff5b6c6dfa5dd4">RandomWord</a>(<a class="code" href="Dictionary_8h.html#a75d0a1670704923e348986686c3714f9">Dictionary</a> dictionary)
<a name="l00017"></a>00017 {
<a name="l00018"></a>00018    std::ifstream dict;
<a name="l00019"></a>00019    <span class="keywordflow">if</span> (dictionary == <a class="code" href="Dictionary_8h.html#a75d0a1670704923e348986686c3714f9a7b7a0d1c13d5ae5a4e27e17b7b6e26c1">DICT_NL</a>) {
<a name="l00020"></a>00020      dict.open((<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#a88b082dadadd3fb7dbe10887e7d89c91">Wt::WApplication::appRoot</a>() + <span class="stringliteral">&quot;dict-nl.txt&quot;</span>).c_str());
<a name="l00021"></a>00021    } <span class="keywordflow">else</span> { <span class="comment">// english is default</span>
<a name="l00022"></a>00022      dict.open((<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#a88b082dadadd3fb7dbe10887e7d89c91">Wt::WApplication::appRoot</a>() + <span class="stringliteral">&quot;dict.txt&quot;</span>).c_str());
<a name="l00023"></a>00023    }
<a name="l00024"></a>00024       
<a name="l00025"></a>00025    std::string retval;
<a name="l00026"></a>00026    <span class="keywordtype">int</span> numwords = 0;
<a name="l00027"></a>00027    <span class="keywordflow">while</span>(dict) {
<a name="l00028"></a>00028       getline(dict, retval);
<a name="l00029"></a>00029       numwords++;
<a name="l00030"></a>00030    }
<a name="l00031"></a>00031    dict.clear();
<a name="l00032"></a>00032    dict.seekg(0);
<a name="l00033"></a>00033 
<a name="l00034"></a>00034    srand(time(0));
<a name="l00035"></a>00035    <span class="keywordtype">int</span> selection = rand() % numwords; <span class="comment">// not entirely uniform, but who cares?</span>
<a name="l00036"></a>00036 
<a name="l00037"></a>00037    <span class="keywordflow">while</span>(selection--) {
<a name="l00038"></a>00038       getline(dict, retval);
<a name="l00039"></a>00039    }
<a name="l00040"></a>00040    getline(dict, retval);
<a name="l00041"></a>00041    <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; retval.size(); ++i)
<a name="l00042"></a>00042       <span class="keywordflow">if</span>(retval[i] &lt; <span class="charliteral">&#39;A&#39;</span> || retval[i] &gt; <span class="charliteral">&#39;Z&#39;</span>)
<a name="l00043"></a>00043          std::cout &lt;&lt; <span class="stringliteral">&quot;word &quot;</span> &lt;&lt; retval 
<a name="l00044"></a>00044                    &lt;&lt; <span class="stringliteral">&quot; contains illegal data at pos &quot;</span> &lt;&lt; i &lt;&lt; std::endl;
<a name="l00045"></a>00045 
<a name="l00046"></a>00046    <span class="keywordflow">return</span> Wt::widen(retval);
<a name="l00047"></a>00047 }
</pre></div></div>
</div>
<hr size="1"><address style="text-align: right; margin: 3px"><small>
Generated on Thu Nov 1 2012 for <a href="http://www.webtoolkit.eu/wt">the
C++ Web Toolkit (Wt)</a> by&nbsp;<a
href="http://www.doxygen.org/index.html"><img src="doxygen.png"
alt="doxygen" border="0" style="vertical-align: middle; display:
inline-block; height: 2em"></a> 1.7.5.1</small></address>
</body>
</html>