<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Spiel &amp;quot;Zahlen raten&amp;quot; - finde kleinen Fehler nicht]]></title><description><![CDATA[<p>Habe ein Spiel geschrieben, bei dem man eine Zahl zwischen 1 und 15 erraten muß.</p>
<p>Die Funktion Random habe ich nun erstmal weggelassen, die gesuchte Zahl ist erstmal immer = 13.</p>
<p>Man hat 3 Versuche.</p>
<p>Wenn der dritte Versuch um ist, erhalte ich immer folgende Ausgabe:</p>
<p><a href="http://jippel.lima-city.de/cplus.jpg" rel="nofollow">http://jippel.lima-city.de/cplus.jpg</a></p>
<p>Warum erscheint die Ausgabe 3mal ? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Ist bestimmt ganz trivial, aber ich hab wohl schon &quot;Betriebsblindheit&quot; <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

void pruef(int gesuchteZahl);

int versuch = 0;

void pruef(int gesuchteZahl)
{
	int probier = 0;
	cout &lt;&lt; &quot;Das ist Versuch Nummer: &quot; &lt;&lt; versuch+1 &lt;&lt; &quot;\n&quot;;
	cin &gt;&gt; probier;

	if(probier == gesuchteZahl &amp;&amp; versuch &lt;= 2)
	{
		cout &lt;&lt; &quot;Glueckwunsch, gewonnen !\n&quot;;
	}

	if(probier &gt; gesuchteZahl &amp;&amp; versuch &lt;= 2)
	{
		cout &lt;&lt; &quot;Zahl zu hoch ! \n&quot;;
		versuch++;
		if(versuch &lt;= 2)
		{
			pruef(gesuchteZahl);
		}
	}

	if(probier &lt; gesuchteZahl &amp;&amp; versuch &lt;= 2)
	{
		cout &lt;&lt; &quot;Zahl zu klein ! \n&quot;;
		versuch++;
		if(versuch &lt;= 2)
		{
			pruef(gesuchteZahl);
		}
	}

	if(versuch &gt; 2 &amp;&amp; probier != gesuchteZahl)
	{
	cout &lt;&lt; &quot; Leider verloren ! Die Zahl war: &quot; &lt;&lt; gesuchteZahl &lt;&lt; &quot;  Versuch =  &quot; &lt;&lt; versuch &lt;&lt; &quot;\n&quot;;
	}

}

void main()
{

	int zufall = 13;
	char nochmal;

	do {
		cout &lt;&lt; &quot; Sie muessen ein Zahl zwischen 1 und 15 erraten ! \n&quot;;
		pruef(zufall);
		cout &lt;&lt; &quot; Nochmal - j oder n \n&quot;;
		cin &gt;&gt; nochmal;
		versuch = 0;
	}
		while(nochmal != 'n');

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/203389/spiel-quot-zahlen-raten-quot-finde-kleinen-fehler-nicht</link><generator>RSS for Node</generator><lastBuildDate>Wed, 07 Oct 2026 14:02:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/203389.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 22 Jan 2008 11:24:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Spiel &amp;quot;Zahlen raten&amp;quot; - finde kleinen Fehler nicht on Tue, 22 Jan 2008 11:24:06 GMT]]></title><description><![CDATA[<p>Habe ein Spiel geschrieben, bei dem man eine Zahl zwischen 1 und 15 erraten muß.</p>
<p>Die Funktion Random habe ich nun erstmal weggelassen, die gesuchte Zahl ist erstmal immer = 13.</p>
<p>Man hat 3 Versuche.</p>
<p>Wenn der dritte Versuch um ist, erhalte ich immer folgende Ausgabe:</p>
<p><a href="http://jippel.lima-city.de/cplus.jpg" rel="nofollow">http://jippel.lima-city.de/cplus.jpg</a></p>
<p>Warum erscheint die Ausgabe 3mal ? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Ist bestimmt ganz trivial, aber ich hab wohl schon &quot;Betriebsblindheit&quot; <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

void pruef(int gesuchteZahl);

int versuch = 0;

void pruef(int gesuchteZahl)
{
	int probier = 0;
	cout &lt;&lt; &quot;Das ist Versuch Nummer: &quot; &lt;&lt; versuch+1 &lt;&lt; &quot;\n&quot;;
	cin &gt;&gt; probier;

	if(probier == gesuchteZahl &amp;&amp; versuch &lt;= 2)
	{
		cout &lt;&lt; &quot;Glueckwunsch, gewonnen !\n&quot;;
	}

	if(probier &gt; gesuchteZahl &amp;&amp; versuch &lt;= 2)
	{
		cout &lt;&lt; &quot;Zahl zu hoch ! \n&quot;;
		versuch++;
		if(versuch &lt;= 2)
		{
			pruef(gesuchteZahl);
		}
	}

	if(probier &lt; gesuchteZahl &amp;&amp; versuch &lt;= 2)
	{
		cout &lt;&lt; &quot;Zahl zu klein ! \n&quot;;
		versuch++;
		if(versuch &lt;= 2)
		{
			pruef(gesuchteZahl);
		}
	}

	if(versuch &gt; 2 &amp;&amp; probier != gesuchteZahl)
	{
	cout &lt;&lt; &quot; Leider verloren ! Die Zahl war: &quot; &lt;&lt; gesuchteZahl &lt;&lt; &quot;  Versuch =  &quot; &lt;&lt; versuch &lt;&lt; &quot;\n&quot;;
	}

}

void main()
{

	int zufall = 13;
	char nochmal;

	do {
		cout &lt;&lt; &quot; Sie muessen ein Zahl zwischen 1 und 15 erraten ! \n&quot;;
		pruef(zufall);
		cout &lt;&lt; &quot; Nochmal - j oder n \n&quot;;
		cin &gt;&gt; nochmal;
		versuch = 0;
	}
		while(nochmal != 'n');

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1441200</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441200</guid><dc:creator><![CDATA[xMänneken]]></dc:creator><pubDate>Tue, 22 Jan 2008 11:24:06 GMT</pubDate></item><item><title><![CDATA[Reply to Spiel &amp;quot;Zahlen raten&amp;quot; - finde kleinen Fehler nicht on Tue, 22 Jan 2008 11:34:41 GMT]]></title><description><![CDATA[<p>Du rufst die Funktion rekursiv auf, um einen weiteren Versuch zu starten - und beim Rücklauf landest du auf jeder Ebene bei der Abfrage &quot;if(versuch&gt;2 &amp;&amp; probier!=gesuchteZahl)...&quot;. An der Stelle würde wohle eine Schleife mehr Sinn machen als dein rekursiver Ansatz.</p>
<p>PS: Globale Variablen sind böse <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1441210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441210</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 22 Jan 2008 11:34:41 GMT</pubDate></item><item><title><![CDATA[Reply to Spiel &amp;quot;Zahlen raten&amp;quot; - finde kleinen Fehler nicht on Tue, 22 Jan 2008 11:37:38 GMT]]></title><description><![CDATA[<p>sorry lag falsche</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1441212</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441212</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Tue, 22 Jan 2008 11:37:38 GMT</pubDate></item><item><title><![CDATA[Reply to Spiel &amp;quot;Zahlen raten&amp;quot; - finde kleinen Fehler nicht on Tue, 22 Jan 2008 20:58:05 GMT]]></title><description><![CDATA[<p>So in etwa:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

bool pruef(int gesuchteZahl);

int versuch = 0;

bool pruef(int gesuchteZahl)
{
    int probier = 0;
    cout &lt;&lt; &quot;Das ist Versuch Nummer: &quot; &lt;&lt; versuch+1 &lt;&lt; &quot;\n&quot;;
    cin &gt;&gt; probier;

    if(probier == gesuchteZahl &amp;&amp; versuch &lt;= 2)
    {
        cout &lt;&lt; &quot;Glueckwunsch, gewonnen !\n&quot;;
    }

    else if(probier &gt; gesuchteZahl &amp;&amp; versuch &lt;= 2)
    {
        cout &lt;&lt; &quot;Zahl zu hoch ! \n&quot;;
        versuch++;
        return false;
    }

    else if(probier &lt; gesuchteZahl &amp;&amp; versuch &lt;= 2)
    {
        cout &lt;&lt; &quot;Zahl zu klein ! \n&quot;;
        versuch++;
        return false;
    }

    else if(versuch &gt; 2 &amp;&amp; probier != gesuchteZahl)
    {
    cout &lt;&lt; &quot; Leider verloren ! Die Zahl war: &quot; &lt;&lt; gesuchteZahl &lt;&lt; &quot;  Versuch =  &quot; &lt;&lt; versuch &lt;&lt; &quot;\n&quot;;
    }

}

int main()
{

    int zufall = 13;
    char nochmal;

    do {
        cout &lt;&lt; &quot; Sie muessen ein Zahl zwischen 1 und 15 erraten ! \n&quot;;
        while(versuch &lt; 3)
		    pruef(zufall);
        cout &lt;&lt; &quot; Nochmal - j oder n \n&quot;;
        cin &gt;&gt; nochmal;
        versuch = 0;

       } while(nochmal != 'n');

}
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /> nicht getestet</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1441607</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441607</guid><dc:creator><![CDATA[double *T]]></dc:creator><pubDate>Tue, 22 Jan 2008 20:58:05 GMT</pubDate></item><item><title><![CDATA[Reply to Spiel &amp;quot;Zahlen raten&amp;quot; - finde kleinen Fehler nicht on Wed, 23 Jan 2008 07:35:08 GMT]]></title><description><![CDATA[<p>Nein, die Schleife sollte eher IN der Funktion sein und nicht außen herum:</p>
<pre><code class="language-cpp">bool pruef(int ziel)
{
  int probier;
  for(int versuch=0;versuch&lt;3;++versuch)//beachte: 'versuch' ist nun eine lokale Variable der Funktion
  {
    cin&gt;&gt;probier;
    if(probier&lt;ziel)
      cout&lt;&lt;&quot;zu klein\n&quot;;
    else if(probier&gt;ziel)
      cout&lt;&lt;&quot;zu groß\n&quot;;
    else
    {
      cout&lt;&lt;&quot;gewonnen\n&quot;;
      return true;
    }
  }
  cout&lt;&lt;&quot;verloren\n&quot;;
  return false;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1441755</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441755</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 23 Jan 2008 07:35:08 GMT</pubDate></item></channel></rss>