<?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[Datumsprüfprogramm funktioniert nicht ganz korrekt]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein Programm geschrieben, das prüft, ob ein eingegebenes Datum gültig ist. Unglücklicherweise meint das Programm, der 31.4. eines jahres sei gültig, obwohl es den gar nicht gibt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Ich hab keine Ahnung, wo der Fehler sein soll.<br />
Hier ist der Code:<br />
<a href="http://pastebin.com/m7974adfb" rel="nofollow">http://pastebin.com/m7974adfb</a></p>
<p>Bitte nicht über die Prüfung des Schaltjahres wundern, die haben wir so vorgegeben bekommen...</p>
<p>Die Allgemeine Prüfung funktioniert, (also dass so was wie der 32.13. erkannt wird), aber die erweiterte Datumsprüfung, die erkennt, wenn man den 31.11. angibt, geht nicht.</p>
<p>PS:<br />
Das Datum wird mit Leerzeichen getrennt eingegeben, also 30 1 2009</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/233009/datumsprüfprogramm-funktioniert-nicht-ganz-korrekt</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 23:09:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/233009.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 30 Jan 2009 06:58:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datumsprüfprogramm funktioniert nicht ganz korrekt on Fri, 30 Jan 2009 06:58:30 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein Programm geschrieben, das prüft, ob ein eingegebenes Datum gültig ist. Unglücklicherweise meint das Programm, der 31.4. eines jahres sei gültig, obwohl es den gar nicht gibt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Ich hab keine Ahnung, wo der Fehler sein soll.<br />
Hier ist der Code:<br />
<a href="http://pastebin.com/m7974adfb" rel="nofollow">http://pastebin.com/m7974adfb</a></p>
<p>Bitte nicht über die Prüfung des Schaltjahres wundern, die haben wir so vorgegeben bekommen...</p>
<p>Die Allgemeine Prüfung funktioniert, (also dass so was wie der 32.13. erkannt wird), aber die erweiterte Datumsprüfung, die erkennt, wenn man den 31.11. angibt, geht nicht.</p>
<p>PS:<br />
Das Datum wird mit Leerzeichen getrennt eingegeben, also 30 1 2009</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1654773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1654773</guid><dc:creator><![CDATA[andy89]]></dc:creator><pubDate>Fri, 30 Jan 2009 06:58:30 GMT</pubDate></item><item><title><![CDATA[Reply to Datumsprüfprogramm funktioniert nicht ganz korrekt on Fri, 30 Jan 2009 07:07:52 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">monat == (1||3||5||7||8||10||12)
</code></pre>
<p>Das funktioniert leider nicht so, wie du es angedacht hast. Der Klammerausdruck wird ja vor dem == ausgewertertet und ist mit den Konversionsregeln int-&gt;bool immer true. Also überprüfst du da monat == true. C++ kann auch nicht irgendwie Klammern ausmultiplizieren oder so, also musst du da schreiben monat == 1 || monat == 3 || ...<br />
Die einzig komfortable eingebaute Lösung für dieses Problem ist in C++ das switch/case-Konstrukt.<br />
Du könntest alternativ auch ein Lookup-Feld mit 12 Einträgen machen, das die Monatsnummer auf die Tagesanzahl abbildet. Im Falle vom Februar ist das natürlich jahresabhängig.</p>
<p>Viele Grüße,<br />
Michael</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1654779</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1654779</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 30 Jan 2009 07:07:52 GMT</pubDate></item><item><title><![CDATA[Reply to Datumsprüfprogramm funktioniert nicht ganz korrekt on Fri, 30 Jan 2009 07:22:23 GMT]]></title><description><![CDATA[<p>Danke für den Tipp, ich hab es mit switch-case gamacht und jetzt funktioniert es. <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/1654787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1654787</guid><dc:creator><![CDATA[andy89]]></dc:creator><pubDate>Fri, 30 Jan 2009 07:22:23 GMT</pubDate></item><item><title><![CDATA[Reply to Datumsprüfprogramm funktioniert nicht ganz korrekt on Sun, 15 Mar 2009 12:30:43 GMT]]></title><description><![CDATA[<p>Kann mir mal jemand erklären wie diese switch-case in diesem Fall gehen soll?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1680356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1680356</guid><dc:creator><![CDATA[bcd-coderhex]]></dc:creator><pubDate>Sun, 15 Mar 2009 12:30:43 GMT</pubDate></item><item><title><![CDATA[Reply to Datumsprüfprogramm funktioniert nicht ganz korrekt on Sun, 15 Mar 2009 12:34:19 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">switch(monat)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return true;

default: return false; 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1680362</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1680362</guid><dc:creator><![CDATA[The-Kenny]]></dc:creator><pubDate>Sun, 15 Mar 2009 12:34:19 GMT</pubDate></item><item><title><![CDATA[Reply to Datumsprüfprogramm funktioniert nicht ganz korrekt on Sun, 15 Mar 2009 12:36:59 GMT]]></title><description><![CDATA[<p>Oder am flexibelsten und wahrscheinlich am schnellsten ist ein Array mit 12 Einträgen.</p>
<pre><code class="language-cpp">#include &lt;array&gt;  // benötigt TR1-Unterstützung
std::tr1::array&lt;int, 12&gt; TageProMonat = {31, 28, ...};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1680366</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1680366</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 15 Mar 2009 12:36:59 GMT</pubDate></item><item><title><![CDATA[Reply to Datumsprüfprogramm funktioniert nicht ganz korrekt on Sun, 15 Mar 2009 13:50:13 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Oder am flexibelsten und wahrscheinlich am schnellsten ist ein Array mit 12 Einträgen.</p>
<pre><code class="language-cpp">#include &lt;array&gt;  // benötigt TR1-Unterstützung
std::tr1::array&lt;int, 12&gt; TageProMonat = {31, 28, ...};
</code></pre>
</blockquote>
<p>Wie würde man dann überprüfen ob ein eintrag in dem array existiert? Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1680401</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1680401</guid><dc:creator><![CDATA[tr1newb]]></dc:creator><pubDate>Sun, 15 Mar 2009 13:50:13 GMT</pubDate></item><item><title><![CDATA[Reply to Datumsprüfprogramm funktioniert nicht ganz korrekt on Sun, 15 Mar 2009 15:50:51 GMT]]></title><description><![CDATA[<p>tr1newb schrieb:</p>
<blockquote>
<p>Wie würde man dann überprüfen ob ein eintrag in dem array existiert? Danke.</p>
</blockquote>
<p>Gleich wie bei nativen Arrays:</p>
<pre><code class="language-cpp">int AprilTage = TageProMonat[3];
</code></pre>
<p>Und mit einem Enum kann man das noch vereinfachen:</p>
<pre><code class="language-cpp">enum Monat
{
    Januar,
    ...
    April,
    ...
};

int AprilTage = TageProMonat[April];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1680439</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1680439</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 15 Mar 2009 15:50:51 GMT</pubDate></item></channel></rss>