<?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[mehrere If Anweisungen + Rückgabewerte]]></title><description><![CDATA[<p>Guten Morgen,<br />
ich habe mal wieder eine Frage. Und zwar habe ich eine Funktion geschrieben, welche mehrere If Anweisungen beinhaltet. In diesen If Anweisungen sind Parameter die ich in Variablen speichere und weiterverwenden möchte. Zur Überprüfung wollte ich einen Parameter mir ausgeben lassen, jedoch erscheint dieser nicht in meiner Konsole.<br />
Evt. kann mir einer helfen. Ich könnte mir vorstellen, dass ich die jeweiligen Rückgabewerte brauche aber dann würde die If Anweisung beim Rückgabewert zu ende sein.<br />
Hier mein Code:</p>
<p>int handleVersion1(string buffer){<br />
string actualLine;<br />
string ID;<br />
string func;<br />
string colourLower;<br />
string colourUpper;<br />
istringstream stream_2(buffer);<br />
while(stream_2!=0){<br />
getline(stream_2, actualLine);<br />
if (!strcmp(actualLine.substr(0,8).c_str(),&quot;MyRoboID&quot;)){<br />
string ID = actualLine.substr(11);<br />
cout &lt;&lt; &quot;MyRoboID &quot; &lt;&lt; actualLine.substr(11) &lt;&lt; endl;<br />
}<br />
if(!strcmp(actualLine.substr(0,7).c_str(), &quot;MyFunct&quot;)){<br />
string func = actualLine.substr(9);<br />
cout &lt;&lt; &quot;MyFunct&quot; &lt;&lt; actualLine.substr(9) &lt;&lt;endl;<br />
}<br />
if(!strcmp(actualLine.substr(0,13).c_str(), &quot;MyColourLower&quot;)){<br />
string colourLower = actualLine.substr(15);<br />
cout &lt;&lt; &quot;MyColourLower&quot; &lt;&lt; actualLine.substr(15) &lt;&lt;endl;<br />
}<br />
if(!strcmp(actualLine.substr(0,13).c_str(), &quot;MyColourUpper&quot;)){<br />
string colourUpper = actualLine.substr(15);<br />
cout &lt;&lt; &quot;MyColourUpper&quot; &lt;&lt; actualLine.substr(15) &lt;&lt;endl;<br />
}<br />
}<br />
cout &lt;&lt; colourLower &lt;&lt; endl; // dieser Wert wird in der Konsole nicht ausgegeben die anderen vorher schon.<br />
return 0;<br />
}</p>
<p>ich bedanke mich schon mal im voraus! DANKE</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/318692/mehrere-if-anweisungen-rückgabewerte</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Jul 2026 02:15:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/318692.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 23 Jul 2013 06:40:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to mehrere If Anweisungen + Rückgabewerte on Tue, 23 Jul 2013 06:40:56 GMT]]></title><description><![CDATA[<p>Guten Morgen,<br />
ich habe mal wieder eine Frage. Und zwar habe ich eine Funktion geschrieben, welche mehrere If Anweisungen beinhaltet. In diesen If Anweisungen sind Parameter die ich in Variablen speichere und weiterverwenden möchte. Zur Überprüfung wollte ich einen Parameter mir ausgeben lassen, jedoch erscheint dieser nicht in meiner Konsole.<br />
Evt. kann mir einer helfen. Ich könnte mir vorstellen, dass ich die jeweiligen Rückgabewerte brauche aber dann würde die If Anweisung beim Rückgabewert zu ende sein.<br />
Hier mein Code:</p>
<p>int handleVersion1(string buffer){<br />
string actualLine;<br />
string ID;<br />
string func;<br />
string colourLower;<br />
string colourUpper;<br />
istringstream stream_2(buffer);<br />
while(stream_2!=0){<br />
getline(stream_2, actualLine);<br />
if (!strcmp(actualLine.substr(0,8).c_str(),&quot;MyRoboID&quot;)){<br />
string ID = actualLine.substr(11);<br />
cout &lt;&lt; &quot;MyRoboID &quot; &lt;&lt; actualLine.substr(11) &lt;&lt; endl;<br />
}<br />
if(!strcmp(actualLine.substr(0,7).c_str(), &quot;MyFunct&quot;)){<br />
string func = actualLine.substr(9);<br />
cout &lt;&lt; &quot;MyFunct&quot; &lt;&lt; actualLine.substr(9) &lt;&lt;endl;<br />
}<br />
if(!strcmp(actualLine.substr(0,13).c_str(), &quot;MyColourLower&quot;)){<br />
string colourLower = actualLine.substr(15);<br />
cout &lt;&lt; &quot;MyColourLower&quot; &lt;&lt; actualLine.substr(15) &lt;&lt;endl;<br />
}<br />
if(!strcmp(actualLine.substr(0,13).c_str(), &quot;MyColourUpper&quot;)){<br />
string colourUpper = actualLine.substr(15);<br />
cout &lt;&lt; &quot;MyColourUpper&quot; &lt;&lt; actualLine.substr(15) &lt;&lt;endl;<br />
}<br />
}<br />
cout &lt;&lt; colourLower &lt;&lt; endl; // dieser Wert wird in der Konsole nicht ausgegeben die anderen vorher schon.<br />
return 0;<br />
}</p>
<p>ich bedanke mich schon mal im voraus! DANKE</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2340535</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340535</guid><dc:creator><![CDATA[Ingenieurin]]></dc:creator><pubDate>Tue, 23 Jul 2013 06:40:56 GMT</pubDate></item><item><title><![CDATA[Reply to mehrere If Anweisungen + Rückgabewerte on Tue, 23 Jul 2013 06:58:24 GMT]]></title><description><![CDATA[<p>Ingenieurin schrieb:</p>
<blockquote>
<pre><code>int handleVersion1(string buffer){
     string actualLine;
     string ID;
     string func;
     string colourLower;
     string colourUpper;
     istringstream stream_2(buffer);
     while(stream_2!=0){
        getline(stream_2, actualLine);
        if (!strcmp(actualLine.substr(0,8).c_str(),&quot;MyRoboID&quot;)){
            string ID = actualLine.substr(11);
            cout &lt;&lt; &quot;MyRoboID &quot; &lt;&lt; actualLine.substr(11) &lt;&lt; endl;
        }
        if(!strcmp(actualLine.substr(0,7).c_str(), &quot;MyFunct&quot;)){
            string func = actualLine.substr(9);
            cout &lt;&lt; &quot;MyFunct&quot; &lt;&lt; actualLine.substr(9) &lt;&lt;endl;
        }
        if(!strcmp(actualLine.substr(0,13).c_str(), &quot;MyColourLower&quot;)){
            string colourLower = actualLine.substr(15);
            cout &lt;&lt; &quot;MyColourLower&quot; &lt;&lt; actualLine.substr(15) &lt;&lt;endl;
        }
        if(!strcmp(actualLine.substr(0,13).c_str(), &quot;MyColourUpper&quot;)){
            string colourUpper = actualLine.substr(15);
            cout &lt;&lt; &quot;MyColourUpper&quot; &lt;&lt; actualLine.substr(15) &lt;&lt;endl;
        }
     }
    cout &lt;&lt; colourLower &lt;&lt; endl; // dieser Wert wird in der Konsole nicht  ausgegeben die anderen vorher schon. 
    return 0;
}
</code></pre>
</blockquote>
<p>das liegt vielleicht daran, dass <code>colourLower</code> leer ist. Ändere die Zeile 27 mal nach</p>
<pre><code>cout &lt;&lt; &quot;[&quot; &lt;&lt; colourLower &lt;&lt; &quot;]&quot; &lt;&lt; endl;
</code></pre>
<p>dann siehst Du wahrscheinlich ein</p>
<pre><code>[]
</code></pre>
<p>auf der Konsole</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2340537</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340537</guid><dc:creator><![CDATA[Werner_logoff]]></dc:creator><pubDate>Tue, 23 Jul 2013 06:58:24 GMT</pubDate></item><item><title><![CDATA[Reply to mehrere If Anweisungen + Rückgabewerte on Tue, 23 Jul 2013 07:05:36 GMT]]></title><description><![CDATA[<p>das die Variable leer ist hab ich mir fast gedacht, aber in Zeile 20 wird mir dieser Wert doch ausgegeben. und ich dachte wenn ich</p>
<p>string colourLower = actualLine.substr(15);</p>
<p>schreibe, dann bekommt meine Variable colourLower den Wert zugewiesen.<br />
Wie könnte ich es denn machen, dass er mir die Werte speichert und ich diese weiter verwenden kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2340540</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340540</guid><dc:creator><![CDATA[Ingenieurin]]></dc:creator><pubDate>Tue, 23 Jul 2013 07:05:36 GMT</pubDate></item><item><title><![CDATA[Reply to mehrere If Anweisungen + Rückgabewerte on Tue, 23 Jul 2013 07:12:16 GMT]]></title><description><![CDATA[<p>Beachte den Gültigkeitsbereich deiner Variablen.<br />
In Zeile 19 hast du eine Definition einer neuen Variablen. Diese lebt nur innerhalb der If-Bedingung und hat nichts mit der Variablen zu tun, die du in Zeile 5 definiert hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2340541</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340541</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Tue, 23 Jul 2013 07:12:16 GMT</pubDate></item><item><title><![CDATA[Reply to mehrere If Anweisungen + Rückgabewerte on Tue, 23 Jul 2013 07:17:59 GMT]]></title><description><![CDATA[<p>ah ok, also leben Variablen die in einer If Anweisung entstehen immer nur innerhalb ihrer Anweisung. Wie bekomme ich es denn hin, dass diese auch außerhalb der Anweisung verwendbar wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2340542</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340542</guid><dc:creator><![CDATA[Ingenieurin]]></dc:creator><pubDate>Tue, 23 Jul 2013 07:17:59 GMT</pubDate></item><item><title><![CDATA[Reply to mehrere If Anweisungen + Rückgabewerte on Tue, 23 Jul 2013 07:30:24 GMT]]></title><description><![CDATA[<p>Indem du sie außerhalb definierst.</p>
<p>Das hat auch nichts mit der If-Anweisung zu tun, sondern mit dem Anweisungsblock in dem die Variable definiert ist. Das ist bei for oder while oder ... nicht anders.<br />
Für das colourLower aus Zeile 19 fängt der in Zeile 18 bei der { an und hört in Zeile 21 bei der } auf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2340547</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340547</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Tue, 23 Jul 2013 07:30:24 GMT</pubDate></item><item><title><![CDATA[Reply to mehrere If Anweisungen + Rückgabewerte on Tue, 23 Jul 2013 07:37:43 GMT]]></title><description><![CDATA[<p>Eben keine neue anlegen, sondern die existierende benutzen:</p>
<pre><code class="language-cpp">colourLower = actualLine.substr(15);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2340554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340554</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Tue, 23 Jul 2013 07:37:43 GMT</pubDate></item><item><title><![CDATA[Reply to mehrere If Anweisungen + Rückgabewerte on Tue, 23 Jul 2013 07:39:19 GMT]]></title><description><![CDATA[<p>super danke! habs nun auch gemerkt <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="🙂"
    /> manchmal kann eine Lösung ja so simpel sein <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>
<p>DANKE!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2340555</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340555</guid><dc:creator><![CDATA[Ingenieurin]]></dc:creator><pubDate>Tue, 23 Jul 2013 07:39:19 GMT</pubDate></item><item><title><![CDATA[Reply to mehrere If Anweisungen + Rückgabewerte on Tue, 23 Jul 2013 09:34:26 GMT]]></title><description><![CDATA[<p>A propos simpel:</p>
<pre><code>!strcmp(actualLine.substr(0,13).c_str(), &quot;MyColourUpper&quot;)
</code></pre>
<p>-&gt;</p>
<pre><code>actualLine.substr(0,13) == &quot;MyColourUpper&quot;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2340574</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340574</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 23 Jul 2013 09:34:26 GMT</pubDate></item></channel></rss>