<?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[If mit mehreren Möglichkeiten abkürzen?]]></title><description><![CDATA[<p>Hallo, ich habe eine if-Abfrage wo gefrage wird ob der Monat 31 oder 30 Tage hat (also 1,3,5,7,8,10,12 haben 31 Tage, die anderen 30 (bis auf Februar, den ignorier ich einfach mal wegen Schaltjahr... Unwichtig für meine Frage).<br />
Gibt es eine kürzere Möglichkeit als:</p>
<pre><code class="language-cpp">if(monat==1||monat==3||monat==5||.....)
</code></pre>
<p>wie z.B.</p>
<pre><code class="language-cpp">if(monat==1,3,5,7,8,10,12)
</code></pre>
<p>Was ja leider nicht funktioniert?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/279247/if-mit-mehreren-möglichkeiten-abkürzen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 17:20:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/279247.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 21 Dec 2010 20:20:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Tue, 21 Dec 2010 20:20:45 GMT]]></title><description><![CDATA[<p>Hallo, ich habe eine if-Abfrage wo gefrage wird ob der Monat 31 oder 30 Tage hat (also 1,3,5,7,8,10,12 haben 31 Tage, die anderen 30 (bis auf Februar, den ignorier ich einfach mal wegen Schaltjahr... Unwichtig für meine Frage).<br />
Gibt es eine kürzere Möglichkeit als:</p>
<pre><code class="language-cpp">if(monat==1||monat==3||monat==5||.....)
</code></pre>
<p>wie z.B.</p>
<pre><code class="language-cpp">if(monat==1,3,5,7,8,10,12)
</code></pre>
<p>Was ja leider nicht funktioniert?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1997737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997737</guid><dc:creator><![CDATA[Lokia]]></dc:creator><pubDate>Tue, 21 Dec 2010 20:20:45 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Tue, 21 Dec 2010 20:28:37 GMT]]></title><description><![CDATA[<p>Mit switch:</p>
<pre><code class="language-cpp">bool IsLeapyear(int year);

int DaysPerMonth(int month, int year)
{
	switch(month)
	{
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
		    return(31);
		case 4:
		case 6:
		case 9:
		case 11:
		    return(30);
		case 2:
		    return(28+IsLeapyear(year));
	}
    // hier ein assert und 0 zurückgeben, Ausnahme werfen oder Ähnliches
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1997739</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997739</guid><dc:creator><![CDATA[Vicious Falcon]]></dc:creator><pubDate>Tue, 21 Dec 2010 20:28:37 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Tue, 21 Dec 2010 20:32:43 GMT]]></title><description><![CDATA[<p>Danke für deine Antwort. Die Möglichkeit mit switch habe ich jedoch nicht in betracht gezogen, da es ja noch länger wird. Mich würde nur Interessieren ob es mit if auch einfacher geht als:</p>
<pre><code class="language-cpp">if(monat==1||monat==3||monat==5||.....)
</code></pre>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1997742</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997742</guid><dc:creator><![CDATA[Lokia]]></dc:creator><pubDate>Tue, 21 Dec 2010 20:32:43 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Tue, 21 Dec 2010 20:41:17 GMT]]></title><description><![CDATA[<p>Nein! (Es sei denn du führst da Boolesche Algebra durch, irgendwelche Optimierung halt)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1997744</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997744</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 21 Dec 2010 20:41:17 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Tue, 21 Dec 2010 20:41:27 GMT]]></title><description><![CDATA[<p>Danke, mehr wollte ich nicht wissen <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/1997745</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997745</guid><dc:creator><![CDATA[Lokia]]></dc:creator><pubDate>Tue, 21 Dec 2010 20:41:27 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Tue, 21 Dec 2010 20:42:11 GMT]]></title><description><![CDATA[<p>Switch ist aber imho in diesem Fall das überschaubarste, sauberste und daher beste Mittel.<br />
Kürzer kannst du es auch schreiben</p>
<pre><code class="language-cpp">switch(month)
    {
        case 1:case 3:case 5:case 7:case 8:case 10:case 12:  return(31);
        case 4:case 6:case 9:case 11: return(30);
        case 2: return(28+IsLeapyear(year));
    }
</code></pre>
<p>:xmas2: :xmas1: :xmas2:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1997746</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997746</guid><dc:creator><![CDATA[Vicious Falcon]]></dc:creator><pubDate>Tue, 21 Dec 2010 20:42:11 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Tue, 21 Dec 2010 20:44:56 GMT]]></title><description><![CDATA[<p>Stimmt, danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1997747</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997747</guid><dc:creator><![CDATA[Lokia]]></dc:creator><pubDate>Tue, 21 Dec 2010 20:44:56 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Tue, 21 Dec 2010 20:46:16 GMT]]></title><description><![CDATA[<p>Oder so:</p>
<pre><code class="language-cpp">#define MASK(X)	((X)&amp;6)
if (monat == 2)
  return 28;
if (MASK(monat) == 1 || MASK(monat) == 8)
  return 31;
if (MASK(monat) == 0 || MASK(monat) == 12)
  return 30;
/* respektive: */
if (monat == 2)
  return 28;
switch (MASK(monat))
{
case 1:
case 8:
  return 31;
case 0:
case 12:
  return 30;
}
#undef MASK
</code></pre>
<p>Wichtig ist dabei den Februar vorher auszuwerten, weil du sonst 30 Tage erhältst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1997748</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997748</guid><dc:creator><![CDATA[Paul Müller]]></dc:creator><pubDate>Tue, 21 Dec 2010 20:46:16 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Tue, 21 Dec 2010 20:46:57 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#define C(a) case a:

switch(month) {
   C(1)C(3)C(5)C(8)C(10)C(12) return(31);
   C(4)C(6)C(9)C(11) return(30);
   C(2) return(28+IsLeapyear(year));
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1997749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997749</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 21 Dec 2010 20:46:57 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Tue, 21 Dec 2010 20:48:25 GMT]]></title><description><![CDATA[<p>Korrektur:<br />
Bei 30 Tagen muss es natürlich heißen 0 und 11.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1997750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997750</guid><dc:creator><![CDATA[Paul Müller]]></dc:creator><pubDate>Tue, 21 Dec 2010 20:48:25 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Tue, 21 Dec 2010 20:51:27 GMT]]></title><description><![CDATA[<p>Ist das schon minimal, Paul?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1997753</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997753</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 21 Dec 2010 20:51:27 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Tue, 21 Dec 2010 20:54:54 GMT]]></title><description><![CDATA[<p>Nein, man könnte jetzt auf Anzahl der gesetzten Bits testen, aber keine Ahnung wie.</p>
<p>31 Tage ungerade<br />
30 Tage gerade</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1997756</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997756</guid><dc:creator><![CDATA[Paul Müller]]></dc:creator><pubDate>Tue, 21 Dec 2010 20:54:54 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Tue, 21 Dec 2010 20:56:34 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int wieviele_tage(int monat)
{
   return monat == 2 ? 28 : (30 + ((1 &lt;&lt; (monat - 1)) &amp; 2773));
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1997757</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997757</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Tue, 21 Dec 2010 20:56:34 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Tue, 21 Dec 2010 21:25:21 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> Hast du dir das eben gerade mal so ausgedacht?^^</p>
<p>Ich komm hier gerade auf:</p>
<pre><code class="language-cpp">return monat==2 ? 28 : 30 + ((monat ^ monat&gt;&gt;3)&amp;1);
</code></pre>
<p>Total fehlerhaft <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Edit, jetzt müsste es passen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1997758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997758</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 21 Dec 2010 21:25:21 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Tue, 21 Dec 2010 21:07:26 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void days(int month, int year)
{
  static int lut[2][24] = {
    {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
    {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
  };
  return lut[(year % 4 == 0) &amp;&amp; (year % 400 != 0)][month];
}
</code></pre>
<p>:p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1997759</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997759</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Tue, 21 Dec 2010 21:07:26 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Tue, 21 Dec 2010 21:04:09 GMT]]></title><description><![CDATA[<p>Ich mach auch mit:</p>
<pre><code class="language-cpp">&quot;\x1f\x1c\x1f\x1e\x1f\x1e\x1f\x1f\x1e\x1f\x1e\x1f&quot;[month-1]
</code></pre>
<p>PS: Ich vermisse den WPC.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1997761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997761</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 21 Dec 2010 21:04:09 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Tue, 21 Dec 2010 21:06:18 GMT]]></title><description><![CDATA[<p>Bashar, jetzt hab ich wieder was gelernt <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/1997762</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997762</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 21 Dec 2010 21:06:18 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Tue, 21 Dec 2010 21:28:57 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">return &quot;OLONONOONONO&quot;[month-1]-48+(month==2&amp;&amp;!(year%4)&amp;&amp;year%400);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1997769</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997769</guid><dc:creator><![CDATA[OLONONOONONO]]></dc:creator><pubDate>Tue, 21 Dec 2010 21:28:57 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Tue, 21 Dec 2010 21:32:55 GMT]]></title><description><![CDATA[<p>Die Spaßvögel sollen sich hier mal registrieren, wär gut für die Stimmung <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/1997771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997771</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 21 Dec 2010 21:32:55 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Tue, 21 Dec 2010 23:11:43 GMT]]></title><description><![CDATA[<p>OLONONOONONO schrieb:</p>
<blockquote>
<pre><code class="language-cpp">return &quot;OLONONOONONO&quot;[month-1]-48+(month==2&amp;&amp;!(year%4)&amp;&amp;year%400);
</code></pre>
</blockquote>
<p>Hübsch, aber klappt noch nicht ganz.</p>
<pre><code class="language-cpp">&quot;OLONONOONONO&quot;[month-1]-48+(month==2&amp;&amp;(!(year%4)&amp;&amp;year%100||!(year%400)))
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1997789</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997789</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Tue, 21 Dec 2010 23:11:43 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Wed, 22 Dec 2010 10:08:16 GMT]]></title><description><![CDATA[<p>Ui ui ui, da hat sich ja mal was entwickelt.<br />
Ich fühle mich dennoch genötigt, den _korrekten_ Spießercode abzuliefern.</p>
<pre><code class="language-cpp">bool IsLeapyear(int year)
{
	if(year&lt;1)
		return false;
	if(year%4) return false;
	if(year&lt;=1582) return true;
	if(year%100) return true;
	if(year%400) return false;
	return true;
}
int DaysPerMonth(int month, int year)
{
	switch(month)
	{
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
			return 31;
		case 4:
		case 6:
		case 9:
		case 11:
		    return 30;
		case 2:
			return(28+IsLeapyear(year));
		default:
			return 0;
	}
}
</code></pre>
<p><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/1997797</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997797</guid><dc:creator><![CDATA[Vicious Falcon]]></dc:creator><pubDate>Wed, 22 Dec 2010 10:08:16 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Wed, 22 Dec 2010 09:26:05 GMT]]></title><description><![CDATA[<p>Michael E. schrieb:</p>
<blockquote>
<p>OLONONOONONO schrieb:</p>
<blockquote>
<pre><code class="language-cpp">return &quot;OLONONOONONO&quot;[month-1]-48+(month==2&amp;&amp;!(year%4)&amp;&amp;year%400);
</code></pre>
</blockquote>
<p>Hübsch, aber klappt noch nicht ganz.</p>
<pre><code class="language-cpp">&quot;OLONONOONONO&quot;[month-1]-48+(month==2&amp;&amp;(!(year%4)&amp;&amp;year%100||!(year%400)))
</code></pre>
</blockquote>
<p>&lt;krümelkack&gt;<br />
Das ist nicht portabel, da der C++ Standard kein ASCII erzwingt. Ich glaube, die einzige Garantie, die da gemacht wird, ist, dass '0'+x mit 0&lt;=x&lt;=9 die richtige Dezimalziffer gibt, also dass '0', '1', '2', ..., '9' aufeinanderfolgende char-Werte sind.<br />
&lt;/krümelkack&gt;</p>
<p>Ich würd's wahrscheinlich mit switch machen. Das ist einfach am leserlichsten. Ich möchte trotzdem eine Lösung zeigen, die wir hier noch nicht gesehen haben:</p>
<pre><code class="language-cpp">template&lt;class T, usnigned N, class U&gt;
inline bool binary_search(const T(&amp;oa)[N], U x)
{
  return std::binary_search(oa+0,oa+N,x);
}

...
if (month==2) return 28+isLeapYear(year);
static const int m30[] = {4,6,9,11};
return binary_search(m30,month) ? 30 : 31;
</code></pre>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/27692">@Vicious</a> Falcon: Du weißt, dass return keine Funktion ist und die Klammern um den Ausdruck überflüssig sind, ja?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1997836</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997836</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 22 Dec 2010 09:26:05 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Wed, 22 Dec 2010 10:09:40 GMT]]></title><description><![CDATA[<p>Ja, war ein Copy &amp; Paste-Problem, falsch angefangen und im Folgenden so durchgezogen.<br />
:xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1997857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997857</guid><dc:creator><![CDATA[Vicious Falcon]]></dc:creator><pubDate>Wed, 22 Dec 2010 10:09:40 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Wed, 22 Dec 2010 12:47:57 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int wieviele_tage(int monat)
{
   return ((0xEEFBB3 &gt;&gt; ((monat - 1)*3)) &amp; 0x3) + 28;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1997905</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997905</guid><dc:creator><![CDATA[(Meep Meep)]]></dc:creator><pubDate>Wed, 22 Dec 2010 12:47:57 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Wed, 22 Dec 2010 12:55:23 GMT]]></title><description><![CDATA[<p>Jetzt fällt mir erst auf, dass das ja bloß ein gepacktes lookup-feld ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1997910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1997910</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 22 Dec 2010 12:55:23 GMT</pubDate></item><item><title><![CDATA[Reply to If mit mehreren Möglichkeiten abkürzen? on Wed, 22 Dec 2010 17:36:08 GMT]]></title><description><![CDATA[<p>(Meep Meep) schrieb:</p>
<blockquote>
<pre><code class="language-cpp">int wieviele_tage(int monat)
{
   return ((0xEEFBB3 &gt;&gt; ((monat - 1)*3)) &amp; 0x3) + 28;
}
</code></pre>
</blockquote>
<p>auch nett! das *3 sollte aber wohl ein *2 sein.<br />
...fehlt nur noch das Schaltjahr...</p>
<pre><code class="language-cpp">int wieviele_tage(int monat, bool schaltjahr)
{
   return (((0xEEFBB3+(schaltjahr&lt;&lt;2)) &gt;&gt; ((monat - 1)&lt;&lt;1)) &amp; 0x3) + 28;
}
</code></pre>
<p><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/1998003</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1998003</guid><dc:creator><![CDATA[tralelu]]></dc:creator><pubDate>Wed, 22 Dec 2010 17:36:08 GMT</pubDate></item></channel></rss>