<?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[Innerhalb von while() Abbruch erzwingen]]></title><description><![CDATA[<pre><code class="language-cpp">while(room[i] != &quot;exit&quot; || ram[i] != &quot;exit&quot; || cpu[i] != &quot;exit&quot; || bios[i] != &quot;exit&quot; ||
          net[i] != &quot;exit&quot; || sound[i] != &quot;exit&quot; || hdisc[i] != &quot;exit&quot; || graph[i] != &quot;exit&quot; ||
          dev[i] != &quot;exit&quot; || ddev[i] != &quot;exit&quot; || invnr[i] != &quot;exit&quot; || accept != &quot;exit&quot;)
    {
      cout &lt;&lt; &quot;  Raum: &quot;;
      cin  &gt;&gt; room[i];
      cout &lt;&lt; &quot;  RAM: &quot;;
      cin  &gt;&gt; ram[i];
      cout &lt;&lt; &quot;  CPU: &quot;;
      cin  &gt;&gt; cpu[i];
      cout &lt;&lt; &quot;  BIOS: &quot;;
      cin  &gt;&gt; bios[i];
      cout &lt;&lt; &quot;  Netzwerkkarte: &quot;;
      cin  &gt;&gt; net[i];
      cout &lt;&lt; &quot;  Soundkarte: &quot;;
      cin  &gt;&gt; sound[i];
      cout &lt;&lt; &quot;  Fesplatte: &quot;;
      cin  &gt;&gt; hdisc[i];
      cout &lt;&lt; &quot;  Grafikkarte: &quot;;
      cin  &gt;&gt; graph[i];
      cout &lt;&lt; &quot;  Laufwerk: &quot;;
      cin  &gt;&gt; dev[i];
      cout &lt;&lt; &quot;  Diskettenlaufwerk: &quot;;
      cin  &gt;&gt; ddev[i];
      cout &lt;&lt; &quot;  Inventarnummer: &quot;;
      cin  &gt;&gt; invnr[i];
      cout &lt;&lt; &quot;  Das war es auch schon! \x94 \bberpr\x81 \bfen Sie bitte noch einmal die eingegebenen Daten. 
                 Sollte die Eingabe richtig sein dr\x81 \bcken Sie nun bitte eine beliebige Taste + Enter. Sollte dies nicht 
                 zutreffen geben Sie stattdessen \&quot;exit\&quot; ein. &quot; &lt;&lt; endl;
      cout &lt;&lt; &quot;  ----------&gt;  &quot;;
      cin  &gt;&gt; accept;
    }
</code></pre>
<p>Nun zum Problem: Nach aktuellem Stand würde die Schleife erst alle Bedingungen entgegennehmen dann die Anweisungen ausführen und sich anschließend beenden (wenn eine bedingung zutrifft). Wenn ich eine do-while-Schleife benutze steh ich so blöd da wie vorher. Ich müsste also irgendwie erzwingen können, dass nach jeder Eingabe auf Eintreten einer der Bedingungen geprüft wird. Also ich hoff ja, dass ich grad wieder nur ein Brett vor dem Kopf hab und es eigentlich ganz simpel is. Ich bedanke mich auf jeden Fall schonmal im voraus.</p>
<p>P.S.: Ich kann doch bestimmt den Bedingungswirrwar in der Klammer auf ein erträgliches Maß reduzieren oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/186900/innerhalb-von-while-abbruch-erzwingen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 12:49:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/186900.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 13 Jul 2007 12:41:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Innerhalb von while() Abbruch erzwingen on Fri, 13 Jul 2007 12:41:20 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">while(room[i] != &quot;exit&quot; || ram[i] != &quot;exit&quot; || cpu[i] != &quot;exit&quot; || bios[i] != &quot;exit&quot; ||
          net[i] != &quot;exit&quot; || sound[i] != &quot;exit&quot; || hdisc[i] != &quot;exit&quot; || graph[i] != &quot;exit&quot; ||
          dev[i] != &quot;exit&quot; || ddev[i] != &quot;exit&quot; || invnr[i] != &quot;exit&quot; || accept != &quot;exit&quot;)
    {
      cout &lt;&lt; &quot;  Raum: &quot;;
      cin  &gt;&gt; room[i];
      cout &lt;&lt; &quot;  RAM: &quot;;
      cin  &gt;&gt; ram[i];
      cout &lt;&lt; &quot;  CPU: &quot;;
      cin  &gt;&gt; cpu[i];
      cout &lt;&lt; &quot;  BIOS: &quot;;
      cin  &gt;&gt; bios[i];
      cout &lt;&lt; &quot;  Netzwerkkarte: &quot;;
      cin  &gt;&gt; net[i];
      cout &lt;&lt; &quot;  Soundkarte: &quot;;
      cin  &gt;&gt; sound[i];
      cout &lt;&lt; &quot;  Fesplatte: &quot;;
      cin  &gt;&gt; hdisc[i];
      cout &lt;&lt; &quot;  Grafikkarte: &quot;;
      cin  &gt;&gt; graph[i];
      cout &lt;&lt; &quot;  Laufwerk: &quot;;
      cin  &gt;&gt; dev[i];
      cout &lt;&lt; &quot;  Diskettenlaufwerk: &quot;;
      cin  &gt;&gt; ddev[i];
      cout &lt;&lt; &quot;  Inventarnummer: &quot;;
      cin  &gt;&gt; invnr[i];
      cout &lt;&lt; &quot;  Das war es auch schon! \x94 \bberpr\x81 \bfen Sie bitte noch einmal die eingegebenen Daten. 
                 Sollte die Eingabe richtig sein dr\x81 \bcken Sie nun bitte eine beliebige Taste + Enter. Sollte dies nicht 
                 zutreffen geben Sie stattdessen \&quot;exit\&quot; ein. &quot; &lt;&lt; endl;
      cout &lt;&lt; &quot;  ----------&gt;  &quot;;
      cin  &gt;&gt; accept;
    }
</code></pre>
<p>Nun zum Problem: Nach aktuellem Stand würde die Schleife erst alle Bedingungen entgegennehmen dann die Anweisungen ausführen und sich anschließend beenden (wenn eine bedingung zutrifft). Wenn ich eine do-while-Schleife benutze steh ich so blöd da wie vorher. Ich müsste also irgendwie erzwingen können, dass nach jeder Eingabe auf Eintreten einer der Bedingungen geprüft wird. Also ich hoff ja, dass ich grad wieder nur ein Brett vor dem Kopf hab und es eigentlich ganz simpel is. Ich bedanke mich auf jeden Fall schonmal im voraus.</p>
<p>P.S.: Ich kann doch bestimmt den Bedingungswirrwar in der Klammer auf ein erträgliches Maß reduzieren oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324656</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324656</guid><dc:creator><![CDATA[supern0va]]></dc:creator><pubDate>Fri, 13 Jul 2007 12:41:20 GMT</pubDate></item><item><title><![CDATA[Reply to Innerhalb von while() Abbruch erzwingen on Fri, 13 Jul 2007 12:45:06 GMT]]></title><description><![CDATA[<p>Versuch's mal mit 'break' (damit verlässt du die Schleife sofort und ohne Umwege).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324661</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324661</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 13 Jul 2007 12:45:06 GMT</pubDate></item><item><title><![CDATA[Reply to Innerhalb von while() Abbruch erzwingen on Fri, 13 Jul 2007 12:47:23 GMT]]></title><description><![CDATA[<p>warum überprüfst du eigentlich alle eingaben auf &quot;exit&quot;? im info-text steht doch, dass man ganz am ende exit eingeben soll, um rauszukommen. also reicht vom konzept her</p>
<pre><code class="language-cpp">while(accept != &quot;exit&quot;) ...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1324665</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324665</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Fri, 13 Jul 2007 12:47:23 GMT</pubDate></item><item><title><![CDATA[Reply to Innerhalb von while() Abbruch erzwingen on Fri, 13 Jul 2007 12:53:44 GMT]]></title><description><![CDATA[<p>thordk schrieb:</p>
<blockquote>
<p>warum überprüfst du eigentlich alle eingaben auf &quot;exit&quot;? im info-text steht doch, dass man ganz am ende exit eingeben soll, um rauszukommen. also reicht vom konzept her</p>
<pre><code class="language-cpp">while(accept != &quot;exit&quot;) ...
</code></pre>
</blockquote>
<p>Das kann ich dir sagen :). Ich wolle schauen wie die Schleife funktioniert; heißt: ob das Abbrechen an jeder Stelle funktioniert, aber so gesehen ist es natürlich Quatsch.</p>
<p>Wo soll ich break denn hinsetzen?</p>
<p>EDIT: Was du nicht sehen konntest: es gibt vorher noch einen Info-Text der sagt, dass man an jeder Stelle beenden kann und so ist es auch angedacht also ich denk um die Bedingungen komm ich nicht herum.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324668</guid><dc:creator><![CDATA[supern0va]]></dc:creator><pubDate>Fri, 13 Jul 2007 12:53:44 GMT</pubDate></item><item><title><![CDATA[Reply to Innerhalb von while() Abbruch erzwingen on Fri, 13 Jul 2007 12:53:52 GMT]]></title><description><![CDATA[<p>supern0va schrieb:</p>
<blockquote>
<p>Wo soll ich break denn hinsetzen?</p>
</blockquote>
<p>So gesehen reicht eigentlich die Überprüfung von accept aus. Aber wenn du es unbedingt wissen willst - das break gehört dorthin, wo du aus der Schleife rausspringen willst (am besten hinter einem if() versteckt):</p>
<pre><code class="language-cpp">while(...)
{
  cout &lt;&lt; &quot;  Raum: &quot;;
  cin  &gt;&gt; room[i];
  if(room[i]==&quot;exit&quot;) break;
  ...
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1324670</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324670</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 13 Jul 2007 12:53:52 GMT</pubDate></item><item><title><![CDATA[Reply to Innerhalb von while() Abbruch erzwingen on Fri, 13 Jul 2007 12:56:01 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>supern0va schrieb:</p>
<blockquote>
<p>Wo soll ich break denn hinsetzen?</p>
</blockquote>
<p>So gesehen reicht eigentlich die Überprüfung von accept aus. Aber wenn du es unbedingt wissen willst - das break gehört dorthin, wo du aus der Schleife rausspringen willst (am besten hinter einem if() versteckt):</p>
<pre><code class="language-cpp">while(...)
{
  cout &lt;&lt; &quot;  Raum: &quot;;
  cin  &gt;&gt; room[i];
  if(room[i]==&quot;exit&quot;) break;
  ...
}
</code></pre>
</blockquote>
<p>genau da liegt aber das &quot;Problem&quot;. Wenn ich des so hinter jede Eingabe setze ist das glaub ich nicht der Sinn der Sache.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324672</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324672</guid><dc:creator><![CDATA[supern0va]]></dc:creator><pubDate>Fri, 13 Jul 2007 12:56:01 GMT</pubDate></item><item><title><![CDATA[Reply to Innerhalb von while() Abbruch erzwingen on Fri, 13 Jul 2007 12:58:33 GMT]]></title><description><![CDATA[<p>Wenn du nach jeder Eingabe die Chance haben willst, die Schleife zu verlassen, <strong>musst</strong> du nach jeder Eingabe ein break setzen (oder soll der Compiler raten, wann er die Schleife beenden darf und wann nicht?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324675</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 13 Jul 2007 12:58:33 GMT</pubDate></item><item><title><![CDATA[Reply to Innerhalb von while() Abbruch erzwingen on Fri, 13 Jul 2007 13:00:58 GMT]]></title><description><![CDATA[<p>Das würd ich ihm doch niemals zumuten <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="🙂"
    /> . Ich dachte nur, dass man das evtl. etwas übersichtlicher gestalten kann. Aber wenn nicht dann muss ich mich wohl damit zufrieden geben.....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324678</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324678</guid><dc:creator><![CDATA[supern0va]]></dc:creator><pubDate>Fri, 13 Jul 2007 13:00:58 GMT</pubDate></item><item><title><![CDATA[Reply to Innerhalb von while() Abbruch erzwingen on Fri, 13 Jul 2007 13:09:02 GMT]]></title><description><![CDATA[<p>ob das wirklich übersichtlicher ist, bin ich nicht ganz sicher, aber eventuell könntest du so etwas machen:</p>
<pre><code class="language-cpp">string lastinput=&quot;&quot;;
while(lastinput!=&quot;exit&quot;)
{
  string* values[]={&amp;(room[i]),&amp;(ram[i]),...,&amp;accept};
  string output[]={&quot;Raum&quot;,&quot;Ram&quot;,...,&quot;bitte 'exit' eingeben, wenn die Daten OK sind.&quot;};
  int valct = sizeof(values)/sizeof(values[0]);
  for(int i=0;i&lt;valct&amp;&amp;lastinput!=&quot;exit&quot;;++i)
  {
    cout&lt;&lt;output[i]&lt;&lt;&quot;:&quot;;
    cin&gt;&gt;lastinput;
    *values[i]=lastinput;
  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1324685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324685</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 13 Jul 2007 13:09:02 GMT</pubDate></item><item><title><![CDATA[Reply to Innerhalb von while() Abbruch erzwingen on Fri, 13 Jul 2007 13:19:27 GMT]]></title><description><![CDATA[<p>Danke für den Vorschlag!</p>
<p>Mir ist auch noch ne Möglichkeit eingefallen die das ganze immerhin übersichtlicher gestaltet.</p>
<p>Ich hab if und break in ne Funktion verfrachtet, sodass ich jetzt nen schönen Einzeiler hab.</p>
<p>Manchmal macht man das Leben halt komplizierter als es eh schon ist <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="🙄"
    />. Danke trotzdem nochmal an dich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324697</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324697</guid><dc:creator><![CDATA[supern0va]]></dc:creator><pubDate>Fri, 13 Jul 2007 13:19:27 GMT</pubDate></item></channel></rss>