<?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[Problem]]></title><description><![CDATA[<p>Hallo, wenn ich mein Programm starte und die 1 Drücke dann startet er das spiel. Das is auch in Ordnung aber wenn ich z.b. am Anfang die 2 drücke für Spiel Beenden dann steht da er wäre im haus -.-</p>
<p>Wo liegt denn hier der fehler ? <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>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;
#pragma hdrstop
#pragma argsused
//---------------------------------------------------------------------------
int gebiete();
int spielname();
int haus();

int main()
{

int spiel = spielname();
       if (spiel==1)
        {
        gebiete();
        }

int was = haus();
if (was==1)
{
haus();
}

getchar();
}
//---------------------------------------------------------------------------

spielname()
{
int spiel;
cout&lt;&lt;&quot;TEST SPIEL\n&quot;;
cout&lt;&lt;&quot;\n&quot;;
cout&lt;&lt;&quot;(1) Spiel Starten\n&quot;;
cout&lt;&lt;&quot;(2) Spiel Beenden\n&quot;;
cin&gt;&gt;spiel;
return spiel;
}

gebiete()
{
system(&quot;CLS&quot;);
int wohin;
cout&lt;&lt;&quot;Wohin willst du gehen ?\n&quot;;
cout&lt;&lt;&quot;(1) Haus\n&quot;;
cout&lt;&lt;&quot;(2) Wald\n&quot;;
cin&gt;&gt;wohin;
return wohin;
getchar();
}

haus()
{
int was;
cout&lt;&lt;&quot;du bist im haus\n&quot;;
getchar();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/199037/problem</link><generator>RSS for Node</generator><lastBuildDate>Fri, 02 Oct 2026 18:25:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/199037.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 28 Nov 2007 10:56:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem on Wed, 28 Nov 2007 10:56:05 GMT]]></title><description><![CDATA[<p>Hallo, wenn ich mein Programm starte und die 1 Drücke dann startet er das spiel. Das is auch in Ordnung aber wenn ich z.b. am Anfang die 2 drücke für Spiel Beenden dann steht da er wäre im haus -.-</p>
<p>Wo liegt denn hier der fehler ? <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>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;
#pragma hdrstop
#pragma argsused
//---------------------------------------------------------------------------
int gebiete();
int spielname();
int haus();

int main()
{

int spiel = spielname();
       if (spiel==1)
        {
        gebiete();
        }

int was = haus();
if (was==1)
{
haus();
}

getchar();
}
//---------------------------------------------------------------------------

spielname()
{
int spiel;
cout&lt;&lt;&quot;TEST SPIEL\n&quot;;
cout&lt;&lt;&quot;\n&quot;;
cout&lt;&lt;&quot;(1) Spiel Starten\n&quot;;
cout&lt;&lt;&quot;(2) Spiel Beenden\n&quot;;
cin&gt;&gt;spiel;
return spiel;
}

gebiete()
{
system(&quot;CLS&quot;);
int wohin;
cout&lt;&lt;&quot;Wohin willst du gehen ?\n&quot;;
cout&lt;&lt;&quot;(1) Haus\n&quot;;
cout&lt;&lt;&quot;(2) Wald\n&quot;;
cin&gt;&gt;wohin;
return wohin;
getchar();
}

haus()
{
int was;
cout&lt;&lt;&quot;du bist im haus\n&quot;;
getchar();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1411473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1411473</guid><dc:creator><![CDATA[Bassmaster]]></dc:creator><pubDate>Wed, 28 Nov 2007 10:56:05 GMT</pubDate></item><item><title><![CDATA[Reply to Problem on Wed, 28 Nov 2007 11:04:18 GMT]]></title><description><![CDATA[<p>Zeile 22 ist das Problem. Da gehst du ohne eine vorherige Abfrage ins Haus, was denke ich mal gebiete sein sollte, was du aber im if-Zweig in Zeile 17 unsinniger ohne Zuweisung an eine Variable aufrufst.<br />
Aber du solltest deinen Funktionen mal Rückgabewerte geben. Eigentlich sollte das so gar nicht compilieren.<br />
Ansonsten solltest du lieber auf &quot;Spiel beenden&quot; also 2 prüfen und dann die Anwendung mit return; beenden und sonst weiterlaufen lassen.</p>
<p>Greetz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1411481</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1411481</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Wed, 28 Nov 2007 11:04:18 GMT</pubDate></item><item><title><![CDATA[Reply to Problem on Wed, 28 Nov 2007 12:07:53 GMT]]></title><description><![CDATA[<p>Ich hab das Problem jetzt so gelöst.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;
#pragma hdrstop
#pragma argsused
//---------------------------------------------------------------------------
int gebiete();
int spielname();
int haus();
int wald();

int main()
{

int spiel = spielname();
       if (spiel==1)
        {
        gebiete();
        }

getchar();
}
//---------------------------------------------------------------------------

        spielname()
        {
        int spiel;
        cout&lt;&lt;&quot;TEST SPIEL\n&quot;;
        cout&lt;&lt;&quot;\n&quot;;
        cout&lt;&lt;&quot;(1) Spiel Starten\n&quot;;
        cout&lt;&lt;&quot;(2) Spiel Beenden\n&quot;;
        cin&gt;&gt;spiel;
        return spiel;
        }

gebiete()
{
system(&quot;CLS&quot;);
int wohin;
cout&lt;&lt;&quot;Wohin willst du gehen ?\n&quot;;
cout&lt;&lt;&quot;(1) Haus\n&quot;;
cout&lt;&lt;&quot;(2) Wald\n&quot;;
cin&gt;&gt;wohin;

if (wohin==1)
haus();

else
wald();

}

//------------- Orte ----------------------------------------------------------//
        haus()
        {
        system(&quot;CLS&quot;);
        int verlassen;
        cout&lt;&lt;&quot;Du bist im Haus\n&quot;;
        cout&lt;&lt;&quot;(1) Haus Verlassen\n&quot;;
        cin&gt;&gt;verlassen;

        if (verlassen==1)
        gebiete();
        getchar();
        }

wald()
{
system(&quot;CLS&quot;);
int verlassen;
cout&lt;&lt;&quot;Du bist im Wald\n&quot;;
cout&lt;&lt;&quot;(1) Wald Verlassen\n&quot;;
cin&gt;&gt;verlassen;

if (verlassen==1)
gebiete();
getchar();

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1411510</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1411510</guid><dc:creator><![CDATA[Bassmaster]]></dc:creator><pubDate>Wed, 28 Nov 2007 12:07:53 GMT</pubDate></item><item><title><![CDATA[Reply to Problem on Wed, 28 Nov 2007 12:51:41 GMT]]></title><description><![CDATA[<p>Hab ein neues Problem <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Wenn ich den Wald gehe und denn Wald durchsuche dann kann man ja wählen ob man den gegner angreiffen will oder ob man fliehen will. Immer wenn ich angreiffe und z.b. 1 drücke für schwert oder 2 für bogen dann geht der danach einfach wieder nach gebiete zurück aber ich will ja wissen ob den kampf nun gewonnen habe oder nicht ....</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;
#pragma hdrstop
#pragma argsused
//---------------------------------------------------------------------------
int gebiete();
int spielname();
int haus();
int wald();
int angriff();
int gegner_angreiffen();

int main()
{

int spiel = spielname();
       if (spiel==1)
        {
        gebiete();
        }

getchar();
}
//---------------------------------------------------------------------------

        spielname()
        {
        int spiel;
        cout&lt;&lt;&quot;TEST SPIEL\n&quot;;
        cout&lt;&lt;&quot;\n&quot;;
        cout&lt;&lt;&quot;(1) Spiel Starten\n&quot;;
        cout&lt;&lt;&quot;(2) Spiel Beenden\n&quot;;
        cin&gt;&gt;spiel;
        return spiel;
        }

gebiete()
{
system(&quot;CLS&quot;);
int wohin;
cout&lt;&lt;&quot;Wohin willst du gehen ?\n&quot;;
cout&lt;&lt;&quot;(1) Haus\n&quot;;
cout&lt;&lt;&quot;(2) Wald\n&quot;;
cin&gt;&gt;wohin;

if (wohin==1)
haus();

else
wald();

return wohin;
}

//------------- Orte ----------------------------------------------------------//
        haus()
        {
        system(&quot;CLS&quot;);
        int verlassen;
        cout&lt;&lt;&quot;Du bist im Haus\n&quot;;
        cout&lt;&lt;&quot;(1) Haus Verlassen\n&quot;;
        cin&gt;&gt;verlassen;

        if (verlassen==1)
        gebiete();
        getchar();
        return verlassen;
        }

wald()
{
system(&quot;CLS&quot;);
int verlassen;
cout&lt;&lt;&quot;Du bist im Wald\n&quot;;
cout&lt;&lt;&quot;\n&quot;;
cout&lt;&lt;&quot;(1) Wald Verlassen\n&quot;;
cout&lt;&lt;&quot;(2) Wald durchsuchen\n&quot;;

cin&gt;&gt;verlassen;

if (verlassen==1)
gebiete();

else
angriff();

getchar();
return verlassen;
}

//------------- kampf ----------------------------------------------------------//

        angriff()
        {
        int auswahl;
        system(&quot;CLS&quot;);
        cout&lt;&lt;&quot;Du wirst Angegriffen !\n&quot;;
        cout&lt;&lt;&quot;(1) Flucht\n&quot;;
        cout&lt;&lt;&quot;(2) Gegner Angreiffen !\n&quot;;
        cin&gt;&gt;auswahl;

        if (auswahl==1)
        gebiete();

        else

        gegner_angreiffen();
        return auswahl;
        }

gegner_angreiffen()
{
system(&quot;CLS&quot;);
int user,pc;
cout&lt;&lt;&quot;Womit willst du den Gegner Angreiffen?\n&quot;;
cout&lt;&lt;&quot;(1) Schwert\n&quot;;
cout&lt;&lt;&quot;(2) Bogen\n&quot;;

cin&gt;&gt;user;

srand (time (NULL) );

pc = rand()%2+1;

        if (user==1 &amp;&amp; pc==1)

        cout&lt;&lt;&quot;Unentschieden\n&quot;;
        getchar();
        gebiete();

if(user==2 &amp;&amp; pc==2)

cout&lt;&lt;&quot;Unentschieden\n&quot;;
getchar();
gebiete();

        if (user==2 &amp;&amp; pc==1)

        cout&lt;&lt;&quot;Du hast gewonnen\n&quot;;
        getchar();
        gebiete();

if (user==1 &amp;&amp; pc==2)

cout&lt;&lt;&quot;Du hast verloren\n&quot;;
getchar();
gebiete();

return user;

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1411537</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1411537</guid><dc:creator><![CDATA[Bassmaster]]></dc:creator><pubDate>Wed, 28 Nov 2007 12:51:41 GMT</pubDate></item><item><title><![CDATA[Reply to Problem on Wed, 28 Nov 2007 13:10:44 GMT]]></title><description><![CDATA[<p>Das funktioniert? Welchen Compiler hast Du, wenn ich fragen darf?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1411553</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1411553</guid><dc:creator><![CDATA[Wirdbald]]></dc:creator><pubDate>Wed, 28 Nov 2007 13:10:44 GMT</pubDate></item><item><title><![CDATA[Reply to Problem on Wed, 28 Nov 2007 13:20:44 GMT]]></title><description><![CDATA[<p>Mal im Ernst:<br />
Setz dich mal mit Variablen und Rückgabewerten auseinander.<br />
Einfach nur von dem wie der Quelltext aussieht, würd ich vermuten, du hast vorher noch nie programmiert. C (denn du benutzt nur C auch wenn du einen C++ Header einbindest) ist definitiv keine einsteigersprache. Apropos C: Das hier gehört nicht nach C++ sondern nach ansi c oder so.<br />
Achja und wenn du so ein ganzes Spiel programmieren willst, machst du dich tot.<br />
Stell dir mal vor du hast &quot;nur&quot; 500 landschaften mit jeweils 2 optionen. Und du schreibst jedesmal einen Post hier ins forum weils nich geht. macht 500*2 posts.<br />
me lawled a lot</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1411566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1411566</guid><dc:creator><![CDATA[Der Troll]]></dc:creator><pubDate>Wed, 28 Nov 2007 13:20:44 GMT</pubDate></item><item><title><![CDATA[Reply to Problem on Wed, 28 Nov 2007 14:53:16 GMT]]></title><description><![CDATA[<p>Das ist kein C++ ?</p>
<p>Komischer weise habe ich diese Befehle aus C++ Tutorials ........<br />
Und wer sagt dass das Programm wer weiss wie lang werden soll, das soll kurz bleiben das war nur so für mich.</p>
<p>Und ich weiss halt noch nicht wie man es anders schreiben kann, ich wollte mal gucken was ich so mit meinem derzeitgen wissen zu stande bringe um es vernüftig zu machen muss ich wohl noch etwas üben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Aber so funktioniert es: Ach ja ich Compiliere das mit dem Borland Builder 6</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;
#pragma hdrstop
#pragma argsused
//---------------------------------------------------------------------------
int gebiete();
int spielname();
int haus();
int wald();
int angriff();
int gegner_angreiffen();

int main()
{

int spiel = spielname();
       if (spiel==1)
        {
        gebiete();
        }

getchar();
}
//---------------------------------------------------------------------------

        spielname()
        {
        int spiel;
        cout&lt;&lt;&quot;TEST SPIEL\n&quot;;
        cout&lt;&lt;&quot;\n&quot;;
        cout&lt;&lt;&quot;(1) Spiel Starten\n&quot;;
        cout&lt;&lt;&quot;(2) Spiel Beenden\n&quot;;
        cin&gt;&gt;spiel;
        return spiel;
        }

gebiete()
{
system(&quot;CLS&quot;);
int wohin;
cout&lt;&lt;&quot;Wohin willst du gehen ?\n&quot;;
cout&lt;&lt;&quot;(1) Haus\n&quot;;
cout&lt;&lt;&quot;(2) Wald\n&quot;;
cin&gt;&gt;wohin;

if (wohin==1)
haus();

else
wald();

return wohin;
}

//------------- Orte ----------------------------------------------------------//
        haus()
        {
        system(&quot;CLS&quot;);
        int verlassen;
        cout&lt;&lt;&quot;Du bist im Haus\n&quot;;
        cout&lt;&lt;&quot;(1) Haus Verlassen\n&quot;;
        cin&gt;&gt;verlassen;

        if (verlassen==1)
        gebiete();
        getchar();
        return verlassen;
        }

wald()
{
system(&quot;CLS&quot;);
int verlassen;
cout&lt;&lt;&quot;Du bist im Wald\n&quot;;
cout&lt;&lt;&quot;\n&quot;;
cout&lt;&lt;&quot;(1) Wald Verlassen\n&quot;;
cout&lt;&lt;&quot;(2) Wald durchsuchen\n&quot;;

cin&gt;&gt;verlassen;

if (verlassen==1)
gebiete();

else
angriff();

getchar();
return verlassen;
}

//------------- kampf ----------------------------------------------------------//

        angriff()
        {
        int auswahl;
        system(&quot;CLS&quot;);
        cout&lt;&lt;&quot;Du wirst Angegriffen !\n&quot;;
        cout&lt;&lt;&quot;(1) Flucht\n&quot;;
        cout&lt;&lt;&quot;(2) Gegner Angreiffen !\n&quot;;
        cin&gt;&gt;auswahl;

        if (auswahl==1)
        gebiete();

        else

        gegner_angreiffen();
        return auswahl;
        }

gegner_angreiffen()
{
system(&quot;CLS&quot;);
int user,pc;
cout&lt;&lt;&quot;Womit willst du den Gegner Angreiffen?\n&quot;;
cout&lt;&lt;&quot;(1) Schwert\n&quot;;
cout&lt;&lt;&quot;(2) Bogen\n&quot;;

cin&gt;&gt;user;

srand (time (NULL) );

pc = rand()%2+1;

        if (user==1 &amp;&amp; pc==1)
        {
        cout&lt;&lt;&quot;Unentschieden\n&quot;;
        system(&quot;PAUSE&quot;);
        gebiete();
        }

if(user==2 &amp;&amp; pc==2)

{
cout&lt;&lt;&quot;Unentschieden\n&quot;;
system(&quot;PAUSE&quot;);
gebiete();
}

        if (user==2 &amp;&amp; pc==1)
        {
        cout&lt;&lt;&quot;Du hast gewonnen\n&quot;;
        system(&quot;PAUSE&quot;);
        gebiete();
        }

if (user==1 &amp;&amp; pc==2)
{
cout&lt;&lt;&quot;Du hast verloren\n&quot;;
system(&quot;PAUSE&quot;);
gebiete();
return gebiete();
}

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1411624</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1411624</guid><dc:creator><![CDATA[Bassmaster]]></dc:creator><pubDate>Wed, 28 Nov 2007 14:53:16 GMT</pubDate></item><item><title><![CDATA[Reply to Problem on Wed, 28 Nov 2007 15:18:00 GMT]]></title><description><![CDATA[<p>Du verwendest zwar einen C++ Compiler und auch einige C++ Datentypen (z.B. std::ostream mittels cout), aber deine Programmierweise ist im sog. &quot;C-Style&quot;.</p>
<p>Bevor du jetzt noch weitere Codes dieser Art postest, solltest du dich mal mit OOP und Klassen auseinandersetzen.<br />
Dann wird dein Code kleiner, übersichtlicher und du kannst ihn dann auch besser erweitern.</p>
<p>Und deine generelle Codeschreibweise solltest du auch ändern:</p>
<pre><code class="language-cpp">int spielname() // immer Rückgabetyp angeben!!!
                // (auch wenn einige Compiler noch aus C-Zeiten &quot;int&quot; als Standard nehmen
{
  // generell jeden Block einrücken (am besten per Tab oder feste Anzahl von Leerzeichen)
  int spiel;
  cout&lt;&lt;&quot;TEST SPIEL\n\n&quot;;
  cout&lt;&lt;&quot;(1) Spiel Starten\n&quot;;
  cout&lt;&lt;&quot;(2) Spiel Beenden\n&quot;;
  cin&gt;&gt;spiel;
  return spiel;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1411655</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1411655</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Wed, 28 Nov 2007 15:18:00 GMT</pubDate></item><item><title><![CDATA[Reply to Problem on Wed, 28 Nov 2007 15:20:29 GMT]]></title><description><![CDATA[<p>ok thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1411658</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1411658</guid><dc:creator><![CDATA[Bassmaster]]></dc:creator><pubDate>Wed, 28 Nov 2007 15:20:29 GMT</pubDate></item></channel></rss>