<?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[Switch Anweisung]]></title><description><![CDATA[<p>Hallo,<br />
ich studiere Informatik und habe folgende Aufgabenstellung:</p>
<p>Aufgabe 10: Switch-Anweisungen<br />
Entwerfen Sie einen Algorithmus, der einzelne Zeichen einliest und in der gelesenen<br />
Reihenfolge als Hexadezimal-Zahl interpretiert und ausgibt. Das Ausgabe soll sowohl<br />
hexadezimal also auch dezimal erfolgen. Dabei sind nur gültige Zeichen zugelassen.</p>
<p>Beispiel:<br />
Eingabe &gt; 0 1 f<br />
Ausgabe: hex: 1f dec: 31</p>
<p>Mein Problem ist jetzt, dass ich nicht weiß wie ich die einzelnen character einlesen kann bis das ende erreicht ist und nicht nur der erste allein eingelesen wird.</p>
<p>ich hoffe ihr versteht was ich meine und könnt mir weiterhelfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/285766/switch-anweisung</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 08:41:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/285766.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 27 Apr 2011 15:10:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Switch Anweisung on Wed, 27 Apr 2011 15:10:08 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich studiere Informatik und habe folgende Aufgabenstellung:</p>
<p>Aufgabe 10: Switch-Anweisungen<br />
Entwerfen Sie einen Algorithmus, der einzelne Zeichen einliest und in der gelesenen<br />
Reihenfolge als Hexadezimal-Zahl interpretiert und ausgibt. Das Ausgabe soll sowohl<br />
hexadezimal also auch dezimal erfolgen. Dabei sind nur gültige Zeichen zugelassen.</p>
<p>Beispiel:<br />
Eingabe &gt; 0 1 f<br />
Ausgabe: hex: 1f dec: 31</p>
<p>Mein Problem ist jetzt, dass ich nicht weiß wie ich die einzelnen character einlesen kann bis das ende erreicht ist und nicht nur der erste allein eingelesen wird.</p>
<p>ich hoffe ihr versteht was ich meine und könnt mir weiterhelfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2055150</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2055150</guid><dc:creator><![CDATA[micksen-ms]]></dc:creator><pubDate>Wed, 27 Apr 2011 15:10:08 GMT</pubDate></item><item><title><![CDATA[Reply to Switch Anweisung on Wed, 27 Apr 2011 15:12:48 GMT]]></title><description><![CDATA[<p>Versuch's mal mit einer Schleife <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>(aber ansonsten kann ein istream auch schon Hex-Zahlen einlesen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2055153</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2055153</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 27 Apr 2011 15:12:48 GMT</pubDate></item><item><title><![CDATA[Reply to Switch Anweisung on Wed, 27 Apr 2011 15:18:31 GMT]]></title><description><![CDATA[<p>Einlesen von der Tastatur z.B. mit</p>
<pre><code class="language-cpp">string asd = &quot;&quot;;
getline(cin, asd);
</code></pre>
<p>Dann hast du alle Zeichen, die kannst du dann weiterverarbeiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2055160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2055160</guid><dc:creator><![CDATA[snOOfy]]></dc:creator><pubDate>Wed, 27 Apr 2011 15:18:31 GMT</pubDate></item><item><title><![CDATA[Reply to Switch Anweisung on Wed, 27 Apr 2011 15:24:05 GMT]]></title><description><![CDATA[<p>also ich hab das programm soweit das wenn ich die zeichen direkt nacheinander<br />
eintippe ich den richtigen wert bekommen.<br />
also für: 01f -&gt; Dezimal 31</p>
<p>aber im Beispielt ist ja gefordert:0 1 f einzugeben und es dann rauszubekommen und das bekomme ich nicht hin.</p>
<p>danke für eure mühe <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/2055167</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2055167</guid><dc:creator><![CDATA[micksen-ms]]></dc:creator><pubDate>Wed, 27 Apr 2011 15:24:05 GMT</pubDate></item><item><title><![CDATA[Reply to Switch Anweisung on Wed, 27 Apr 2011 15:27:26 GMT]]></title><description><![CDATA[<p>Zeig mal deinen bisherigen, kompilierbaren Quellcode. <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/2055170</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2055170</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 27 Apr 2011 15:27:26 GMT</pubDate></item><item><title><![CDATA[Reply to Switch Anweisung on Wed, 27 Apr 2011 15:29:25 GMT]]></title><description><![CDATA[<p>#include &lt;string&gt;<br />
#include &lt;iostream&gt;</p>
<p>using namespace std;</p>
<p>int main(void)</p>
<p>{</p>
<p>string eingabe = &quot;&quot;;<br />
int ergebnis = 0;<br />
int faktor = 1;</p>
<p>cin &gt;&gt; eingabe;</p>
<p>for (unsigned int i = 1; i &lt; eingabe.length(); i++)<br />
{<br />
faktor *= 16;<br />
}</p>
<p>for (unsigned int i = 0; i &lt; eingabe.length(); i++)<br />
{<br />
switch(eingabe[i])<br />
{<br />
case '0':<br />
ergebnis += 0<em>faktor;<br />
break;<br />
case '1':<br />
ergebnis += 1</em>faktor;<br />
break;<br />
case '2':<br />
ergebnis += 2<em>faktor;<br />
break;<br />
case '3':<br />
ergebnis += 3</em>faktor;<br />
break;<br />
case '4':<br />
ergebnis += 4<em>faktor;<br />
break;<br />
case '5':<br />
ergebnis += 5</em>faktor;<br />
break;<br />
case '6':<br />
ergebnis += 6<em>faktor;<br />
break;<br />
case '7':<br />
ergebnis += 7</em>faktor;<br />
break;<br />
case '8':<br />
ergebnis += 8<em>faktor;<br />
break;<br />
case '9':<br />
ergebnis += 9</em>faktor;<br />
break;<br />
case 'a':<br />
ergebnis += 10<em>faktor;<br />
break;<br />
case 'b':<br />
ergebnis += 11</em>faktor;<br />
break;<br />
case 'c':<br />
ergebnis += 12<em>faktor;<br />
break;<br />
case 'd':<br />
ergebnis += 13</em>faktor;<br />
break;<br />
case 'e':<br />
ergebnis += 14<em>faktor;<br />
break;<br />
case 'f':<br />
ergebnis += 15</em>faktor;<br />
break;<br />
}</p>
<p>faktor/=16;</p>
<p>}</p>
<p>cout &lt;&lt; ergebnis&lt;&lt;endl;</p>
<p>return 0;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2055172</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2055172</guid><dc:creator><![CDATA[micksen-ms]]></dc:creator><pubDate>Wed, 27 Apr 2011 15:29:25 GMT</pubDate></item><item><title><![CDATA[Reply to Switch Anweisung on Wed, 27 Apr 2011 15:31:51 GMT]]></title><description><![CDATA[<p>Bitte [ cpp] und [ /cpp] Tags verwenden.</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;iostream&gt;

using namespace std;

int main(void)

{

string eingabe = &quot;&quot;;
int ergebnis = 0;
int faktor = 1;

cin &gt;&gt; eingabe;

for (unsigned int i = 1; i &lt; eingabe.length(); i++)
{
faktor *= 16;
}

for (unsigned int i = 0; i &lt; eingabe.length(); i++)
{
switch(eingabe[i])
{
case '0':
ergebnis += 0*faktor;
break;
case '1':
ergebnis += 1*faktor;
break;
case '2':
ergebnis += 2*faktor;
break;
case '3':
ergebnis += 3*faktor;
break;
case '4':
ergebnis += 4*faktor;
break;
case '5':
ergebnis += 5*faktor;
break;
case '6':
ergebnis += 6*faktor;
break;
case '7':
ergebnis += 7*faktor;
break;
case '8':
ergebnis += 8*faktor;
break;
case '9':
ergebnis += 9*faktor;
break;
case 'a':
ergebnis += 10*faktor;
break;
case 'b':
ergebnis += 11*faktor;
break;
case 'c':
ergebnis += 12*faktor;
break;
case 'd':
ergebnis += 13*faktor;
break;
case 'e':
ergebnis += 14*faktor;
break;
case 'f':
ergebnis += 15*faktor;
break;
}

faktor/=16;

}

cout &lt;&lt; ergebnis&lt;&lt;endl;

return 0;
}
</code></pre>
<p>Achja, und immer schön Einrücken nicht vergessen, damit man es auch lesen 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/2055174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2055174</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 27 Apr 2011 15:31:51 GMT</pubDate></item><item><title><![CDATA[Reply to Switch Anweisung on Wed, 27 Apr 2011 15:31:40 GMT]]></title><description><![CDATA[<p>Versuch es mal mit einer Schleife und cin.get(c);<br />
Sowas wie</p>
<pre><code class="language-cpp">//
while(cin.get(c)) {
   switch(c){
       // Auswerten der Zeichen
   }
}
</code></pre>
<p>Mit der Schleife liest du jedes Zeichen, auch Leerzeichen, ein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2055175</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2055175</guid><dc:creator><![CDATA[Vusur]]></dc:creator><pubDate>Wed, 27 Apr 2011 15:31:40 GMT</pubDate></item><item><title><![CDATA[Reply to Switch Anweisung on Wed, 27 Apr 2011 15:33:28 GMT]]></title><description><![CDATA[<p>Du könntest einfach alle nicht-hexadezimalen Zeichen löschen, bevor du den String verarbeitest. Außerdem empfiehlt sich, alles in Kleinbuchstaben umzuwandeln, falls jemand auf die Idee kommt, 123AF einzutippen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2055176</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2055176</guid><dc:creator><![CDATA[snOOfy]]></dc:creator><pubDate>Wed, 27 Apr 2011 15:33:28 GMT</pubDate></item><item><title><![CDATA[Reply to Switch Anweisung on Wed, 27 Apr 2011 15:38:56 GMT]]></title><description><![CDATA[<p>snOOfy schrieb:</p>
<blockquote>
<p>Du könntest einfach alle nicht-hexadezimalen Zeichen löschen, bevor du den String verarbeitest. Außerdem empfiehlt sich, alles in Kleinbuchstaben umzuwandeln, falls jemand auf die Idee kommt, 123AF einzutippen.</p>
</blockquote>
<p>ja genau sowas in der art brauch ich, nur hab ich (noch) keine ahnung, wie man in einem string prüft ob es sich bei einem zeichen um einen hex-zeichen handelt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2055180</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2055180</guid><dc:creator><![CDATA[micksen-ms]]></dc:creator><pubDate>Wed, 27 Apr 2011 15:38:56 GMT</pubDate></item><item><title><![CDATA[Reply to Switch Anweisung on Wed, 27 Apr 2011 15:45:33 GMT]]></title><description><![CDATA[<p>Ich würde die Zahl stückweise aufbauen, während sie eingelesen wird:</p>
<pre><code class="language-cpp">while(cin.get(c) &amp;&amp; c!='\n')
{
  switch(c)
  {
  case '0': ergebnis = 16*ergebnis; break;
  case '1': ergebnis = 16*ergebnis+1; break;
  ...
  default:  // Behandlung von unbekannten Eingabezeichen
}
</code></pre>
<p>(wobei ich mir auch kürzere Möglichkeiten vorstellen könnte, aus einem Zeichen eine Hex-Ziffer zu extrahieren)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2055190</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2055190</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 27 Apr 2011 15:45:33 GMT</pubDate></item></channel></rss>