<?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[Seltsamer Bug]]></title><description><![CDATA[<p>Hey Leute,<br />
ich habe ein äußerst seltsamen Bug in einem Programm, was mir ein Freund geschickt hat, gefunden.<br />
Erst mal der Code:</p>
<pre><code class="language-cpp">//main.cpp:
#include &lt;iostream&gt;
#include &lt;string&gt;
#include &quot;gamefunktionen.cpp&quot;

using namespace std;

int main()
{
    int a;
    aktionen akt;
    //----------------------------------------------------------
    a=1;
    while(a==1)
    {
        cout &lt;&lt; &quot;Menu:\n 1:Copyright\n 2:Spielen\n&quot; &lt;&lt; endl;   // Menu, fragt 2 sachen ab
        cin &gt;&gt; a ;
        //----------------------------------------------------------
        if(a==1)
        {
            cout &lt;&lt; &quot;Jan und Waldi !&quot; &lt;&lt; endl;
        }
        //----------------------------------------------------------
        //----------------------------------------------------------
        if(a==2)
        {
            cout &lt;&lt; &quot;Ok das Spiel beginnt!&quot; &lt;&lt; endl;
        }

    }
    while(!akt.ende)
    {
        cout &lt;&lt;&quot;1:Jagen\n 2:Ausruhen\n 3:Shop\n&quot;;
        cin &gt;&gt;a;
        if(a==1)
        {
            akt.Jagen();
        }
        else if(a==2)
        {
            //Ausruhen
        }
        else if(a==3);
        {
            akt.Shop();
        }
    }
}
</code></pre>
<pre><code class="language-cpp">//gamefunktionen.cpp

#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

class aktionen
{
public:
bool ende;
aktionen()
{
     DeinAtk=3;
     DeineHp=10;
     DeineMaxHp=10;
     ende=false;
}

void Vinfos(int auswahl)
{
    switch(auswahl)
    {

    case 1:
        cout&lt;&lt;&quot;EGO: ATK:3 HP:10&quot; &lt;&lt; endl;
        cout&lt;&lt;&quot;Ameise:\n HP:2\n ATK:1\n&quot;  &lt;&lt; endl;
        Angreifen(1,2);
        break;

    case 2:
        cout&lt;&lt;&quot;EGO: ATK:3 HP 10&quot; &lt;&lt; endl;
        cout&lt;&lt;&quot;Fliege:\n HP:3\n ATK:2\n&quot;  &lt;&lt; endl;
        Angreifen(2,3);
        break;
    case 3:
        cout&lt;&lt;&quot;EGO: ATK:3 HP 10&quot; &lt;&lt; endl;
        cout&lt;&lt;&quot;Wolf:\n HP:5\n ATK:2\n&quot;  &lt;&lt; endl;
        Angreifen(2,5);
        break;
    case 4:
        cout&lt;&lt;&quot;EGO: ATK:3 HP 10&quot; &lt;&lt; endl;
        cout&lt;&lt;&quot;Schlange:\n HP:4\n ATK:3\n&quot;  &lt;&lt; endl;
        Angreifen(3,4);
        break;
    case 5:
        cout&lt;&lt;&quot;EGO: ATK:3 HP 10&quot; &lt;&lt; endl;
        cout&lt;&lt;&quot;Löwe:\n HP:6\n ATK:4\n&quot;  &lt;&lt; endl;
        Angreifen(4,6);
        break;
    case 6:
        cout&lt;&lt;&quot;EGO: ATK:3 HP 10&quot; &lt;&lt; endl;
        cout&lt;&lt;&quot;Drache:\n HP:10\n ATK:6\n&quot;  &lt;&lt; endl;
        Angreifen(6,10);
        break;
    }
}

void Angreifen(int TierAtk,int TierHp)
{
    cout &lt;&lt; &quot;1:Angreifen\n2:Weglaufen&quot;&lt;&lt; endl;
    int a;
    cin &gt;&gt;a;
    if(a==1)
    {
        if(TierHp/DeinAtk&lt;=DeineHp/TierAtk)
        {
            cout &lt;&lt;&quot;  Das Monster ist Tod&quot; &lt;&lt; endl;
        }
        else
        {
            cout &lt;&lt; &quot;Game Over!&quot;&lt;&lt; endl;
            cin.get();
            ende=true;
        }
    }
}

void Shop()
{

    int a;
    cout &lt;&lt; &quot;Willkommen im Shop&quot;&lt;&lt;endl;
    cout &lt;&lt; &quot;Hier kannst du folgende Items kaufen:&quot;;
    cout &lt;&lt; &quot;1:Schwert&quot;&lt;&lt;endl;
    cout &lt;&lt; &quot;2:Schild&quot; &lt;&lt;endl;
    cin &gt;&gt; a;
    if (a==1)
   {
       DeinAtk += 5;
   }
}

void Jagen()
{
	int a;
    cout &lt;&lt; &quot;Liste der Monster:\n&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;1:Ameise&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;2:Fliege&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;3:Wolf&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;4:Schlange&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;5:Löwe&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;6:Drache&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;Gib die Jewahlige Zahl an um infos über das Monster zu erhalten!&quot; &lt;&lt; endl;
        cin &gt;&gt; a;
        Vinfos(a);
}

private:
int DeinAtk;
int DeineMaxHp;
int DeineHp;
int DeinGeld;
};
</code></pre>
<p>Das ganze soll ein Konsolenspiel darstellen. Das Problem ist, dass man, nachdem man ein Monster gekillt hat automatisch in den Shop kommt.<br />
Wenn man in der Mainfunktion das letzte elseif durch ein if ersetzt gehts.<br />
Jetzt die Frage: Warum??? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/288523/seltsamer-bug</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 01:26:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/288523.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 18 Jun 2011 12:42:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Seltsamer Bug on Sat, 18 Jun 2011 12:42:34 GMT]]></title><description><![CDATA[<p>Hey Leute,<br />
ich habe ein äußerst seltsamen Bug in einem Programm, was mir ein Freund geschickt hat, gefunden.<br />
Erst mal der Code:</p>
<pre><code class="language-cpp">//main.cpp:
#include &lt;iostream&gt;
#include &lt;string&gt;
#include &quot;gamefunktionen.cpp&quot;

using namespace std;

int main()
{
    int a;
    aktionen akt;
    //----------------------------------------------------------
    a=1;
    while(a==1)
    {
        cout &lt;&lt; &quot;Menu:\n 1:Copyright\n 2:Spielen\n&quot; &lt;&lt; endl;   // Menu, fragt 2 sachen ab
        cin &gt;&gt; a ;
        //----------------------------------------------------------
        if(a==1)
        {
            cout &lt;&lt; &quot;Jan und Waldi !&quot; &lt;&lt; endl;
        }
        //----------------------------------------------------------
        //----------------------------------------------------------
        if(a==2)
        {
            cout &lt;&lt; &quot;Ok das Spiel beginnt!&quot; &lt;&lt; endl;
        }

    }
    while(!akt.ende)
    {
        cout &lt;&lt;&quot;1:Jagen\n 2:Ausruhen\n 3:Shop\n&quot;;
        cin &gt;&gt;a;
        if(a==1)
        {
            akt.Jagen();
        }
        else if(a==2)
        {
            //Ausruhen
        }
        else if(a==3);
        {
            akt.Shop();
        }
    }
}
</code></pre>
<pre><code class="language-cpp">//gamefunktionen.cpp

#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

class aktionen
{
public:
bool ende;
aktionen()
{
     DeinAtk=3;
     DeineHp=10;
     DeineMaxHp=10;
     ende=false;
}

void Vinfos(int auswahl)
{
    switch(auswahl)
    {

    case 1:
        cout&lt;&lt;&quot;EGO: ATK:3 HP:10&quot; &lt;&lt; endl;
        cout&lt;&lt;&quot;Ameise:\n HP:2\n ATK:1\n&quot;  &lt;&lt; endl;
        Angreifen(1,2);
        break;

    case 2:
        cout&lt;&lt;&quot;EGO: ATK:3 HP 10&quot; &lt;&lt; endl;
        cout&lt;&lt;&quot;Fliege:\n HP:3\n ATK:2\n&quot;  &lt;&lt; endl;
        Angreifen(2,3);
        break;
    case 3:
        cout&lt;&lt;&quot;EGO: ATK:3 HP 10&quot; &lt;&lt; endl;
        cout&lt;&lt;&quot;Wolf:\n HP:5\n ATK:2\n&quot;  &lt;&lt; endl;
        Angreifen(2,5);
        break;
    case 4:
        cout&lt;&lt;&quot;EGO: ATK:3 HP 10&quot; &lt;&lt; endl;
        cout&lt;&lt;&quot;Schlange:\n HP:4\n ATK:3\n&quot;  &lt;&lt; endl;
        Angreifen(3,4);
        break;
    case 5:
        cout&lt;&lt;&quot;EGO: ATK:3 HP 10&quot; &lt;&lt; endl;
        cout&lt;&lt;&quot;Löwe:\n HP:6\n ATK:4\n&quot;  &lt;&lt; endl;
        Angreifen(4,6);
        break;
    case 6:
        cout&lt;&lt;&quot;EGO: ATK:3 HP 10&quot; &lt;&lt; endl;
        cout&lt;&lt;&quot;Drache:\n HP:10\n ATK:6\n&quot;  &lt;&lt; endl;
        Angreifen(6,10);
        break;
    }
}

void Angreifen(int TierAtk,int TierHp)
{
    cout &lt;&lt; &quot;1:Angreifen\n2:Weglaufen&quot;&lt;&lt; endl;
    int a;
    cin &gt;&gt;a;
    if(a==1)
    {
        if(TierHp/DeinAtk&lt;=DeineHp/TierAtk)
        {
            cout &lt;&lt;&quot;  Das Monster ist Tod&quot; &lt;&lt; endl;
        }
        else
        {
            cout &lt;&lt; &quot;Game Over!&quot;&lt;&lt; endl;
            cin.get();
            ende=true;
        }
    }
}

void Shop()
{

    int a;
    cout &lt;&lt; &quot;Willkommen im Shop&quot;&lt;&lt;endl;
    cout &lt;&lt; &quot;Hier kannst du folgende Items kaufen:&quot;;
    cout &lt;&lt; &quot;1:Schwert&quot;&lt;&lt;endl;
    cout &lt;&lt; &quot;2:Schild&quot; &lt;&lt;endl;
    cin &gt;&gt; a;
    if (a==1)
   {
       DeinAtk += 5;
   }
}

void Jagen()
{
	int a;
    cout &lt;&lt; &quot;Liste der Monster:\n&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;1:Ameise&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;2:Fliege&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;3:Wolf&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;4:Schlange&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;5:Löwe&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;6:Drache&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;Gib die Jewahlige Zahl an um infos über das Monster zu erhalten!&quot; &lt;&lt; endl;
        cin &gt;&gt; a;
        Vinfos(a);
}

private:
int DeinAtk;
int DeineMaxHp;
int DeineHp;
int DeinGeld;
};
</code></pre>
<p>Das ganze soll ein Konsolenspiel darstellen. Das Problem ist, dass man, nachdem man ein Monster gekillt hat automatisch in den Shop kommt.<br />
Wenn man in der Mainfunktion das letzte elseif durch ein if ersetzt gehts.<br />
Jetzt die Frage: Warum??? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2080119</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2080119</guid><dc:creator><![CDATA[MrKnister]]></dc:creator><pubDate>Sat, 18 Jun 2011 12:42:34 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsamer Bug on Sat, 18 Jun 2011 12:57:00 GMT]]></title><description><![CDATA[<p>1. Das mit dem include ist eigentlich nicht so gemein,t dass man cpp-Dateien einbindet. Guck dir mal an, wie das mit den Headern funktioniert.<br />
2. <code>if(a==3);</code><br />
Übersetzt nach Deutsch: Wenn a gleich 3 ist, wird alles bis zum Semikolon gemacht, also nichts. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2080124</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2080124</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 18 Jun 2011 12:57:00 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsamer Bug on Sat, 18 Jun 2011 13:38:20 GMT]]></title><description><![CDATA[<p>Oh das Semikolon habe ich nicht gesehen.<br />
Zum Thema .cpp einbinden: Wie schon gesagt ist der code von nem Freund :D.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2080149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2080149</guid><dc:creator><![CDATA[MrKnister]]></dc:creator><pubDate>Sat, 18 Jun 2011 13:38:20 GMT</pubDate></item></channel></rss>