<?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[Fehlermeldung]]></title><description><![CDATA[<p>Hallo!<br />
Ich bin gerade dabei ein Hangman-Programm (oder zumindest etwas ähnliches) zu Programmieren.<br />
Wenn ich aber den C-String terminieren möchte, öffnet sich eine Fehlermeldung<br />
(Fehlerbericht senden/nicht senden gedöns).<br />
Was habe ich falsch gemacht?<br />
Hier der Quellcode (Bitte fallt nicht rückwärts um, wenn ihr meinen Programmierstil seht^^):</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;cstring&gt;

using namespace std;

int main()
{
    char carray[30];
    int eingabe;
    int leben = 10;

    do
    {
        cout &lt;&lt; &quot;Druecken sie '1' fuer ein neues Spiel!&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;Druecken sie '2' um das Programm zu beenden!&quot; &lt;&lt; endl;
        cin &gt;&gt; eingabe;

        if(eingabe == 1)
        {
            cout &lt;&lt; &quot;Geben sie ein Wort ein! (Bitte nur Grossbuchstaben): &quot;;
            cin.getline(carray, sizeof(carray));
            strncat(carray, '\0', 1);
            for(int i = 0; i &lt; strlen(carray); i++)
            {
                cout &lt;&lt; &quot;-&quot;;
            }
        }
    }
    while(eingabe != 2);
    cout &lt;&lt; &quot;Programm wird beendet...&quot; &lt;&lt; endl;
    return 0;
}
</code></pre>
<p>Wie ihr sehen könnt ist es noch nicht ganz fertig!</p>
<p>Schonmal danke an euch!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/268496/fehlermeldung</link><generator>RSS for Node</generator><lastBuildDate>Tue, 01 Sep 2026 17:52:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/268496.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 Jun 2010 21:57:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehlermeldung on Wed, 09 Jun 2010 21:57:59 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Ich bin gerade dabei ein Hangman-Programm (oder zumindest etwas ähnliches) zu Programmieren.<br />
Wenn ich aber den C-String terminieren möchte, öffnet sich eine Fehlermeldung<br />
(Fehlerbericht senden/nicht senden gedöns).<br />
Was habe ich falsch gemacht?<br />
Hier der Quellcode (Bitte fallt nicht rückwärts um, wenn ihr meinen Programmierstil seht^^):</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;cstring&gt;

using namespace std;

int main()
{
    char carray[30];
    int eingabe;
    int leben = 10;

    do
    {
        cout &lt;&lt; &quot;Druecken sie '1' fuer ein neues Spiel!&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;Druecken sie '2' um das Programm zu beenden!&quot; &lt;&lt; endl;
        cin &gt;&gt; eingabe;

        if(eingabe == 1)
        {
            cout &lt;&lt; &quot;Geben sie ein Wort ein! (Bitte nur Grossbuchstaben): &quot;;
            cin.getline(carray, sizeof(carray));
            strncat(carray, '\0', 1);
            for(int i = 0; i &lt; strlen(carray); i++)
            {
                cout &lt;&lt; &quot;-&quot;;
            }
        }
    }
    while(eingabe != 2);
    cout &lt;&lt; &quot;Programm wird beendet...&quot; &lt;&lt; endl;
    return 0;
}
</code></pre>
<p>Wie ihr sehen könnt ist es noch nicht ganz fertig!</p>
<p>Schonmal danke an euch!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909777</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909777</guid><dc:creator><![CDATA[Honky]]></dc:creator><pubDate>Wed, 09 Jun 2010 21:57:59 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Wed, 09 Jun 2010 22:35:12 GMT]]></title><description><![CDATA[<p>Das compiliert? strncat sollte das eigentlich gar nicht annehmen, was wohl auch der Grund für den Fehler ist.</p>
<p>Wie auch immer: Dies ist ganz offensichtlich keine Spielerei mit C-Strings um sie mal gesehen zu haben sondern ein echtes Programm an dem du bastelst. Daher die berechtigte Frage: Warum C-Strings? std::string ist schließlich in jeder Hinsicht überlegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909794</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909794</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 09 Jun 2010 22:35:12 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Wed, 09 Jun 2010 23:04:37 GMT]]></title><description><![CDATA[<p>Ich bin noch(wie du wahrscheinlich bemerkt hast) blutiger Anfänger und bin noch nicht mit &quot;normalen&quot; Strings vertraut. Aber wenn du meinst, warte ich noch etwas mit meinem Programm und befasse mich mit strings. <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/1909804</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909804</guid><dc:creator><![CDATA[Honky]]></dc:creator><pubDate>Wed, 09 Jun 2010 23:04:37 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Wed, 09 Jun 2010 23:11:28 GMT]]></title><description><![CDATA[<p>Honky schrieb:</p>
<blockquote>
<p>Ich bin noch(wie du wahrscheinlich bemerkt hast) blutiger Anfänger und bin noch nicht mit &quot;normalen&quot; Strings vertraut. Aber wenn du meinst, warte ich noch etwas mit meinem Programm und befasse mich mit strings. <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>
</blockquote>
<p>Du verzichtest nicht auf strings, sondern benutzt nur die einfachere, sicherere und nicht zuletzt relevantere Variante und bastelst nicht mit C-Strings rum, denn das kommt, wie du siehst nicht gut.</p>
<p>btw:<br />
Schau mal hier hat jemand gerade letztens eine nette Hangman Version programmiert:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-268133.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-268133.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909807</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 09 Jun 2010 23:11:28 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Wed, 09 Jun 2010 23:19:42 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Ich habs mal &quot;C++-mäßig&quot; umgeschrieben.<br />
Ausserdem hast du eine schöne Endlos-Schleife programmiert. Darum die Variable end_loop.</p>
<p>mfg bernd</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

int main()
{
    string wort;
    int eingabe;
    int leben = 10;
    bool end_loop = false;

    do
    {
        cout &lt;&lt; &quot;Druecken sie '1' fuer ein neues Spiel!&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;Druecken sie '2' um das Programm zu beenden!&quot; &lt;&lt; endl;
        cin &gt;&gt; eingabe;

        if(eingabe == 1)
        {
            cout &lt;&lt; &quot;Geben sie ein Wort ein! (Bitte nur Grossbuchstaben): &quot;;
            cin &gt;&gt; eingabe;
        }
        else if(eingabe == 2)
        {
          end_loop = true;
        }
    }
    while(end_loop == true);
    cout &lt;&lt; &quot;Programm wird beendet...&quot; &lt;&lt; endl;
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1909808</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909808</guid><dc:creator><![CDATA[bauerb]]></dc:creator><pubDate>Wed, 09 Jun 2010 23:19:42 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Thu, 10 Jun 2010 08:43:28 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/8294">@bauerb</a>: Wohl eher andersrum mit dem end_loop. Jetzt läuft das Spiel nämlich nur so lange wie man &quot;Spiel beenden&quot; wählt <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/1909881</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909881</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 10 Jun 2010 08:43:28 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Thu, 10 Jun 2010 08:59:43 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/8294">@bauerb</a>: Wohl eher andersrum mit dem end_loop. Jetzt läuft das Spiel nämlich nur so lange wie man &quot;Spiel beenden&quot; wählt <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>
</blockquote>
<p>Die Originalversion vom Honky hatte eine Endlosschleife produziert, wenn man zuerst &quot;1&quot; (Wort eingeben) gewählt hat. Die Variable loop_end hab ich reingeschrieben, um das Problem zu beheben. Jetzt läuft es so, wie es, meiner Meinung nach, sein sollte. Man kann beliebig oft ein neues Wort eigeben (Menüpunkt 1) und wenn man keine Lust mehr hat, das Programm mit Menüpunkt 2 beenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909892</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909892</guid><dc:creator><![CDATA[bauerb]]></dc:creator><pubDate>Thu, 10 Jun 2010 08:59:43 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Thu, 10 Jun 2010 09:09:53 GMT]]></title><description><![CDATA[<p>Dann solltest du end_loop aber auf false überprüfen <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/1909896</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909896</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Thu, 10 Jun 2010 09:09:53 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Thu, 10 Jun 2010 09:15:35 GMT]]></title><description><![CDATA[<p>Oder besser wie im ersten Listing ganz darauf verzichten! Völlig überflüssig!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909900</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Thu, 10 Jun 2010 09:15:35 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Thu, 10 Jun 2010 09:21:05 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Ja klar... Im eiffer des Gefechtes... <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>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

int main()
{
    string wort;
    int eingabe;
    int leben = 10;
    bool end_loop = false;

    do
    {
        cout &lt;&lt; &quot;Druecken sie '1' fuer ein neues Spiel!&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;Druecken sie '2' um das Programm zu beenden!&quot; &lt;&lt; endl;
        cin &gt;&gt; eingabe;

        if(eingabe == 1)
        {
            cout &lt;&lt; &quot;Geben sie ein Wort ein! (Bitte nur Grossbuchstaben): &quot;;
            cin &gt;&gt; wort;
        }
        else if(eingabe == 2)
        {
          end_loop = true;
        }
    }
    while(end_loop == false);
    cout &lt;&lt; &quot;Programm wird beendet...&quot; &lt;&lt; endl;
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1909902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909902</guid><dc:creator><![CDATA[bauerb]]></dc:creator><pubDate>Thu, 10 Jun 2010 09:21:05 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Thu, 10 Jun 2010 09:23:49 GMT]]></title><description><![CDATA[<p>Bleibt trotzdem überflüssig und ist meiner Meinung nach auch nicht schöner.<br />
Wie kommst du überhaupt darauf:</p>
<blockquote>
<p>Ausserdem hast du eine schöne Endlos-Schleife programmiert.</p>
</blockquote>
<p>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909903</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909903</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Thu, 10 Jun 2010 09:23:49 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Thu, 10 Jun 2010 09:30:28 GMT]]></title><description><![CDATA[<p>Ups.... Stimmt...<br />
Hab den Wald vor lauter Bäumen nicht gesehen. <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="🙂"
    /> Hast natürlich recht. Muss mich entschuldigen. Keine Endlosschleife... Sorry</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909907</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909907</guid><dc:creator><![CDATA[bauerb]]></dc:creator><pubDate>Thu, 10 Jun 2010 09:30:28 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Thu, 10 Jun 2010 13:45:19 GMT]]></title><description><![CDATA[<p>Aber was verursacht denn nun diesen Fehler.<br />
Ich denke ja dass diese Zeile</p>
<pre><code class="language-cpp">strncat(carray, '\0', 1);
</code></pre>
<p>daran schuld ist. Ich habe es auch mit folgendem Probiert:</p>
<pre><code class="language-cpp">carray[sizeof(carray)-1] = '\0';
</code></pre>
<p>doch dann scheint der C-String trotzdem kein Terminierungszeichen zu enthalten, da dann strlen ins unendliche zählt.<br />
Und ich meine als angehender (Hobby-)Programmierer sollte man sich doch mit C-Strings genau so gut aukennen wie mit den C++ Strings. Oder nich?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910058</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910058</guid><dc:creator><![CDATA[Honky]]></dc:creator><pubDate>Thu, 10 Jun 2010 13:45:19 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Thu, 10 Jun 2010 14:03:42 GMT]]></title><description><![CDATA[<p>Nochmals:</p>
<ol>
<li>strncat funktioniert so nicht. Guck dir die <a href="http://www.cplusplus.com/reference/clibrary/cstring/strncat/" rel="nofollow">Doku</a> nochmal an. Hier mal ein paar Warnungen die mein Compiler zu dem Code hat:</li>
</ol>
<pre><code>test.cc: In function 'int main()':
test.cc:22: warning: null argument where non-null required (argument 2)
test.cc:22: warning: null argument where non-null required (argument 2)
test.cc:23: warning: comparison between signed and unsigned integer expressions
test.cc:10: warning: unused variable 'leben'
</code></pre>
<p>2. getline funktioniert so nicht. Guck dir die <a href="http://www.cplusplus.com/reference/iostream/istream/getline/" rel="nofollow">Doku</a> nochmal an.</p>
<blockquote>
<p>The ending null character that signals the end of a c-string is automatically appended to s after the data extracted.</p>
</blockquote>
<p>Honky schrieb:</p>
<blockquote>
<p>Und ich meine als angehender (Hobby-)Programmierer sollte man sich doch mit C-Strings genau so gut aukennen wie mit den C++ Strings. Oder nich?</p>
</blockquote>
<p>3. Wozu? Das alles hat man in C++ überhaupt nicht nötig. Guck dir die <a href="http://www.cplusplus.com/reference/string/" rel="nofollow">Doku</a> nochmal an. Ich erwarte auch nicht, dass mein Automechaniker weiß wie man einem Pferd ein Hufeisen verpasst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910067</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 10 Jun 2010 14:03:42 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Thu, 10 Jun 2010 19:52:57 GMT]]></title><description><![CDATA[<p>OK, guter vergleich^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910314</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910314</guid><dc:creator><![CDATA[Honky]]></dc:creator><pubDate>Thu, 10 Jun 2010 19:52:57 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Thu, 10 Jun 2010 20:01:17 GMT]]></title><description><![CDATA[<p>Honky schrieb:</p>
<blockquote>
<p>OK, guter vergleich^^</p>
</blockquote>
<p>ich hoff ja immernoch, dass iwann mal nen neuer toller vergleich kommt - langsam wirds langsam mit der pferd/auto-geschichte <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910320</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910320</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Thu, 10 Jun 2010 20:01:17 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Thu, 10 Jun 2010 20:54:16 GMT]]></title><description><![CDATA[<p>Naja, das Problem mit der Terminierung hab ich jetz begriffen, nur hab ich jetzt noch ein Problem. Meine for-Schleife wird einfach übergangen??? Warum?</p>
<p>Liegt das etwa an meiner IDE? (benutze codeBlocks)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910342</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910342</guid><dc:creator><![CDATA[Honky]]></dc:creator><pubDate>Thu, 10 Jun 2010 20:54:16 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Thu, 10 Jun 2010 21:57:28 GMT]]></title><description><![CDATA[<p>Hy</p>
<p>Wie übergangen? was meinst du damit?</p>
<p>Nur so nebenbei solange du es einfach ausführst kann es nicht an der IDE liegen weil diese dir<br />
unter die Arme greift in Sachen Projekt Zusammenstellung und Aufruf des Compilers. Und bei guten<br />
noch etwas Syntax-Highligting und IntelSense aber mehr auch nicht.</p>
<p>Im Debugging Modus könnte es sein, das dir die IDE das falsche anzeigt, aber ich kann mich nicht<br />
erinnern das ich das jemals Probleme mit CodeBlocks hatte und ich benutzt es schon seit langem.</p>
<p>Mfg marco</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910363</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910363</guid><dc:creator><![CDATA[Marc-O]]></dc:creator><pubDate>Thu, 10 Jun 2010 21:57:28 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Thu, 10 Jun 2010 21:58:34 GMT]]></title><description><![CDATA[<p>Honky schrieb:</p>
<blockquote>
<p>Naja, das Problem mit der Terminierung hab ich jetz begriffen, nur hab ich jetzt noch ein Problem. Meine for-Schleife wird einfach übergangen??? Warum?</p>
</blockquote>
<p>Aktuellen Code zeigen!</p>
<blockquote>
<p>Liegt das etwa an meiner IDE? (benutze codeBlocks)</p>
</blockquote>
<p>Nein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910365</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 10 Jun 2010 21:58:34 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Thu, 10 Jun 2010 22:45:50 GMT]]></title><description><![CDATA[<p>Ich habe die C-Strings nicht weggelassen, da es ja auch mit ihnen realisierbar sein müsste.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;cstring&gt;

using namespace std;

int main()
{

    char* carray[30];
    int eingabe;
    bool end_loop = true;

    do
    {
        cout &lt;&lt; &quot;Druecken sie '1' fuer ein neues Spiel!&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;Druecken sie '2' um das Programm zu beenden!&quot; &lt;&lt; endl;
        cin &gt;&gt; eingabe;

        if(eingabe == 1)
        {
            cout &lt;&lt; &quot;Geben sie ein Wort ein! (Bitte nur Grossbuchstaben): &quot;;
            cin.getline(carray, sizeof(carray));

            for(signed int i = 0; i &lt; strlen(carray); i++)
            {
                cout &lt;&lt; &quot;-&quot;;
            }
        }

        else
        {
            end_loop = false;
        }

    }
        while(end_loop == true);
        cout &lt;&lt; &quot;Programm wird beendet...&quot; &lt;&lt; endl;
        return 0;
}
</code></pre>
<p>Ich glaube ich habe mich falsch ausgedrückt, die for-schleife wird nicht übergangen, ich habe es jedoch geschafft irgendwo eine endlosschleife einzubauen. Wenn ich das nun Compiliere und 1 drücke wird erstmal ausgegeben:<br />
&quot;Geben sie ein Wort ein! (Bitte nur Grossbuchstaben): &quot; Direkt dahinter werden dann wieder die anweisungen drücke 1 oder 2 gestellt. (Warum)<br />
Gebe ich dann ein Wort/Buchstabe ein lauft das Programm unendlich durch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910375</guid><dc:creator><![CDATA[Honky]]></dc:creator><pubDate>Thu, 10 Jun 2010 22:45:50 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Thu, 10 Jun 2010 23:10:43 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">while(end_loop == true);
</code></pre>
<p>Als erstes:</p>
<p>Du brauchst der Anweisung nicht zu sagen, das sie &quot;Wahr&quot; sein soll, du kannst also einfach</p>
<pre><code class="language-cpp">while(end_loop);
</code></pre>
<p>schreiben.</p>
<p>So wie die Schleife jetzt aufgebaut ist, würdest du das Programm beenden, wenn du bei der ersten Eingabe keine 1 gemacht hast. Ist das Sinn und Zweck?<br />
Ich würde das</p>
<pre><code class="language-cpp">end_loop = false
</code></pre>
<p>in die &quot;true&quot; Bedingung setzen, würde zumindest meiner Meinung nach mehr Sinn ergeben <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>
<p>würde dann in etwa so aussehen:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;cstring&gt;

using namespace std;

int main()
{

    char* carray[30];
    int eingabe;
    bool end_loop = true;

    do
    {
        cout &lt;&lt; &quot;Druecken sie '1' fuer ein neues Spiel!&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;Druecken sie '2' um das Programm zu beenden!&quot; &lt;&lt; endl;
        cin &gt;&gt; eingabe;

        if(eingabe == 1)
        {
            cout &lt;&lt; &quot;Geben sie ein Wort ein! (Bitte nur Grossbuchstaben): &quot;;
            cin.getline(carray, sizeof(carray));

            for(signed int i = 0; i &lt; strlen(carray); i++)
            {
                cout &lt;&lt; &quot;-&quot;;
            }
            end_loop = false;
        }
    } while(end_loop);
        cout &lt;&lt; &quot;Programm wird beendet...&quot; &lt;&lt; endl;
        return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1910378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910378</guid><dc:creator><![CDATA[DNKpp]]></dc:creator><pubDate>Thu, 10 Jun 2010 23:10:43 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Fri, 11 Jun 2010 08:48:18 GMT]]></title><description><![CDATA[<p>Und mit <code>std::string</code> wäre der Code dann sogar schön und sicher.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910498</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 11 Jun 2010 08:48:18 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Fri, 11 Jun 2010 10:21:09 GMT]]></title><description><![CDATA[<p>Nur mein Problem bleibt.<br />
Ich komme nicht zur eingabe des Wortes.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910559</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910559</guid><dc:creator><![CDATA[Honky]]></dc:creator><pubDate>Fri, 11 Jun 2010 10:21:09 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Fri, 11 Jun 2010 11:43:00 GMT]]></title><description><![CDATA[<p>Honky schrieb:</p>
<blockquote>
<p>Nur mein Problem bleibt.<br />
Ich komme nicht zur eingabe des Wortes.</p>
</blockquote>
<p>Und ich kann's nnoch nicht einmal compilieren. Denn es ist einfach totaler Mist und das müsste dir dein Compiler auch sagen:</p>
<pre><code class="language-cpp">char* carray[30];
</code></pre>
<p>Das ist ein Array von char*. Das ist <strong>kein</strong> C-String! Entsprechend gehen auch alle späteren Stringoperationen schief:</p>
<pre><code>test.cc: In function ‘int main()’:
test.cc:22: [b]error: no matching function for call to ‘std::basic_istream&lt;char, std::char_traits&lt;char&gt; &gt;::getline(char* [30], long unsigned int)’[/b]
/usr/include/c++/4.4/istream:593: note: candidates are: std::basic_istream&lt;_CharT, _Traits&gt;&amp; std::basic_istream&lt;_CharT, _Traits&gt;::getline(_CharT*, std::streamsize, _CharT) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;]
/usr/include/c++/4.4/istream:405: note:                 std::basic_istream&lt;_CharT, _Traits&gt;&amp; std::basic_istream&lt;_CharT, _Traits&gt;::getline(_CharT*, std::streamsize) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;]
test.cc:24: [b]error: cannot convert ‘char**’ to ‘const char*’ for argument ‘1’ to ‘size_t strlen(const char*)’
[/b]
</code></pre>
<p>Das alles würdest du dir sparen, wenn du endlich std::string benutzen würdest. Das ist irgendwie als wenn du zum Arzt gehst und jammerst, dass dein Kopf weh tut, wenn du vor die Wand läufst. Da kann man eben nur antworten, dass du aufhören sollst absichtlich vor die Wand zu laufen.</p>
<p>edit: So ungefähr wolltest du es wohl haben. Man könnte das ganze natürlich noch besser machen, indem man auf Fehleingaben reagiert, aber wir wollen für den Anfang mal nicht übertreiben:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

int main()
{

  int eingabe;  

  do
    {
      cout &lt;&lt; &quot;Druecken sie '1' fuer ein neues Spiel!&quot; &lt;&lt; endl;
      cout &lt;&lt; &quot;Druecken sie '2' um das Programm zu beenden!&quot; &lt;&lt; endl;
      cin &gt;&gt; eingabe;

      if(eingabe == 1)
        {
          cout &lt;&lt; &quot;Geben sie ein Wort ein! (Bitte nur Grossbuchstaben): &quot;;
          string str;
          cin &gt;&gt; str;   // So leicht kann das sein. 

          for(unsigned int i = 0; i &lt; str.size(); i++) // Warum signed, wenn i doch ganz klar nur positiv sein kann?
            {
              cout &lt;&lt; &quot;-&quot;;
            }
          cout&lt;&lt;endl;   // Neue Zeile nach den ----, das sieht hübscher aus.
        }
    } while(eingabe!=2);   // Wozu das Gefrickel mit end_loop?
  cout &lt;&lt; &quot;Programm wird beendet...&quot; &lt;&lt; endl;
  return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1910596</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910596</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 11 Jun 2010 11:43:00 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Fri, 11 Jun 2010 12:54:47 GMT]]></title><description><![CDATA[<p>Das mit dem char-Zeiger war ein versehen, hab ich in meinem eigenen code auch nicht rein machen wollen.</p>
<p>Und das mit dem end_loop wurde mir von anderen vorgeschlagen. Zuvor hatte ich auch die abfrage mit</p>
<pre><code class="language-cpp">while(eingabe !=2);
</code></pre>
<p>Und zu den C-Strings: Wenn es wirklich so schlimm ist, dass ich C-Strings benutze, dann lass ich es eben bleiben. Ich dachte nur es müsste auch mit diesen gehen.</p>
<p>Trotzdem danke</p>
<p>PS: Was benutzt du denn für ne IDE</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910694</guid><dc:creator><![CDATA[Honky]]></dc:creator><pubDate>Fri, 11 Jun 2010 12:54:47 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung on Fri, 11 Jun 2010 12:58:59 GMT]]></title><description><![CDATA[<p>Honky schrieb:</p>
<blockquote>
<p>Und zu den C-Strings: Wenn es wirklich so schlimm ist, dass ich C-Strings benutze, dann lass ich es eben bleiben. Ich dachte nur es müsste auch mit diesen gehen.</p>
</blockquote>
<p>Klar geht es, aber es ist einiges umständlicher, als mit <code>std::string</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910698</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910698</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 11 Jun 2010 12:58:59 GMT</pubDate></item></channel></rss>