<?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[probleme mit switch]]></title><description><![CDATA[<p>Hi<br />
wir haben die aufgabe in Informatik bekommen ein programm mit einem switch zu schreiben.</p>
<p>Der programm teil mit dem switch sieht folgendermaßen aus:</p>
<pre><code>switch (a)
 {
		case '1': b=1;&quot;\n\n&quot;; break;
		case '2': b=2;&quot;\n\n&quot;; break;
		case '3': b=3;&quot;\n\n&quot;; break;
		case '4': b=4;&quot;\n\n&quot;; break;
		case '0': return;
		default : b=0;
}
if (b==0)
{cout&lt;&lt;&quot;Falsche eingabe&quot;;
system (&quot;cls&quot;);
continue;
break;
</code></pre>
<p>dann nach kommt eine Variablen eingabe (cin&gt;&gt;) wenn ich jetzt aber für a (switch) eine mehr stelligezahl eingebe, benutzt er die erste für die caseauswahl die zweite fügt er als erste variableneingabe ein. wie kann ich das verhindern. und wenn ich zb für a &quot;99999999992&quot; eingebe öffnet er dann den case 2 wie kann ich das verhindern.</p>
<p>wäre überragend wenn mir da jemand weiterhelfen könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/227442/probleme-mit-switch</link><generator>RSS for Node</generator><lastBuildDate>Wed, 30 Sep 2026 03:19:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/227442.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 15 Nov 2008 12:24:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to probleme mit switch on Sat, 15 Nov 2008 12:24:44 GMT]]></title><description><![CDATA[<p>Hi<br />
wir haben die aufgabe in Informatik bekommen ein programm mit einem switch zu schreiben.</p>
<p>Der programm teil mit dem switch sieht folgendermaßen aus:</p>
<pre><code>switch (a)
 {
		case '1': b=1;&quot;\n\n&quot;; break;
		case '2': b=2;&quot;\n\n&quot;; break;
		case '3': b=3;&quot;\n\n&quot;; break;
		case '4': b=4;&quot;\n\n&quot;; break;
		case '0': return;
		default : b=0;
}
if (b==0)
{cout&lt;&lt;&quot;Falsche eingabe&quot;;
system (&quot;cls&quot;);
continue;
break;
</code></pre>
<p>dann nach kommt eine Variablen eingabe (cin&gt;&gt;) wenn ich jetzt aber für a (switch) eine mehr stelligezahl eingebe, benutzt er die erste für die caseauswahl die zweite fügt er als erste variableneingabe ein. wie kann ich das verhindern. und wenn ich zb für a &quot;99999999992&quot; eingebe öffnet er dann den case 2 wie kann ich das verhindern.</p>
<p>wäre überragend wenn mir da jemand weiterhelfen könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1615059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1615059</guid><dc:creator><![CDATA[Final_Mistery]]></dc:creator><pubDate>Sat, 15 Nov 2008 12:24:44 GMT</pubDate></item><item><title><![CDATA[Reply to probleme mit switch on Sat, 15 Nov 2008 13:09:29 GMT]]></title><description><![CDATA[<p>Zum einen...poste den ganzen Code...<br />
Lass mich raten...a ist ein character?<br />
was sollen die &quot;\n\n&quot; ?<br />
Verwende Klammern {}<br />
Was soll continue; break; ?<br />
Wozu brauchst du b? - du könntest direkt if(a==DefaultCase) verwenden</p>
<p>Nimm doch einfach einen Integer (int) statt char</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1615071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1615071</guid><dc:creator><![CDATA[Kuldren]]></dc:creator><pubDate>Sat, 15 Nov 2008 13:09:29 GMT</pubDate></item><item><title><![CDATA[Reply to probleme mit switch on Sat, 15 Nov 2008 13:56:10 GMT]]></title><description><![CDATA[<p>Kuldren schrieb:</p>
<blockquote>
<p>Verwende Klammern {}</p>
</blockquote>
<p>Nicht nötig innerhalb von <code>switch</code> -Blöcken. Trägt auch nicht unbedingt zur Steigerung der Übersicht bei...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1615084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1615084</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 15 Nov 2008 13:56:10 GMT</pubDate></item><item><title><![CDATA[Reply to probleme mit switch on Sat, 15 Nov 2008 14:14:07 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Kuldren schrieb:</p>
<blockquote>
<p>Verwende Klammern {}</p>
</blockquote>
<p>Nicht nötig innerhalb von <code>switch</code> -Blöcken. Trägt auch nicht unbedingt zur Steigerung der Übersicht bei...</p>
</blockquote>
<p>Ist mir klar und finde ich schon.<br />
Klammern tragen immer zur Übersicht bei</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1615090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1615090</guid><dc:creator><![CDATA[Kuldren]]></dc:creator><pubDate>Sat, 15 Nov 2008 14:14:07 GMT</pubDate></item><item><title><![CDATA[Reply to probleme mit switch on Sat, 15 Nov 2008 14:20:39 GMT]]></title><description><![CDATA[<p>Kuldren schrieb:</p>
<blockquote>
<p>Ist <strong>mir</strong> klar und finde <strong>ich</strong> schon.</p>
</blockquote>
<p>Eben, es ist eher Geschmackssache. Deshalb sollte man es auch nicht anderen vorschreiben. <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>
<p>Tatsache ist, dass geschweifte Klammern in <code>switch</code> -Blöcken nicht erforderlich sind. Ob man sie dennoch macht, ist einem selbst überlassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1615092</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1615092</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 15 Nov 2008 14:20:39 GMT</pubDate></item><item><title><![CDATA[Reply to probleme mit switch on Sat, 15 Nov 2008 14:27:17 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Kuldren schrieb:</p>
<blockquote>
<p>Ist <strong>mir</strong> klar und finde <strong>ich</strong> schon.</p>
</blockquote>
<p>Eben, es ist eher Geschmackssache. Deshalb sollte man es auch nicht anderen vorschreiben. <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>
<p>Tatsache ist, dass geschweifte Klammern in <code>switch</code> -Blöcken nicht erforderlich sind. Ob man sie dennoch macht, ist einem selbst überlassen.</p>
</blockquote>
<p>Übersicht sollte in der Programmierung aber eine allgemeine Definition haben. Deshalb sollte man sich an gewisse Richtlinien halten, damit einem bei Schwierigkeiten besser geholfen werden kann. <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/1615098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1615098</guid><dc:creator><![CDATA[root2k]]></dc:creator><pubDate>Sat, 15 Nov 2008 14:27:17 GMT</pubDate></item><item><title><![CDATA[Reply to probleme mit switch on Sat, 15 Nov 2008 14:29:27 GMT]]></title><description><![CDATA[<p>root2k schrieb:</p>
<blockquote>
<p>Übersicht sollte in der Programmierung aber eine allgemeine Definition haben. Deshalb sollte man sich an gewisse Richtlinien halten, damit einem bei Schwierigkeiten besser geholfen werden kann. <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>
</blockquote>
<p>Allgemein stimmt das natürlich schon.</p>
<p>Aber was willst du damit sagen? Dass der Einsatz von geschweiften Klammern innerhalb von <code>switch</code> eine solche Richtlinie ist, die es anderen erleichtert, einem zu helfen? Ich hoffe nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1615102</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1615102</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 15 Nov 2008 14:29:27 GMT</pubDate></item><item><title><![CDATA[Reply to probleme mit switch on Sat, 15 Nov 2008 14:37:22 GMT]]></title><description><![CDATA[<p>Nein, keine Angst, ich wollte nur eine allgemeine Aussage treffen, die für den ein oder anderen vielleicht sehr wichtig sein könnte. <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>
<p>Allerdings sind mir beim groben Drüberschauen im obigen Codeschnipsel schon mehrere Fehler aufgefallen.</p>
<p>1. Escape-Sequenzen (&quot;\n&quot;) kannst du nur in Verbindung mit Ausgabefunktionen benutzen. (z.B. cout &lt;&lt; &quot;\n&quot;; ... alternativ: cout &lt;&lt; endl;)</p>
<p>2. Was soll das <em>continue;</em> und das <em>break;</em> nach dem CLearScreen-Befehl?</p>
<p>3. Entweder du lässt hier die geschwungene Klammer ganz weg, oder fügst noch eine geschlossene nach dem Semikolon ein. Achtung! Die Klammern kannst du nur komplett weglassen, wenn die Kontrollstruktur anschließend eine einzige Zeile verarbeiten muss.</p>
<pre><code class="language-cpp">if (b==0) cout &lt;&lt; &quot;Falsche Eingabe&quot;;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1615110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1615110</guid><dc:creator><![CDATA[root2k]]></dc:creator><pubDate>Sat, 15 Nov 2008 14:37:22 GMT</pubDate></item><item><title><![CDATA[Reply to probleme mit switch on Sat, 15 Nov 2008 15:29:00 GMT]]></title><description><![CDATA[<p>Gerade in dem Fall ist es wichtig Klammern zu setzen...<br />
Wen ner mal ne Schleife in einem case drin hat und dann per break; rausspringt aber bei der schleife selbst vergessen hat klammern zu setzen wird da vermutlich blödsinn herauskommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1615157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1615157</guid><dc:creator><![CDATA[Kuldren]]></dc:creator><pubDate>Sat, 15 Nov 2008 15:29:00 GMT</pubDate></item><item><title><![CDATA[Reply to probleme mit switch on Sat, 15 Nov 2008 15:33:09 GMT]]></title><description><![CDATA[<p>Kuldren schrieb:</p>
<blockquote>
<p>Wen ner mal ne Schleife in einem case drin hat und dann per break; rausspringt aber bei der schleife selbst vergessen hat klammern zu setzen wird da vermutlich blödsinn herauskommen.</p>
</blockquote>
<p>Wieso sollte man bei der Schleife vergessen, Klammern zu setzen? Dann würde ja sowieso nur eine Anweisung in der Schleife stehen. Ausserdem ging es nicht um Schleifen, sondern geschweifte Klammern bei <code>case</code> -Marken.</p>
<p>Abgesehen davon sind Schleifen innerhalb von <code>switch</code> -Blöcken bereits ein Hinweis darauf, dass man in Funktionen auslagern könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1615160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1615160</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 15 Nov 2008 15:33:09 GMT</pubDate></item><item><title><![CDATA[Reply to probleme mit switch on Sat, 15 Nov 2008 15:38:48 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Kuldren schrieb:</p>
<blockquote>
<p>Wen ner mal ne Schleife in einem case drin hat und dann per break; rausspringt aber bei der schleife selbst vergessen hat klammern zu setzen wird da vermutlich blödsinn herauskommen.</p>
</blockquote>
<p>Wieso sollte man bei der Schleife vergessen, Klammern zu setzen? Dann würde ja sowieso nur eine Anweisung in der Schleife stehen. Ausserdem ging es nicht um Schleifen, sondern geschweifte Klammern bei <code>case</code> -Marken.</p>
<p>Abgesehen davon sind Schleifen innerhalb von <code>switch</code> -Blöcken bereits ein Hinweis darauf, dass man in Funktionen auslagern könnte.</p>
</blockquote>
<p>Ne</p>
<p>Bei sowas</p>
<pre><code class="language-cpp">case xy: for(int z=0;z&lt;=10;z++)t++; if(t=5)break;x--;break;
</code></pre>
<p>(ja ... is ein schlechtes beispiel)<br />
würde ich Klammern generell verwenden.<br />
Und extra eine Funktion für die loop zu schreiben wäre überflüssig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1615165</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1615165</guid><dc:creator><![CDATA[Kuldren]]></dc:creator><pubDate>Sat, 15 Nov 2008 15:38:48 GMT</pubDate></item><item><title><![CDATA[Reply to probleme mit switch on Sat, 15 Nov 2008 15:46:06 GMT]]></title><description><![CDATA[<p>Kuldren schrieb:</p>
<blockquote>
<pre><code class="language-cpp">case xy: for(int z=0;z&lt;=10;z++)t++; if(t=5)break;x--;break;
</code></pre>
<p>(ja ... is ein schlechtes beispiel)</p>
</blockquote>
<p>Ja, und wie. So schreibt keiner eine Schleife, schon gar nicht auf einer Zeile.</p>
<p>Kuldren schrieb:</p>
<blockquote>
<p>Und extra eine Funktion für die loop zu schreiben wäre überflüssig.</p>
</blockquote>
<p>Wie du meinst. So wird der <code>switch</code> -Block nämlich aufgebläht und unübersichtlich.</p>
<p>Aber so langsam hab ich sowieso das Gefühl, das bringt hier nichts. Ich muss mich ständig wiederholen, dabei ging es doch nur darum, dass geschweifte Klammern nach <code>case</code> -Marken überflüssig seien. Und du versuchst nun, mit weit hergeholten Argumenten wie Schleifen das Gegenteil zu beweisen. Naja...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1615171</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1615171</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 15 Nov 2008 15:46:06 GMT</pubDate></item><item><title><![CDATA[Reply to probleme mit switch on Sat, 15 Nov 2008 15:57:47 GMT]]></title><description><![CDATA[<p>Woher willst du wissen dass keiner eine Schleife so anschreiben würde?<br />
Ich habs grad getan...Also wohl kaum &quot;keiner&quot;</p>
<p>Außerdem finde ich</p>
<pre><code class="language-cpp">case xy:{
    // foo();
    // bar();
    break;
}
</code></pre>
<p>übersichtlicher als</p>
<pre><code class="language-cpp">case xy:
    // foo();
    // bar();
    break;
</code></pre>
<p>Und selbst wenn man das oben genannte Beispiel mit der Schleife nicht in einer Zeile anschreiben würde könnte es trotzdem Verwirrung schaffen.<br />
Durch die Klammern hat man bei einer größeren Verzweigung mehr Orientierung</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1615179</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1615179</guid><dc:creator><![CDATA[Kuldren]]></dc:creator><pubDate>Sat, 15 Nov 2008 15:57:47 GMT</pubDate></item><item><title><![CDATA[Reply to probleme mit switch on Sat, 15 Nov 2008 16:06:14 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Abgesehen davon sind Schleifen innerhalb von <code>switch</code> -Blöcken bereits ein Hinweis darauf, dass man in Funktionen auslagern könnte.</p>
</blockquote>
<p>Nicht immer. Wenn ich unter einer <code>case</code> -Marke eine Hilfsvariable brauche, nehm' ich gerne einen Block, anstatt die im übrigen Kontext unnütze Variable mitzuschleppen. In eine Funktionen auslagern <em>kann man</em> fast alles - Aus einem aus og. Grund eingeführten Block, der Code beinhält, der nicht universell wiederverwendbar ist, eine Funktion zu machen, nur weil's ein Block ist, bringt's ned wirklich.</p>
<p>cheers, Swordfish</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1615186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1615186</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Sat, 15 Nov 2008 16:06:14 GMT</pubDate></item></channel></rss>