<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Kommentare zu: Die Funktion istZahl in C++</title>
	<atom:link href="http://www.datenteiler.de/die-funktion-istzahl-in-cpp/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.datenteiler.de/die-funktion-istzahl-in-cpp/</link>
	<description>Kopieren als Kulturtechnik</description>
	<lastBuildDate>Mon, 30 Jan 2012 00:45:07 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Von: Christian Imhorst</title>
		<link>http://www.datenteiler.de/die-funktion-istzahl-in-cpp/comment-page-1/#comment-9677</link>
		<dc:creator>Christian Imhorst</dc:creator>
		<pubDate>Thu, 19 Feb 2009 18:09:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.imhorst.net/?p=1711#comment-9677</guid>
		<description>Ja sorry Meillo, da hatte ich mich verschrieben. 

Ich hatte mir schon gedacht, dass du wohl folgendes meinst:
&lt;code&gt;
	if (ziffer[0] == &#039;\0&#039;) {
                return false;
        }
&lt;/code&gt;

Nachteil an dieser Lösung ist, dass das Programm in eine Endlosschleife geht, sobald ich den MAX-Wert mit anderen Zeichen als bloß Ziffern überschreite.

Meta: Na toll, Preserve Code Formatting hat ein Problem mit dem Backslash...

Viele Grüße,
Christian</description>
		<content:encoded><![CDATA[<p>Ja sorry Meillo, da hatte ich mich verschrieben. </p>
<p>Ich hatte mir schon gedacht, dass du wohl folgendes meinst:<br />
<pre><code>if (ziffer[0] == '\0') {
                return false;
        }</code></pre>
<p>Nachteil an dieser Lösung ist, dass das Programm in eine Endlosschleife geht, sobald ich den MAX-Wert mit anderen Zeichen als bloß Ziffern überschreite.</p>
<p>Meta: Na toll, Preserve Code Formatting hat ein Problem mit dem Backslash&#8230;</p>
<p>Viele Grüße,<br />
Christian</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Meillo</title>
		<link>http://www.datenteiler.de/die-funktion-istzahl-in-cpp/comment-page-1/#comment-9672</link>
		<dc:creator>Meillo</dc:creator>
		<pubDate>Thu, 19 Feb 2009 08:55:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.imhorst.net/?p=1711#comment-9672</guid>
		<description>@Christian:
Da wurde auch mal auf ein backslash-null (\ 0) geprüft. Leider hat das die Blog-Software gefressen.

Damit wird geprüft ob in s überhaupt was drin ist, oder ob der string einfach leer ist. (Das könnte man auch mit strlen(s) == 0 abfragen.)


btw: Meillo mit `e&#039;</description>
		<content:encoded><![CDATA[<p>@Christian:<br />
Da wurde auch mal auf ein backslash-null (\ 0) geprüft. Leider hat das die Blog-Software gefressen.</p>
<p>Damit wird geprüft ob in s überhaupt was drin ist, oder ob der string einfach leer ist. (Das könnte man auch mit strlen(s) == 0 abfragen.)</p>
<p>btw: Meillo mit `e&#8217;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Christian Imhorst</title>
		<link>http://www.datenteiler.de/die-funktion-istzahl-in-cpp/comment-page-1/#comment-9667</link>
		<dc:creator>Christian Imhorst</dc:creator>
		<pubDate>Wed, 18 Feb 2009 21:11:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.imhorst.net/?p=1711#comment-9667</guid>
		<description>@Maillo: Vielen Dank für deine Hinweise und deinen Quellcode. Das Programm funktioniert soweit, nur 

&lt;code&gt;
        if (s[0] == &#039; &#039; ) {
                return false;
        }
&lt;/code&gt;

will nicht so recht. Beim Drücken der Return-Taste kommt immer noch, dass es sich dabei um eine Zahl handeln soll... 

@all: Den heutigen Abend habe ich darauf verwendet, Formatierungshilfen für die Kommentar-Funktion zu basteln und mein CSS anzupassen, so wie einige es sich gewünscht haben. Ich hoffe, dass jetzt alles korrekt funktioniert. :-)</description>
		<content:encoded><![CDATA[<p>@Maillo: Vielen Dank für deine Hinweise und deinen Quellcode. Das Programm funktioniert soweit, nur </p>
<pre><code>if (s[0] == ' ' ) {
                return false;
        }</code></pre>
<p>will nicht so recht. Beim Drücken der Return-Taste kommt immer noch, dass es sich dabei um eine Zahl handeln soll&#8230; </p>
<p>@all: Den heutigen Abend habe ich darauf verwendet, Formatierungshilfen für die Kommentar-Funktion zu basteln und mein CSS anzupassen, so wie einige es sich gewünscht haben. Ich hoffe, dass jetzt alles korrekt funktioniert. :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Meillo</title>
		<link>http://www.datenteiler.de/die-funktion-istzahl-in-cpp/comment-page-1/#comment-9660</link>
		<dc:creator>Meillo</dc:creator>
		<pubDate>Wed, 18 Feb 2009 15:44:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.imhorst.net/?p=1711#comment-9660</guid>
		<description>Noch eine Ergänzung um leere Strings nicht als Zahl zu behandeln:

Am Beginn von onlydigit() folgende drei Zeilen einfügen:

&lt;code&gt;
        if (s[0] == &#039; &#039; ) {
                return false;
        }
&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>Noch eine Ergänzung um leere Strings nicht als Zahl zu behandeln:</p>
<p>Am Beginn von onlydigit() folgende drei Zeilen einfügen:</p>
<pre><code>if (s[0] == ' ' ) {
                return false;
        }</code></pre>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Meillo</title>
		<link>http://www.datenteiler.de/die-funktion-istzahl-in-cpp/comment-page-1/#comment-9654</link>
		<dc:creator>Meillo</dc:creator>
		<pubDate>Wed, 18 Feb 2009 13:12:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.imhorst.net/?p=1711#comment-9654</guid>
		<description>EDIT:
statt ``Da in Zeichensätzen die Zeichen 0 bis 9 aneinander liegen müssen.&#039;&#039; muss es ``Da in Zeichensätzen die Zeichen 0 bis 9 NICHT aneinander liegen müssen.&#039;&#039; heißen.</description>
		<content:encoded><![CDATA[<p>EDIT:<br />
statt &#8220;Da in Zeichensätzen die Zeichen 0 bis 9 aneinander liegen müssen.&#8221; muss es &#8220;Da in Zeichensätzen die Zeichen 0 bis 9 NICHT aneinander liegen müssen.&#8221; heißen.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Meillo</title>
		<link>http://www.datenteiler.de/die-funktion-istzahl-in-cpp/comment-page-1/#comment-9653</link>
		<dc:creator>Meillo</dc:creator>
		<pubDate>Wed, 18 Feb 2009 13:10:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.imhorst.net/?p=1711#comment-9653</guid>
		<description>Du solltest unbedingt  &lt;code&gt;isdigit()&lt;/code&gt; verwenden (wie ja schon vorgeschlagen). Da in Zeichensätzen die Zeichen 0 bis 9 aneinander liegen müssen. Die Funktion &lt;code&gt;isdigit()&lt;/code&gt; kompensiert das.&lt;br /&gt;

Dann ist es ein falsches Bestreben kleinlichst Speicher zu sparen. Warum nicht 128 Byte für das Array nehmen? Oder noch mehr.&lt;br /&gt;&lt;br /&gt;

Desweiteren solltest du unbedingt englische Bezeichner verwenden ... die ganze Welt (Außer ein paar Mitteleuropäern) wird es dir danken.&lt;br /&gt;&lt;br /&gt;

Für das Array braucht in der Funktionsdefinition kein weiterer Speicher reserviert werden. Ein Pointer reicht als Übergabeparameter. Es wird ja nur gelesen.&lt;br /&gt;&lt;br /&gt;

Mein Vorschlag ist somit:&lt;br /&gt;&lt;br /&gt;

&lt;pre&gt;
&lt;code lang=&quot;cpp&quot;&gt;
#include &lt;iostream&gt;
#include &lt;cstring&gt;
using namespace std;
const int MAX=128;
bool onlydigits(char* s){
        for(int i=0; i &lt; strlen(s); i++) {
                if (!isdigit(s[i])) {
                        return false;
                }
        }
        return true;
}
int main(){
        char a[MAX];
        do {
                cout&lt;&lt;&quot;Bitte Ziffern eingeben: &quot;;
                cin.getline(a, MAX);
        } while (!onlydigits(a));
        cout &lt;&lt; a &lt;&lt; &quot; ist eine Zahl.&quot; &lt;&lt; endl;
        return 0;
}
&lt;/code&gt;
&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>Du solltest unbedingt  <code>isdigit()</code> verwenden (wie ja schon vorgeschlagen). Da in Zeichensätzen die Zeichen 0 bis 9 aneinander liegen müssen. Die Funktion <code>isdigit()</code> kompensiert das.</p>
<p>Dann ist es ein falsches Bestreben kleinlichst Speicher zu sparen. Warum nicht 128 Byte für das Array nehmen? Oder noch mehr.</p>
<p>Desweiteren solltest du unbedingt englische Bezeichner verwenden &#8230; die ganze Welt (Außer ein paar Mitteleuropäern) wird es dir danken.</p>
<p>Für das Array braucht in der Funktionsdefinition kein weiterer Speicher reserviert werden. Ein Pointer reicht als Übergabeparameter. Es wird ja nur gelesen.</p>
<p>Mein Vorschlag ist somit:</p>
<pre>
<pre><code>#include &lt;iostream&gt;
#include &lt;cstring&gt;
using namespace std;
const int MAX=128;
bool onlydigits(char* s){
        for(int i=0; i &lt; strlen(s); i++) {
                if (!isdigit(s[i])) {
                        return false;
                }
        }
        return true;
}
int main(){
        char a[MAX];
        do {
                cout&lt;&lt;"Bitte Ziffern eingeben: ";
                cin.getline(a, MAX);
        } while (!onlydigits(a));
        cout &lt;&lt; a &lt;&lt; " ist eine Zahl." &lt;&lt; endl;
        return 0;
}</code></pre>
</pre>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Schumbi</title>
		<link>http://www.datenteiler.de/die-funktion-istzahl-in-cpp/comment-page-1/#comment-9647</link>
		<dc:creator>Schumbi</dc:creator>
		<pubDate>Wed, 18 Feb 2009 09:11:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.imhorst.net/?p=1711#comment-9647</guid>
		<description>Hat es eigentlich einen bestimmten Grund, warum Du ein &quot;char[]&quot; nimmst und keinen &quot;string&quot;? Ich finde diese Arrays aus char einfach unglaublich anstrengend.
Irgendwie finde ich sieht Dein Code auch eher nach C als nach C++ aus. Abgeshene von dem &quot;cin&quot; und &quot;cout&quot;.</description>
		<content:encoded><![CDATA[<p>Hat es eigentlich einen bestimmten Grund, warum Du ein &#8220;char[]&#8221; nimmst und keinen &#8220;string&#8221;? Ich finde diese Arrays aus char einfach unglaublich anstrengend.<br />
Irgendwie finde ich sieht Dein Code auch eher nach C als nach C++ aus. Abgeshene von dem &#8220;cin&#8221; und &#8220;cout&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: spoilerhead</title>
		<link>http://www.datenteiler.de/die-funktion-istzahl-in-cpp/comment-page-1/#comment-9646</link>
		<dc:creator>spoilerhead</dc:creator>
		<pubDate>Wed, 18 Feb 2009 08:08:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.imhorst.net/?p=1711#comment-9646</guid>
		<description>&lt;code&gt;if (!(ziffer[i] &gt;= &#039;0&#039; &amp;&amp; ziffer[i] &lt;= &#039;9&#039;)) &lt;/code&gt;

ist aber nicht schön, weil es davon ausgeht, dass die zahlen im zeichensatz hintereinander liegen (was nicht garantiert ist)

wieso net isdigit() weiterverwenden?

um wirklich alle zahlen inkl negative und komazahlen azuzeigen würde ich eine kleine statemachine bauen

bei interesse, schick mir eine mail, ich hab da noch so was rumliegen :D</description>
		<content:encoded><![CDATA[<p><code>if (!(ziffer[i] &gt;= '0' &amp;&amp; ziffer[i] &lt;= '9'))</code></p>
<p>ist aber nicht schön, weil es davon ausgeht, dass die zahlen im zeichensatz hintereinander liegen (was nicht garantiert ist)</p>
<p>wieso net isdigit() weiterverwenden?</p>
<p>um wirklich alle zahlen inkl negative und komazahlen azuzeigen würde ich eine kleine statemachine bauen</p>
<p>bei interesse, schick mir eine mail, ich hab da noch so was rumliegen :D</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Dee</title>
		<link>http://www.datenteiler.de/die-funktion-istzahl-in-cpp/comment-page-1/#comment-9643</link>
		<dc:creator>Dee</dc:creator>
		<pubDate>Wed, 18 Feb 2009 05:05:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.imhorst.net/?p=1711#comment-9643</guid>
		<description>Wegen spitzer Klammern:

&lt;code&gt;
Dies
 ist
  ein
   Testcode.
&lt;/code&gt;

Und nun ein &lt;code&gt;Test&lt;/code&gt; direkt in einer Zeile.

Bei mir wird beides mehr oder weniger korrekt angezeigt. Offensichtlich wird zwar die Schriftart etwas verändert, aber es ist nicht dicktengleich und Leerzeichen werden auch ignoriert. Da müsste Christian sein CSS mal anpassen.

Dein &quot;++c&quot; wird auch etwas kleiner angezeigt als der restliche Text, besser kriegt man es aktuell wohl nicht hin.

@Christian: Du musst ja nur abfragen, ob die Länge 0 ist und dann eben &lt;code&gt;false&lt;/code&gt; zurückliefern.</description>
		<content:encoded><![CDATA[<p>Wegen spitzer Klammern:</p>
<pre><code>Dies
 ist
  ein
   Testcode.</code></pre>
<p>Und nun ein <code>Test</code> direkt in einer Zeile.</p>
<p>Bei mir wird beides mehr oder weniger korrekt angezeigt. Offensichtlich wird zwar die Schriftart etwas verändert, aber es ist nicht dicktengleich und Leerzeichen werden auch ignoriert. Da müsste Christian sein CSS mal anpassen.</p>
<p>Dein &#8220;++c&#8221; wird auch etwas kleiner angezeigt als der restliche Text, besser kriegt man es aktuell wohl nicht hin.</p>
<p>@Christian: Du musst ja nur abfragen, ob die Länge 0 ist und dann eben <code>false</code> zurückliefern.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Stefan W.</title>
		<link>http://www.datenteiler.de/die-funktion-istzahl-in-cpp/comment-page-1/#comment-9636</link>
		<dc:creator>Stefan W.</dc:creator>
		<pubDate>Wed, 18 Feb 2009 00:36:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.imhorst.net/?p=1711#comment-9636</guid>
		<description>a) Meine C++-Zeiten liegen weit zurück, und es war nie mehr, als ein C/C++-Kuddelmuddel.  

Nicht schön ist, daß die Funktion nicht beliebig lange Ziffernfolgen testet. Das sollte schon noch erreicht werden.

Null Ziffern, also Nichts, ist keine Ziffer - das ist nicht Geschmackssache oder Definitionssache. 

@Dee: Ich habe spitze Klammern &lt;code&gt; ++c; &lt;/code&gt; versucht, aber die Vorschau machte da nichts draus. Ist die Vorschau defekt? Mal posten, so...</description>
		<content:encoded><![CDATA[<p>a) Meine C++-Zeiten liegen weit zurück, und es war nie mehr, als ein C/C++-Kuddelmuddel.  </p>
<p>Nicht schön ist, daß die Funktion nicht beliebig lange Ziffernfolgen testet. Das sollte schon noch erreicht werden.</p>
<p>Null Ziffern, also Nichts, ist keine Ziffer &#8211; das ist nicht Geschmackssache oder Definitionssache. </p>
<p>@Dee: Ich habe spitze Klammern <code>++c;</code> versucht, aber die Vorschau machte da nichts draus. Ist die Vorschau defekt? Mal posten, so&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

