<?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[while Schleife &amp;quot;auslagern&amp;quot;]]></title><description><![CDATA[<p>Hallo!<br />
Da ich leider noch ein Anfänger in C++ bin brauch ich eure Hilfe.<br />
Ich schreibe derzeit eine längere Konsolenanwendung, bin bei der 250 Zeile im Quelltex, und langsam wirds schwer wenn mal wo was auszubessern ist.<br />
Ich habe folgendes &quot;Problem&quot;:<br />
Im Programm kommt eine while Schleife vor die ich gerne öfter benutzen würde.<br />
Im Internet habe ich von einer goto Funktion gelesen, mit der wird der Quelltext aber nicht leichter zum lesen <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="😉"
    /><br />
Mir ist klar, dass ich die Schleife im Quelltest &quot;minimieren&quot; kann, bin damit dennoch nicht zufrieden.<br />
Gibt es nicht die Möglichkeit, dass ich diese Schleife in eine zweite Datei verschiebe und diese Datei dann mittels Befehl im Hauptprogramm ausführe?<br />
Ich drücke mich vielleicht falsch aus mit Datei meine ich kein txt Dokument sondern zb. Schleife.cpp oder Schleife.h<br />
Würde mir sehr helfen da ich vielleicht am Schluss draufkomme, dass bei der Schleife eine Funktion fehlt.</p>
<p>MFG</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/338582/while-schleife-quot-auslagern-quot</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 10:34:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/338582.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 24 Jun 2016 21:00:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to while Schleife &amp;quot;auslagern&amp;quot; on Fri, 24 Jun 2016 21:00:18 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Da ich leider noch ein Anfänger in C++ bin brauch ich eure Hilfe.<br />
Ich schreibe derzeit eine längere Konsolenanwendung, bin bei der 250 Zeile im Quelltex, und langsam wirds schwer wenn mal wo was auszubessern ist.<br />
Ich habe folgendes &quot;Problem&quot;:<br />
Im Programm kommt eine while Schleife vor die ich gerne öfter benutzen würde.<br />
Im Internet habe ich von einer goto Funktion gelesen, mit der wird der Quelltext aber nicht leichter zum lesen <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="😉"
    /><br />
Mir ist klar, dass ich die Schleife im Quelltest &quot;minimieren&quot; kann, bin damit dennoch nicht zufrieden.<br />
Gibt es nicht die Möglichkeit, dass ich diese Schleife in eine zweite Datei verschiebe und diese Datei dann mittels Befehl im Hauptprogramm ausführe?<br />
Ich drücke mich vielleicht falsch aus mit Datei meine ich kein txt Dokument sondern zb. Schleife.cpp oder Schleife.h<br />
Würde mir sehr helfen da ich vielleicht am Schluss draufkomme, dass bei der Schleife eine Funktion fehlt.</p>
<p>MFG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2500085</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2500085</guid><dc:creator><![CDATA[new001]]></dc:creator><pubDate>Fri, 24 Jun 2016 21:00:18 GMT</pubDate></item><item><title><![CDATA[Reply to while Schleife &amp;quot;auslagern&amp;quot; on Fri, 24 Jun 2016 21:04:32 GMT]]></title><description><![CDATA[<p>ja die while-schleife kannst du z.b. auch in eine (inline-) funktion auslagern.</p>
<p>die verwendung zusätzlicher dateien geht natürlich auch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2500087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2500087</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Fri, 24 Jun 2016 21:04:32 GMT</pubDate></item><item><title><![CDATA[Reply to while Schleife &amp;quot;auslagern&amp;quot; on Sat, 25 Jun 2016 07:24:12 GMT]]></title><description><![CDATA[<p>Das was du suchst, nennt sich Funktion.</p>
<p>Die kannst du aber auch in derselben Datei definieren.</p>
<p>Früher (damals im letzten Jahrtausend) sagte man, eine Fuktion sollte nicht länger als eine Bildschirmseite sein. Das waren ca. 25 Zeilen.<br />
<code>main</code> ist auch eine Funktion.</p>
<p>250 Zeilen für eine Datei sind eher wenig, für eine Funktion doch eher viel.</p>
<p><code>goto</code> gilt als böse, und wird sehr, sehr, sehr selten verwendet und gilt für Anfänger als verboten. <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="😉"
    /><br />
(du hast ja schon gemerkt warum)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2500101</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2500101</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Sat, 25 Jun 2016 07:24:12 GMT</pubDate></item><item><title><![CDATA[Reply to while Schleife &amp;quot;auslagern&amp;quot; on Sat, 25 Jun 2016 06:45:20 GMT]]></title><description><![CDATA[<p>Ein Minimalbeispiel wäre hilfreich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2500104</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2500104</guid><dc:creator><![CDATA[EOP]]></dc:creator><pubDate>Sat, 25 Jun 2016 06:45:20 GMT</pubDate></item><item><title><![CDATA[Reply to while Schleife &amp;quot;auslagern&amp;quot; on Sat, 25 Jun 2016 11:35:04 GMT]]></title><description><![CDATA[<p>Danke für eure Antworten.<br />
Minimalbeispiel:</p>
<p>Bei mir geht es um die Vergabe von Skillpunkten.</p>
<p>Hier zeigt er nur an wieviele Punkte der Charakter bereits besitzt und wieviele Punkte noch verfügbar sind.</p>
<pre><code>cout &lt;&lt; &quot;Sie haben noch &quot; &lt;&lt; skillPunkte &lt;&lt; &quot; Skill-Punkte uebrig.\n&quot;;
	cout &lt;&lt; &quot;Gesundheit= &quot; &lt;&lt; character.gesundheit &lt;&lt; &quot;\n&quot;;
	cout &lt;&lt; &quot;Ausdauer= &quot; &lt;&lt; character.ausdauer &lt;&lt; &quot;\n&quot;;
	cout &lt;&lt; &quot;Abwehr= &quot; &lt;&lt; character.abwehr &lt;&lt; &quot;\n&quot;;
	cout &lt;&lt; &quot;Mana= &quot; &lt;&lt; character.mana &lt;&lt; &quot;\n&quot;;
	cout &lt;&lt; &quot;Staerke= &quot; &lt;&lt; character.staerke &lt;&lt; &quot;\n&quot;;
	cout &lt;&lt; &quot;Wissen= &quot; &lt;&lt; character.wissen &lt;&lt; &quot;\n&quot;;
	cout &lt;&lt; &quot;Geschick= &quot; &lt;&lt; character.geschick &lt;&lt; &quot;\n&quot;;
	cout &lt;&lt; &quot;Krit= &quot; &lt;&lt; character.krit &lt;&lt; &quot;\n&quot;;
	cout &lt;&lt; &quot;Glueck= &quot; &lt;&lt; character.glueck &lt;&lt; &quot;\n&quot;;
</code></pre>
<p>Danach startet die while Schleife:</p>
<pre><code>while (skillPunkte &gt; 0)
	{

		if (skillPunkte &gt; 0)
		{

			cout &lt;&lt; &quot;Erhoehen Sie nun Ihre Gesundheit: (0 für keine Erhoehung)\n&quot;;
			cin &gt;&gt; zwischenspeicher;
			if (zwischenspeicher &gt; 10)
			{
				cout &lt;&lt; &quot;Sie können nicht mehr Skill Punkte verwenden als Sie haben! \n&quot;;
			}
			else
			{

				character.gesundheit = character.gesundheit + zwischenspeicher * 10;
				skillPunkte = skillPunkte - zwischenspeicher;
				zwischenspeicher = 0;
				cout &lt;&lt; &quot;Gesundheit ist nun auf &quot; &lt;&lt; character.gesundheit; cout &lt;&lt; &quot;\n&quot;;
			}
		}
</code></pre>
<p>Danach geht es mit Ausdauer weiter. Wenn alle Punkte verteilt sind zeigt er das Inventar an. Hier kann man Waffen ausrüsten usw.<br />
Diese komplette Funktion hätte ich eben gerne mit einem Befehl ausgeführt.<br />
Ich würde dann gerne (wenn ich dann später wieder Punkte zu verteilen habe) einen Befehl eingeben damit er diesen Abschnitt startet und wenn er fertig ist an der richtigen Stelle mit dem Programm weiter macht.</p>
<p>Die inline Funktion habe ich mir schon angeschaut. Komme aber mit der nicht zurecht. Kann ich sie für diese Aufgabe benutzen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2500115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2500115</guid><dc:creator><![CDATA[new001]]></dc:creator><pubDate>Sat, 25 Jun 2016 11:35:04 GMT</pubDate></item><item><title><![CDATA[Reply to while Schleife &amp;quot;auslagern&amp;quot; on Sat, 25 Jun 2016 12:17:56 GMT]]></title><description><![CDATA[<p>inline bedeutet ja nur, dass der compiler freundlich darum gebeten wird, diese funktion in den fertigen code zu schreiben, wodurch dann irgendwelche sprünge vermieden werden.</p>
<p>ab einer gewissen größe, die bei dir überschritten sein dürfte, lohnt es sich einfach nicht mehr, funktionen als inline zu deklarieren, weil der programmcode dann unnötig aufgebläht wird und die zeitersparnis vernachlässigt werden kann.</p>
<p>also nimm am besten eine einfache void-funktion.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2500116</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2500116</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Sat, 25 Jun 2016 12:17:56 GMT</pubDate></item><item><title><![CDATA[Reply to while Schleife &amp;quot;auslagern&amp;quot; on Sat, 25 Jun 2016 12:31:50 GMT]]></title><description><![CDATA[<p>@HansKlaus</p>
<blockquote>
<p>funktionen als inline zu deklarieren, weil der programmcode dann unnötig aufgebläht wird und die zeitersparnis vernachlässigt werden kann.</p>
</blockquote>
<p>fast alle (welcher nicht?) heutigen Kompilern (gcc,clang,cl) ignorieren inline um genau solche Micro-Falsch-Optimierung seitens des Entwicklers zu vermeiden</p>
<p>@new001</p>
<p>was du suchst sind einfach &quot;Funktionen&quot; (<a href="https://de.wikibooks.org/wiki/C-Programmierung:_Funktionen" rel="nofollow">https://de.wikibooks.org/wiki/C-Programmierung:_Funktionen</a>)</p>
<p>ansonsten stell doch einfach deine 250 Zeilen hier rein (Code-Tags nicht vergessen sonst wirst du erschossen...)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2500117</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2500117</guid><dc:creator><![CDATA[Gast3]]></dc:creator><pubDate>Sat, 25 Jun 2016 12:31:50 GMT</pubDate></item><item><title><![CDATA[Reply to while Schleife &amp;quot;auslagern&amp;quot; on Sat, 25 Jun 2016 13:14:35 GMT]]></title><description><![CDATA[<p>ich dachte immer, dass inline eine empfehlung an den compiler ist, und dass der compiler dann irgendwie die zeilen der funktion zählt ö.ä. und dann darüber entscheidet, ob er der empfehlung folgt.</p>
<p>wäre schon ziemlich doof, wenn wirklich kleine funktionen, die oft aufgerufen werden und die ich daher gerne als inline haben möchte, nicht auch so umgesetzt werden würden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2500121</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2500121</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Sat, 25 Jun 2016 13:14:35 GMT</pubDate></item><item><title><![CDATA[Reply to while Schleife &amp;quot;auslagern&amp;quot; on Sat, 25 Jun 2016 13:22:59 GMT]]></title><description><![CDATA[<blockquote>
<p>wäre schon ziemlich doof, wenn wirklich kleine funktionen, die oft aufgerufen werden und die ich daher gerne als inline haben möchte, nicht auch so umgesetzt werden würden.</p>
</blockquote>
<p>Empfehlung heißt eben nicht - wenn zu Gross dann trotzdem, oder immer inline - sondern - in den meisten Fällen macht der Kompiler das was er für sinnvoll hält</p>
<p>mit inline kann man nicht mehr so viel Einfluss nehmen wie zu DOS Zeiten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2500122</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2500122</guid><dc:creator><![CDATA[Gast3]]></dc:creator><pubDate>Sat, 25 Jun 2016 13:22:59 GMT</pubDate></item><item><title><![CDATA[Reply to while Schleife &amp;quot;auslagern&amp;quot; on Sat, 25 Jun 2016 16:32:04 GMT]]></title><description><![CDATA[<p>new001 schrieb:</p>
<blockquote>
<pre><code>while (skillPunkte &gt; 0)
	{
		if (skillPunkte &gt; 0)
		{
...
</code></pre>
</blockquote>
<p>Das ist doppelt gemoppelt.</p>
<pre><code>void sP( int skillPunkte )
{
	if( skillPunkte &lt;= 0 )
		return;
	else
	...
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2500141</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2500141</guid><dc:creator><![CDATA[EOP]]></dc:creator><pubDate>Sat, 25 Jun 2016 16:32:04 GMT</pubDate></item></channel></rss>