<?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 case mit string nicht möglich?]]></title><description><![CDATA[<p>Ja kann man mit switch case nicht auf strings prüfen? Nur auf Zahlen/Konstante.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/166502/switch-case-mit-string-nicht-möglich</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 11:03:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/166502.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Nov 2006 20:14:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to switch case mit string nicht möglich? on Wed, 29 Nov 2006 20:14:14 GMT]]></title><description><![CDATA[<p>Ja kann man mit switch case nicht auf strings prüfen? Nur auf Zahlen/Konstante.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184082</guid><dc:creator><![CDATA[imro]]></dc:creator><pubDate>Wed, 29 Nov 2006 20:14:14 GMT</pubDate></item><item><title><![CDATA[Reply to switch case mit string nicht möglich? on Wed, 29 Nov 2006 20:18:12 GMT]]></title><description><![CDATA[<p>Hallo</p>
<blockquote>
<p>Ja kann man mit switch case nicht auf strings prüfen?</p>
</blockquote>
<p>Nein, kann man nicht.</p>
<blockquote>
<p>Nur auf Zahlen/Konstante.</p>
</blockquote>
<p>Ja, nur auf integrale Typen.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184083</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184083</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 29 Nov 2006 20:18:12 GMT</pubDate></item><item><title><![CDATA[Reply to switch case mit string nicht möglich? on Wed, 29 Nov 2006 23:07:01 GMT]]></title><description><![CDATA[<p>std::map :xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184142</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184142</guid><dc:creator><![CDATA[:xmas:]]></dc:creator><pubDate>Wed, 29 Nov 2006 23:07:01 GMT</pubDate></item><item><title><![CDATA[Reply to switch case mit string nicht möglich? on Wed, 29 Nov 2006 23:10:16 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Wie schon gesagt kann man mit std::map arbeiten. Ich würd nicht unbedingt sagen das es gut oder die beste Lösung ist, aber sie funktioniert. Habe hier mal ein Beispiel wie das aussehen könne:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;map&gt;

using namespace std;

typedef void (*STRING_CASE)();

void a_str() {
	cout &lt;&lt; &quot;Your choice: String A&quot; &lt;&lt; endl;
}

void b_str() {
	cout &lt;&lt; &quot;Your choice: String B&quot; &lt;&lt; endl;
}

int main(int argc, char *argv[]) {
	map&lt;string, STRING_CASE&gt; m;
	m[&quot;A_String&quot;] = a_str;
	m[&quot;B_String&quot;] = b_str;
	string s;
	cin &gt;&gt; s;
	map&lt;string, STRING_CASE&gt;::iterator it = m.find(s);
	if(it != m.end())
		(*it-&gt;second)();
	else
		cerr &lt;&lt; &quot;String not found.&quot; &lt;&lt; endl;
}
</code></pre>
<p>Greetz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184144</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184144</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Wed, 29 Nov 2006 23:10:16 GMT</pubDate></item><item><title><![CDATA[Reply to switch case mit string nicht möglich? on Wed, 29 Nov 2006 23:52:48 GMT]]></title><description><![CDATA[<p>und wenn's unbedingt mit switch/case sein soll...</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;iostream&gt;
using namespace std;

int main()
{
   string mystrings[] = {&quot;hallo&quot;,&quot;doof&quot;,&quot;c++&quot;};

repeat:
   string in;
   cin &gt;&gt; in;

   // string to number
   int idx;
   for (idx=0; idx&lt;sizeof(mystrings)/sizeof(string); idx++)
      if (in == mystrings[idx])
         break;

   switch (idx)
   {
      case 0:  // hallo
      cout &lt;&lt; &quot;found 1&quot; &lt;&lt; endl;
      break;

      case 1:  // doof
      cout &lt;&lt; &quot;found 2&quot; &lt;&lt; endl;
      break;

      case 2:  // c++
      cout &lt;&lt; &quot;found 3&quot; &lt;&lt; endl;
      break;

      default: // leider nix
      cout &lt;&lt; &quot;nothing found&quot; &lt;&lt; endl;
      break;
   }

   goto repeat; // alles nochmal
}
</code></pre>
<p><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/1184150</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184150</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Wed, 29 Nov 2006 23:52:48 GMT</pubDate></item><item><title><![CDATA[Reply to switch case mit string nicht möglich? on Thu, 30 Nov 2006 17:00:19 GMT]]></title><description><![CDATA[<p>imro schrieb:</p>
<blockquote>
<p>Ja kann man mit switch case nicht auf strings prüfen? Nur auf Zahlen/Konstante.</p>
</blockquote>
<p>switch kann nur mit Variablen eines ordinalen Typs etwas anfangen. Für Strings umgeht man das einfach mit if/else</p>
<pre><code class="language-cpp">if (blub == &quot;string1&quot;)
    //...
else if (blub == &quot;string2&quot;)
    //...
else if (blub == &quot;string3&quot;)
    //...
else
    //...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1184749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184749</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Thu, 30 Nov 2006 17:00:19 GMT</pubDate></item></channel></rss>