<?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[Zeichen klassifizieren]]></title><description><![CDATA[<p>Hey Leute, ich habe eine Aufgabe : &quot;Schreiben Sie ein Programm, das ein einzelnes Zeichen einliest und klassifiziert. Es soll ausgeben, ob es sich um ein Alphazeichen, ein Ziffernzeichen oder ein sonstiges Zeichen handelt. Die Menge der Alphazeichen ist {a..z, A..Z}, die Menge der Ziffernzeichen ist {0..9}. Alle übrigen Zeichen gehören zur Menge der sonstigen Zeichen.&quot;</p>
<p>Beispieldialoge</p>
<p>Dialog 1</p>
<p>Zeichen:</p>
<blockquote>
<p>? &lt;RETURN&gt;<br />
sonstiges Zeichen<br />
Dialog 2</p>
</blockquote>
<p>Zeichen:</p>
<blockquote>
<p>1 &lt;RETURN&gt;<br />
Ziffernzeichen<br />
Dialog 3</p>
</blockquote>
<p>Zeichen:</p>
<blockquote>
<p>x &lt;RETURN&gt;<br />
Alphazeichen</p>
</blockquote>
<p>Das habe ich versucht zusammenzuschreiben, es macht nicht das was es soll <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="😞"
    /></p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;stdio.h&gt;
#include &lt;ctype.h&gt;
using namespace std;

int main()
{

    char a;

    cout &lt;&lt; &quot;Geben Sie ein Zeichen ein:&quot;;
    cin &gt;&gt; a;

    if (!isalnum(a));
    printf(&quot;Alphanumerisches Zeichen : %c&quot;,a );

    a = isalpha(a);
    printf ( &quot;Buchstabe: %c&quot;, a);

    a = isdigit (a);
    printf (&quot;Sonderzeichen: %c&quot;, a);

    system(&quot;PAUSE&quot;);
    return 0;
}
</code></pre>
<p>Was muss ich daran ändern? Ich hoffe ihr könnt mir helfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/295829/zeichen-klassifizieren</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 07:28:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/295829.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 22 Nov 2011 19:01:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeichen klassifizieren on Tue, 22 Nov 2011 19:01:33 GMT]]></title><description><![CDATA[<p>Hey Leute, ich habe eine Aufgabe : &quot;Schreiben Sie ein Programm, das ein einzelnes Zeichen einliest und klassifiziert. Es soll ausgeben, ob es sich um ein Alphazeichen, ein Ziffernzeichen oder ein sonstiges Zeichen handelt. Die Menge der Alphazeichen ist {a..z, A..Z}, die Menge der Ziffernzeichen ist {0..9}. Alle übrigen Zeichen gehören zur Menge der sonstigen Zeichen.&quot;</p>
<p>Beispieldialoge</p>
<p>Dialog 1</p>
<p>Zeichen:</p>
<blockquote>
<p>? &lt;RETURN&gt;<br />
sonstiges Zeichen<br />
Dialog 2</p>
</blockquote>
<p>Zeichen:</p>
<blockquote>
<p>1 &lt;RETURN&gt;<br />
Ziffernzeichen<br />
Dialog 3</p>
</blockquote>
<p>Zeichen:</p>
<blockquote>
<p>x &lt;RETURN&gt;<br />
Alphazeichen</p>
</blockquote>
<p>Das habe ich versucht zusammenzuschreiben, es macht nicht das was es soll <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="😞"
    /></p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;stdio.h&gt;
#include &lt;ctype.h&gt;
using namespace std;

int main()
{

    char a;

    cout &lt;&lt; &quot;Geben Sie ein Zeichen ein:&quot;;
    cin &gt;&gt; a;

    if (!isalnum(a));
    printf(&quot;Alphanumerisches Zeichen : %c&quot;,a );

    a = isalpha(a);
    printf ( &quot;Buchstabe: %c&quot;, a);

    a = isdigit (a);
    printf (&quot;Sonderzeichen: %c&quot;, a);

    system(&quot;PAUSE&quot;);
    return 0;
}
</code></pre>
<p>Was muss ich daran ändern? Ich hoffe ihr könnt mir helfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2147531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2147531</guid><dc:creator><![CDATA[Brain91]]></dc:creator><pubDate>Tue, 22 Nov 2011 19:01:33 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichen klassifizieren on Tue, 22 Nov 2011 19:14:02 GMT]]></title><description><![CDATA[<p>Hallo Brain91,</p>
<p>dein Code enthält wirklich ein paar Fehler.<br />
Du möchtest prüfen, ob das eingegebene Zeichen eine Zahl, ein Buchstabe oder ein Sonderzeichen ist. Nur wenn eines davon zutrifft, willst du auch nur den passenden Text ausgeben.</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;stdio.h&gt;
#include &lt;ctype.h&gt;
using namespace std;

int main()
{

    char a;

    cout &lt;&lt; &quot;Geben Sie ein Zeichen ein:&quot;;
    cin &gt;&gt; a;

    if (isdigit(a))
        cout &lt;&lt; &quot;Alphanumerisches Zeichen : &quot; &lt;&lt; a &lt;&lt; '\n';
    else if(isalpha(a))
        cout &lt;&lt; &quot;Buchstabe: &quot; &lt;&lt; a &lt;&lt; '\n';
    else
        cout &lt;&lt; &quot;Sonderzeichen: &quot; &lt;&lt; a &lt;&lt; '\n';

    system(&quot;PAUSE&quot;);
    return 0;
}
</code></pre>
<p>Statt printf benutze lieber cout, wie du es am Anfang gemacht hast, da wir C++ coden.<br />
Du siehst also, bei dem ersten <em>if</em>, wird der unten drunter stehende Text ausgegeben und nur dieser, wenn es eine Zahl ist. Wenn es ein Buchstabe ist, wird nur &quot;Buchstabe: &quot; ausgegeben und nichts anderes. Das gleiche bei dem Sonderzeichen.<br />
Was bei dir also gefehlt hat, ist die Abfrage. Du hattest zwar eine, aber genau das war dein Problem. Du hattest nunmal nur eine. D.h., die anderen beiden wurden auch ausgeführt, ganz egal ob es ein Buchstabe ist oder nicht.<br />
Außerdem gibt z.B. <em>isdigit()</em> den Typ <em>bool</em> zurück. Du versuchst aber das zurückgegebene bool einem char zuzuweißen. Das sollte man nicht machen. Am besten machst du es direkt in die Abfrage rein. Ein weiteres Problem bei dir war, dass du hinter der if-Abfrage ein Semikolon hattest. Egal ob die Abfrage true oder false ergibt, es wäre nichts passiert.<br />
Ich hoffe du hast es verstanden. Wenn nicht, frag nach. <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/2147539</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2147539</guid><dc:creator><![CDATA[freaky]]></dc:creator><pubDate>Tue, 22 Nov 2011 19:14:02 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichen klassifizieren on Tue, 22 Nov 2011 19:19:45 GMT]]></title><description><![CDATA[<p>Hey FreakY&lt;3Cpp, vielen dank für deine schnelle Antwort, jetzt habe ich auch verstanden, was ich falsch gemacht habe.<br />
Könntest du mir vielleicht noch einen Tipp geben, welche Befehle man eingeben muss für (Schreiben Sie ein Programm, das ein Alphazeichen einliest. Ein Alphazeichen ist ein Zeichen aus der Menge {a..z, A..Z }. Handelt es sich um kein Alphazeichen, soll eine Fehlermeldung ausgegeben werden. Liegt ein Alphazeichen vor, wird angezeigt, ob es sich um einen Vokal, ein Element der Menge {a, e, i, o, u, A, E, I, O, U}, oder einen Konsonanten (Menge der Alphazeichen vermindert um die Menge der Vokale) handelt.)<br />
Ich habe schon im Internet geschaut, aber finde dafür keine Befehle und in meinem Buch steht darüber auch nichts drin. <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/2147544</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2147544</guid><dc:creator><![CDATA[Brain91]]></dc:creator><pubDate>Tue, 22 Nov 2011 19:19:45 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichen klassifizieren on Tue, 22 Nov 2011 19:28:23 GMT]]></title><description><![CDATA[<p>Schau dir dazu mal die <a href="http://www.java2s.com/Code/C/Language-Basics/Howtouseswitchchar.htm" rel="nofollow">switch-Anweisung</a> an. Diese kann man für z.B. Integer und Char benutzen. Also in deinem Fall char. Die switch-Anweisung ähnelt der if-Anweisung. Der Link zeigt zwar ein C Beispiel, aber die Benutzung sollte verständlich sein. Du kannst ja erstmal versuchen selbst was hinzubekommen und wenn du nicht weiterkommst, fragst du wieder nach.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2147548</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2147548</guid><dc:creator><![CDATA[freaky]]></dc:creator><pubDate>Tue, 22 Nov 2011 19:28:23 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichen klassifizieren on Tue, 22 Nov 2011 19:58:41 GMT]]></title><description><![CDATA[<p>Also ich habe das jetzt so gemacht, aber das ist bestimmt zu lang oder?<br />
Geht das auch irgendwie kürzer für die Aufgabe (Schreiben Sie ein Programm, das ein Alphazeichen einliest. Ein Alphazeichen ist ein Zeichen aus der Menge {a..z, A..Z }. Handelt es sich um kein Alphazeichen, soll eine Fehlermeldung ausgegeben werden. Liegt ein Alphazeichen vor, wird angezeigt, ob es sich um einen Vokal, ein Element der Menge {a, e, i, o, u, A, E, I, O, U}, oder einen Konsonanten (Menge der Alphazeichen vermindert um die Menge der Vokale) handelt.)?<br />
Schonmal vielen Dank im vorraus.</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt; 
#include &lt;iostream&gt; 
#include &lt;stdio.h&gt; 
#include &lt;ctype.h&gt;

using namespace std; 

int main() 
{
   char a;                   
   cout &lt;&lt; &quot;Geben einen Buchstaben ein&quot;;
   cin &gt;&gt; a;
   scanf(&quot;%b&quot;, &amp; a);

   switch (a)
   {
     case 'A': case 'a':
       printf(&quot;\n true&quot;);
     case 'E': case 'e':
       printf(&quot;\n true&quot;);
     case 'I': case 'i':
       printf(&quot;\n true&quot;);
     case 'O': case 'o':
       printf(&quot;\n true&quot;);
     case 'U': case 'u':
       printf(&quot;\n true&quot;);

     printf(&quot;\n  Vokal&quot;);
     break;

     case 'B': case 'b':
       printf(&quot;\n  false&quot;);
     case 'C': case 'c':
     printf ( &quot;\n false&quot;);
     case 'D': case 'd':
     printf ( &quot;\n false&quot;);
     case 'F': case 'f':
     printf ( &quot;\n false&quot;);
     case 'G': case 'g':
     printf ( &quot;\n false&quot;);
     case 'H': case 'h':
     printf ( &quot;\n false&quot;);
     case 'J': case 'j':
     printf ( &quot;\n false&quot;);
     case 'K': case 'L':
     printf ( &quot;\n false&quot;);
     case 'M': case 'm':
     printf ( &quot;\n false&quot;);
     case 'N': case 'n':
     printf ( &quot;\n false&quot;);
     case 'P': case 'p':
     printf ( &quot;\n false&quot;);
     case 'Q': case 'q':
     printf ( &quot;\n false&quot;);
     case 'R': case 'r':
     printf ( &quot;\n false&quot;);
     case 'S': case 's':
     printf ( &quot;\n false&quot;);
     case 'T': case 't':
     printf ( &quot;\n false&quot;);
     case 'V': case 'v':
     printf ( &quot;\n false&quot;);
     case 'W': case 'w':
     printf ( &quot;\n false&quot;);
     case 'X': case 'x':
     printf ( &quot;\n false&quot;);
     case 'Y': case 'y':
     printf ( &quot;\n false&quot;);
     case 'Z': case 'z':
     printf ( &quot;\n false&quot;);

     default:
       printf(&quot;\n kein Vokal&quot;);
       break;
   }
  system(&quot;PAUSE&quot;); 
    return 0;  
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2147559</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2147559</guid><dc:creator><![CDATA[Brain91]]></dc:creator><pubDate>Tue, 22 Nov 2011 19:58:41 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichen klassifizieren on Tue, 22 Nov 2011 20:10:07 GMT]]></title><description><![CDATA[<p>Ja es geht definitiv kürzer. Das Prinzip der switch-Anweisung ist, dass es je nach Fall zu dem richtigen Punkt springt. Wenn kein break in einem case enthalten ist, fällt es einfach durch.<br />
D.h., statt folgendes zu schreiben:</p>
<pre><code class="language-cpp">switch(character)
{
    case a:
        cout &lt;&lt; character;
        break;
    case A:
        cout &lt;&lt; character;
        break;
    default:
        cout &lt;&lt; &quot;kein a&quot;;
}
</code></pre>
<p>kannst du das schreiben:</p>
<pre><code class="language-cpp">switch(character)
{
    case a:
    case A:
        cout &lt;&lt; character;
        break;
    default:
        cout &lt;&lt; &quot;kein a&quot;;
}
</code></pre>
<p>Und beides wird somit zusammengefasst.<br />
Und wie wir ja wissen: Wenn der Buchstabe kein Umlaut ist, ist es ein Konsonant. Da es weniger Umlaute als Konsonanten gibt, prüfen wir ob das Zeichen ein Umlaut ist und wenn nicht, benutzen wir default um zu sagen, dass es sich um ein Konsant hält.<br />
Dein Code in kurz:</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;stdio.h&gt;
#include &lt;ctype.h&gt;

using namespace std;

int main()
{
    char a;                  
    cout &lt;&lt; &quot;Geben einen Buchstaben ein&quot;;
    cin &gt;&gt; a;

    if(isalpha(a))
    {
        switch (a)
        {
            case 'A': 
            case 'a':
            case 'E': 
            case 'e':
            case 'I': 
            case 'i':
            case 'O': 
            case 'o':
            case 'U': 
            case 'u':
                cout &lt;&lt; &quot;Es handelt sich um ein Vokal.&quot;;
                break;

            default:
                cout &lt;&lt; &quot;Es handelt sich um einen Konsonanten.&quot;
        }
    }
    else
    {
        cout &lt;&lt; &quot;Kein Buchstabe!&quot;;
    }
    system(&quot;PAUSE&quot;);
    return 0;  
}
</code></pre>
<p>So, dann noch eine if-Abfrage eingebaut, um zu prüfen, ob es auch ein Buchstabe ist und dann läuft das Programm.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2147571</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2147571</guid><dc:creator><![CDATA[freaky]]></dc:creator><pubDate>Tue, 22 Nov 2011 20:10:07 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichen klassifizieren on Tue, 22 Nov 2011 20:16:40 GMT]]></title><description><![CDATA[<p>Vielen Dank für deine Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2147574</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2147574</guid><dc:creator><![CDATA[Brain91]]></dc:creator><pubDate>Tue, 22 Nov 2011 20:16:40 GMT</pubDate></item></channel></rss>