<?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[Void Funktion]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab eine Frage zu einer void Funktion und zwar:</p>
<p>hab ich in ihr eine if-else-Schleife drin und im else-Zweig soll die Funktion neu gestartet werden, aber zuvor natürlich beendet werden, sonst kommt es da ja bestimmt zu komplikationen. Kann mir da jemand nen Tipp geben?</p>
<p>[code]<br />
void navigator()<br />
{</p>
<p>int x;<br />
// generiert Zahlen<br />
x= 10 + (rand()%(100-10+1));</p>
<p>if(x&lt; 90)<br />
{<br />
// mach irgendwas<br />
}<br />
else<br />
{<br />
//funktion neu starten und aber vorherigen Aufruf beenden<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/120819/void-funktion</link><generator>RSS for Node</generator><lastBuildDate>Sat, 22 Aug 2026 12:17:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/120819.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 16 Sep 2005 15:18:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Void Funktion on Fri, 16 Sep 2005 15:18:46 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab eine Frage zu einer void Funktion und zwar:</p>
<p>hab ich in ihr eine if-else-Schleife drin und im else-Zweig soll die Funktion neu gestartet werden, aber zuvor natürlich beendet werden, sonst kommt es da ja bestimmt zu komplikationen. Kann mir da jemand nen Tipp geben?</p>
<p>[code]<br />
void navigator()<br />
{</p>
<p>int x;<br />
// generiert Zahlen<br />
x= 10 + (rand()%(100-10+1));</p>
<p>if(x&lt; 90)<br />
{<br />
// mach irgendwas<br />
}<br />
else<br />
{<br />
//funktion neu starten und aber vorherigen Aufruf beenden<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/873772</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/873772</guid><dc:creator><![CDATA[yogoo]]></dc:creator><pubDate>Fri, 16 Sep 2005 15:18:46 GMT</pubDate></item><item><title><![CDATA[Reply to Void Funktion on Fri, 16 Sep 2005 15:29:15 GMT]]></title><description><![CDATA[<p>Benutze eine while Schleife und gib als Bedingung x&gt;=90 an und lasse jenachdem weiter laufen oder x in der schleife neu berechnen.</p>
<p>Ach und if-else ist keine Schleife das ist ne Verzweiung bzw. Anweisung <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/873784</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/873784</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 16 Sep 2005 15:29:15 GMT</pubDate></item><item><title><![CDATA[Reply to Void Funktion on Fri, 16 Sep 2005 16:11:53 GMT]]></title><description><![CDATA[<p>yogoo schrieb:</p>
<blockquote>
<p>[...] und im else-Zweig soll die Funktion neu gestartet werden, aber zuvor natürlich beendet werden [...]</p>
</blockquote>
<p>Wenn du die Funktion navigator() im else Zweig der Funktion navigator erneut aufrufst, ist die aufrufende Funktion noch nicht beendet! Es ensteht in diesem Fall eine endlos-<a href="http://de.wikipedia.org/wiki/Rekursion" rel="nofollow">Rekursion</a>.</p>
<p>Caipi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/873815</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/873815</guid><dc:creator><![CDATA[Caipi]]></dc:creator><pubDate>Fri, 16 Sep 2005 16:11:53 GMT</pubDate></item><item><title><![CDATA[Reply to Void Funktion on Fri, 16 Sep 2005 16:20:26 GMT]]></title><description><![CDATA[<p>sind sonst läbles 'ne lösung? dann wird zumindest die Rekursion vermieden.</p>
<pre><code class="language-cpp">void navigator()
{

int x;
anfang:
// generiert Zahlen
x= 10 + (rand()%(100-10+1));

if(x&lt; 90)
{
// mach irgendwas
}
else
{
goto anfang;
//funktion neu starten und aber vorherigen Aufruf beenden
}
</code></pre>
<p>an sonsten mit 'nem rückgabewert:</p>
<pre><code class="language-cpp">[code]
int navigator()
{

int x;
// generiert Zahlen
x= 10 + (rand()%(100-10+1));

if(x&lt; 90)
{
// mach irgendwas
return 0;
}
else
{
//funktion neu starten und aber vorherigen Aufruf beenden
return 1;
}

int main (void){
int i;

while(  navigator())
   ;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/873823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/873823</guid><dc:creator><![CDATA[kleiner anfänger]]></dc:creator><pubDate>Fri, 16 Sep 2005 16:20:26 GMT</pubDate></item><item><title><![CDATA[Reply to Void Funktion on Fri, 16 Sep 2005 16:23:01 GMT]]></title><description><![CDATA[<p>nachtrag:</p>
<p>wenn Du auf das VOID navigator() gesteigerten wert legst, kannst Du auch 'nen pointer als argument übergeben und so den int wert zurückliefern</p>
]]></description><link>https://www.c-plusplus.net/forum/post/873825</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/873825</guid><dc:creator><![CDATA[kleiner anfänger]]></dc:creator><pubDate>Fri, 16 Sep 2005 16:23:01 GMT</pubDate></item><item><title><![CDATA[Reply to Void Funktion on Fri, 16 Sep 2005 16:35:22 GMT]]></title><description><![CDATA[<p>kleiner anfänger schrieb:</p>
<blockquote>
<p>sind sonst läbles 'ne lösung? dann wird zumindest die Rekursion vermieden.</p>
</blockquote>
<p>Btw: Die Dinger heißen Labels ;). Ich würde sie hier allerdings nicht benutzen, da sie den Code hier unötig verwirren.</p>
<blockquote>
<pre><code class="language-cpp">...
//funktion neu starten und aber vorherigen Aufruf beenden
...
}
</code></pre>
</blockquote>
<p>Das hier ist falsch. Der vorige Aufruf der Funktion wird hier nicht beendet. Du springst einfach nur wieder nach oben.</p>
<blockquote>
<p>an sonsten mit 'nem rückgabewert:</p>
<pre><code class="language-cpp">[code]
int navigator()
{

int x;
// generiert Zahlen
x= 10 + (rand()%(100-10+1));

if(x&lt; 90)
{
// mach irgendwas
return 0;
}
else
{
//funktion neu starten und aber vorherigen Aufruf beenden
return 1;
}

int main (void){
int i;

while(  navigator())
   ;
}
</code></pre>
</blockquote>
<p>So ist das doch schon eher was.</p>
<p>Caipi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/873835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/873835</guid><dc:creator><![CDATA[Caipi]]></dc:creator><pubDate>Fri, 16 Sep 2005 16:35:22 GMT</pubDate></item><item><title><![CDATA[Reply to Void Funktion on Fri, 16 Sep 2005 16:38:41 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/31236">@kleiner</a> Anfänger: machs doch nicht so kompliziert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> !<br />
goto's benutzt eh keiner (fast) mehr und beim 2'ten code<br />
verschwendest du zeit weil du im schlimmsten Falle,mehrmals<br />
aus der Funktion raus und rein springst...</p>
<pre><code class="language-cpp">void navigator()
{

   int x;

   do {
          x = 10 + (rand()%(100-10+1));

   } while(x&gt;=90);

// mach irgendwas

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/873838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/873838</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 16 Sep 2005 16:38:41 GMT</pubDate></item></channel></rss>