<?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[Anzahl der eingegebenen Wörter ermitteln]]></title><description><![CDATA[<p>Hallo liebe Community,<br />
im Voraus möchte ich mich entschuldigen, falls mein Beitrag hier falsch gelandet ist. Falls dem nicht so sein sollte; hier ist meine Frage:<br />
Ich möchte (ich benutze den devC++-Compiler in der Version 4.9.9.2) ein Programm erstellen, das mir nach Betätigen der Enter-Taste sagt, wie viele Wörter ich eingegeben habe. Dabei habe ich mir &quot;isspace(eingabe)&quot; zu Nutze gemacht... leider funktioniert das Ganze nicht so, wie ich's mir vorgestellt habe.<br />
Hier ist mein Code:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;conio.h&gt;
#include &lt;ctype.h&gt;
using namespace std;

int main()
{
    char input;
    int words;
    cout &lt;&lt; &quot;Geben Sie einen beliebig langen Text ein. Durch druecken von [ENTER] beenden Sie die Texteingabe.\n\n&quot;;
    while (input!='\n')
    {
    cin &gt;&gt; input;
    if (isspace(input))
    {words++;}
    }
    cout &lt;&lt; &quot;\n\nIhr Text besteht aus &quot; &lt;&lt; words &lt;&lt; &quot; Woertern.\n\nZum Beenden des Programms [ENTER] druecken...&quot;;
    getch();
}
</code></pre>
<p>Vielen Dank im Voraus!</p>
<p>PS.: erster Beitrag hier im Forum von mir...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/221130/anzahl-der-eingegebenen-wörter-ermitteln</link><generator>RSS for Node</generator><lastBuildDate>Tue, 06 Oct 2026 08:12:13 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/221130.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 25 Aug 2008 20:27:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anzahl der eingegebenen Wörter ermitteln on Mon, 25 Aug 2008 20:27:29 GMT]]></title><description><![CDATA[<p>Hallo liebe Community,<br />
im Voraus möchte ich mich entschuldigen, falls mein Beitrag hier falsch gelandet ist. Falls dem nicht so sein sollte; hier ist meine Frage:<br />
Ich möchte (ich benutze den devC++-Compiler in der Version 4.9.9.2) ein Programm erstellen, das mir nach Betätigen der Enter-Taste sagt, wie viele Wörter ich eingegeben habe. Dabei habe ich mir &quot;isspace(eingabe)&quot; zu Nutze gemacht... leider funktioniert das Ganze nicht so, wie ich's mir vorgestellt habe.<br />
Hier ist mein Code:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;conio.h&gt;
#include &lt;ctype.h&gt;
using namespace std;

int main()
{
    char input;
    int words;
    cout &lt;&lt; &quot;Geben Sie einen beliebig langen Text ein. Durch druecken von [ENTER] beenden Sie die Texteingabe.\n\n&quot;;
    while (input!='\n')
    {
    cin &gt;&gt; input;
    if (isspace(input))
    {words++;}
    }
    cout &lt;&lt; &quot;\n\nIhr Text besteht aus &quot; &lt;&lt; words &lt;&lt; &quot; Woertern.\n\nZum Beenden des Programms [ENTER] druecken...&quot;;
    getch();
}
</code></pre>
<p>Vielen Dank im Voraus!</p>
<p>PS.: erster Beitrag hier im Forum von mir...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1571351</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1571351</guid><dc:creator><![CDATA[Paiam]]></dc:creator><pubDate>Mon, 25 Aug 2008 20:27:29 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl der eingegebenen Wörter ermitteln on Mon, 25 Aug 2008 20:44:34 GMT]]></title><description><![CDATA[<p>1. devcpp ist veraltet. Nimm lieber Code::Blocks.</p>
<p>2. Schau dir mal das an:</p>
<pre><code class="language-cpp">std::cout &lt;&lt; &quot;Bitte Eingabe: &quot; &lt;&lt; std::endl;
char buffer[10];

std::cin.getline (buffer, 10);
std::stringstream str (buffer);

int count = 0;
std::string temp;
while (str &gt;&gt; temp) count++;

std::cout &lt;&lt; &quot;Woerter: &quot; &lt;&lt; count &lt;&lt; std::endl;
</code></pre>
<p>Du musst nur noch überlegen, was mit Satzzeichen passieren soll.<br />
Kleiner Tipp:<br />
<a href="http://www.cplusplus.com/reference/algorithm/replace.html" rel="nofollow">http://www.cplusplus.com/reference/algorithm/replace.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1571356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1571356</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 25 Aug 2008 20:44:34 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl der eingegebenen Wörter ermitteln on Mon, 25 Aug 2008 20:52:05 GMT]]></title><description><![CDATA[<p>das problem ist, das cin selber mit enter abschließt und du so niemals ein<br />
enter einfängst.</p>
<p>du musst die ganze zeile einlesen und zwar mit geline</p>
<p>da du noch am anfang stehst musst du mit strings nicht umlernen, also nimm sie,<br />
sie haben <strong>sehr</strong> viele vorteile</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;conio.h&gt;
#include &lt;ctype.h&gt;
#include &lt;string&gt;      // hier kommt der neue datentyp
using namespace std;   // string liegt auch im namespace std !

int main()
{
    string eingabe;    // &lt;-- hier ist er !
    int words = 0;     // achtung !! wenn man der variable keinen wert zuweist
                       // dann hat sie einen zufälligen !! z.b. -8465263
    cout &lt;&lt; &quot;Geben Sie einen beliebig langen Text ein. Durch druecken von [ENTER] beenden Sie die Texteingabe.\n\n&quot;;

    getline(cin, eingabe);  // wir lesen von cin in den string
    for (unsigned i = 0; i &lt; string.length(); ++i)   // jeden buchstaben durchgehen
        if (eingabe[i] == ' ')   // wenn das ein leerzeichen ist..
            ++words;             // ++words   ist ein tick schneller als words++

    cout &lt;&lt; &quot;\n\nIhr Text besteht aus &quot; &lt;&lt; words + 1&lt;&lt; &quot; Woertern.\n\nZum Beenden des Programms [ENTER] druecken...&quot;;
    // words + 1 weil:  &quot;hallo welt&quot; sind 2 wörter aber nur eine leertaste
    getch();
}
</code></pre>
<p>allerdings klappt das nur, wenn man mindestens ein wort eingibt und immer nur eine leertaste benutzt</p>
<p>mfg helferlein</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1571361</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1571361</guid><dc:creator><![CDATA[helferlein]]></dc:creator><pubDate>Mon, 25 Aug 2008 20:52:05 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl der eingegebenen Wörter ermitteln on Mon, 25 Aug 2008 20:53:02 GMT]]></title><description><![CDATA[<p>nein mist fehler</p>
<pre><code class="language-cpp">for (unsigned i = 0; i &lt; string.length(); ++i)
</code></pre>
<p>heißt natürlich</p>
<pre><code class="language-cpp">for (unsigned i = 0; i &lt; eingabe.length(); ++i)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1571364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1571364</guid><dc:creator><![CDATA[helferlein]]></dc:creator><pubDate>Mon, 25 Aug 2008 20:53:02 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl der eingegebenen Wörter ermitteln on Mon, 25 Aug 2008 20:59:52 GMT]]></title><description><![CDATA[<blockquote>
<p>++words; // ++words ist ein tick schneller als words++</p>
</blockquote>
<p>Muahaha <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="😃"
    /><br />
Wie geil. Und wie falsch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1571369</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1571369</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 25 Aug 2008 20:59:52 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl der eingegebenen Wörter ermitteln on Mon, 25 Aug 2008 21:19:41 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<blockquote>
<p>++words; // ++words ist ein tick schneller als words++</p>
</blockquote>
<p>Muahaha <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="😃"
    /><br />
Wie geil. Und wie falsch.</p>
</blockquote>
<p>[] Du hast Ahnung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1571375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1571375</guid><dc:creator><![CDATA[Wiss0r]]></dc:creator><pubDate>Mon, 25 Aug 2008 21:19:41 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl der eingegebenen Wörter ermitteln on Mon, 25 Aug 2008 21:22:21 GMT]]></title><description><![CDATA[<p>Als Anmerkung würde ich auch noch sagen, das ich words direkt mit 1 inititalisieren würde anstatt dann bei der Ausgabe noch 1 zu addieren, wenn das in nem größeren Programm dann mal öfter vorkommt sieht man irgendwann nicht mehr durch, warum in der Variable die falsche Anzahl drinsteht, wobei es auch schon in dem Programm wenig Sinn macht.</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1571377</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1571377</guid><dc:creator><![CDATA[Jasc]]></dc:creator><pubDate>Mon, 25 Aug 2008 21:22:21 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl der eingegebenen Wörter ermitteln on Mon, 25 Aug 2008 23:15:13 GMT]]></title><description><![CDATA[<p>würde ich nicht machen, weil es ja auch passieren kann, dass man 0 wörter hat...</p>
<pre><code class="language-cpp">words++;
//sollte genau so schnell sein, wie
++words;
//weil der compiler es wegoptimieren können sollte - erst bei größeren datentypen geht das nicht mehr so einfach glaub ich ^^
</code></pre>
<p>ich habs ma bissl verändert...</p>
<p>helferlein schrieb:</p>
<blockquote>
<pre><code class="language-cpp">std::vector &lt;std::string&gt; no_word_chars;
chars.push_back (' ');
chars.push_back ('.');
/*usw*/
chars.push_back ('?');
/*siehe helferlein*/
    getline(cin, eingabe);
    if (!eingabe.empty ()) //eigtl nur der übersicht halber - sollte nicht benötigt werden...
      {
        bool word_is_count (false);
        for (std::string::const_iterator iter (string.begin ()), end (string.end ()); ++iter)
          {
            if (std::find (now_word_chars.begin (), now_word_chars.end (), *iter)
              {
                word_is_count = false;
              }
              else
                {
                  if (!word_is_count)
                    {
                      ++words;
                      word_is_count = true;
                    }
                }
          }
    cout &lt;&lt; &quot;\n\nIhr Text besteht aus &quot; &lt;&lt; words &lt;&lt; &quot; Woertern.\n\nZum Beenden des Programms [ENTER] druecken...&quot;;
</code></pre>
</blockquote>
<p>sollte so gehen, wenn ich keinen denkfehler hab ^^<br />
bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1571445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1571445</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Mon, 25 Aug 2008 23:15:13 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl der eingegebenen Wörter ermitteln on Mon, 25 Aug 2008 23:29:01 GMT]]></title><description><![CDATA[<p>Vielleicht sollte man auch anmerken dass der Code nicht die Worte zählt sondern die Leerzeichen (plus 1). Für mich zumindest ist</p>
<pre><code>&quot;a   b&quot;
</code></pre>
<p>ein String mit 2 Worten und nicht 4.<br />
Und</p>
<pre><code>&quot; a &quot;
</code></pre>
<p>ist auch ein String mit einem Wort und nicht 3.</p>
<p>EDIT: ich hatte das Posting von unskilled um 01:15:13 26.08.2008 noch nicht gelesen, und beziehe mich auf den davor geposteten Code.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1571447</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1571447</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 25 Aug 2008 23:29:01 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl der eingegebenen Wörter ermitteln on Mon, 25 Aug 2008 23:28:30 GMT]]></title><description><![CDATA[<p>Eine weitere Alternative:</p>
<pre><code class="language-cpp">string temp = &quot;&quot;;
getline(cin, temp);

vector&lt;string&gt; words;
istringstream sstr(temp);

while( sstr &gt;&gt; temp ) words.push_back(temp);

cout &lt;&lt; words.size() &lt;&lt; endl;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1571448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1571448</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 25 Aug 2008 23:28:30 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl der eingegebenen Wörter ermitteln on Mon, 25 Aug 2008 23:43:31 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/16305">@unskilled</a>:<br />
Es hängt nicht so sehr von der Grösse des Datentyps ab, sondern eher davon wie die beiden operator ++ implementiert sind. Und bei eingebauten Typen wie int ist es eben wurscht.</p>
<p>----</p>
<p>Ich habe auch nix dagegen wenn jmd. anmerkt man solle sich allgemein angewöhnen ++i statt i++ zu schreiben (wenn man den Returnwert nicht braucht), da man dann weniger leicht &quot;vergisst&quot; die pre-increment Version zu schreiben wenn man z.B. mal mit Iteratoren zu tun hat. Aber wenn jemand Code postet wo er einen &quot;int&quot; mit ++i hochzählt und noch ein Kommentar dazuschreibt ala &quot;weils schneller ist&quot;, dann kann ich nicht anders als mich ein wenig zu zerkugeln und gleichzeitig ein wenig zu ärgern.</p>
<p>Vor allem wenn man sich mal etwas umsieht wieviel Mist dazu im Netz geschrieben wird. Ganz davon abgesehen dass jeder an premature-micro-optimization verschwendete Gedanke ... naja, eben verschwendet ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1571451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1571451</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 25 Aug 2008 23:43:31 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl der eingegebenen Wörter ermitteln on Tue, 26 Aug 2008 12:51:31 GMT]]></title><description><![CDATA[<p>Vielen Dank an Euch alle!<br />
Habe bei weitem nicht mit sooo vielen Antworten gerechnet. Und auch nicht damit, dass mein Code dermaßen danebenlag...<br />
Die Aufgabe habe ich mit den Kenntnissen, die ich mir in dem Kapitel des Buchs &quot;C++ Das Grundlagenbuch&quot; aneignen sollte/wollte versucht zu lösen. Sogar bei der Aufgabenstellung wurde auf die Benutzung des &quot;isspace()&quot;-Befehls hingewiesen, weswegen ich genau diesen auch verwenden wollte. Eine simple, wenn auch möglicherweise längere Lösung mit eben diesem Befehl gibt es also nicht? Zwar scheint mir die Vorgehensweise von helferlein (danke nochmal) meiner in gewisser Weise ähnlich, doch auch er verwendet diesen Befehl nicht...<br />
Und das mit dem Compiler: Bisher gefiel mir der von mir verwendete in sofern gut, als dass man sich bei ihm (bisher zumindest) nicht durch überfüllte Menüs kämpfen muss, sondern mit den Kenntnissen, die ich habe (ehem... oder eben auch nicht), sofort loslegen kann. Werde mir aber auf Euren Rat dennoch vornehmen, mit aktuellerer Software zu arbeiten.<br />
-Dank und Gruß, Paiam</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1571690</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1571690</guid><dc:creator><![CDATA[Paiam]]></dc:creator><pubDate>Tue, 26 Aug 2008 12:51:31 GMT</pubDate></item></channel></rss>