<?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[Morse Code übersetzter]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bin gerade dabei ein Programm zu machen welches die Morse Zeichzen übersetzen kann.</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;
#pragma hdrstop
#pragma argsused

int code();
string eingabe;

int main()
{

int start;
cout&lt;&lt;&quot;(1) Programm starten\n&quot;;
cout&lt;&lt;&quot;(2) Programm beenden\n&quot;;
cin&gt;&gt;start;

        if (start==1)
        {
        code();
        }

getchar();
}

    int code()
    {
    system(&quot;CLS&quot;);

    string eingabe;
    cout&lt;&lt;&quot;Code Zeichen eingeben: \n&quot;;
    cin&gt;&gt;eingabe;

            if (eingabe==&quot;._&quot;)
            {
            cout&lt;&lt;&quot;A\n&quot;;
            getchar();
            }

            if (eingabe==&quot;_...&quot;)
            {
            cout&lt;&lt;&quot;B\n&quot;;
            getchar();
            }

        return 0;
      }
</code></pre>
<p>Das Problem ist aber das der user halt immer nur ein Buchstabe angezeigt bekommen kann.</p>
<p>Ich will es halt so machen das wenn der user z.b. eingibt<br />
._ _... das dass Programm das die zwei Buchstaben A B ausgibt aber ich hab leider keine Ahnung wie das gehen könnte <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/204207/morse-code-übersetzter</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 08:53:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/204207.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 31 Jan 2008 10:26:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Morse Code übersetzter on Thu, 31 Jan 2008 10:26:48 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bin gerade dabei ein Programm zu machen welches die Morse Zeichzen übersetzen kann.</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;
#pragma hdrstop
#pragma argsused

int code();
string eingabe;

int main()
{

int start;
cout&lt;&lt;&quot;(1) Programm starten\n&quot;;
cout&lt;&lt;&quot;(2) Programm beenden\n&quot;;
cin&gt;&gt;start;

        if (start==1)
        {
        code();
        }

getchar();
}

    int code()
    {
    system(&quot;CLS&quot;);

    string eingabe;
    cout&lt;&lt;&quot;Code Zeichen eingeben: \n&quot;;
    cin&gt;&gt;eingabe;

            if (eingabe==&quot;._&quot;)
            {
            cout&lt;&lt;&quot;A\n&quot;;
            getchar();
            }

            if (eingabe==&quot;_...&quot;)
            {
            cout&lt;&lt;&quot;B\n&quot;;
            getchar();
            }

        return 0;
      }
</code></pre>
<p>Das Problem ist aber das der user halt immer nur ein Buchstabe angezeigt bekommen kann.</p>
<p>Ich will es halt so machen das wenn der user z.b. eingibt<br />
._ _... das dass Programm das die zwei Buchstaben A B ausgibt aber ich hab leider keine Ahnung wie das gehen könnte <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1446849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446849</guid><dc:creator><![CDATA[Bassmaster]]></dc:creator><pubDate>Thu, 31 Jan 2008 10:26:48 GMT</pubDate></item><item><title><![CDATA[Reply to Morse Code übersetzter on Thu, 31 Jan 2008 10:38:23 GMT]]></title><description><![CDATA[<p>Bassmaster schrieb:</p>
<blockquote>
<p>Das Problem ist aber das der user halt immer nur ein Buchstabe angezeigt bekommen kann.</p>
<p>Ich will es halt so machen das wenn der user z.b. eingibt<br />
._ _... das dass Programm das die zwei Buchstaben A B ausgibt aber ich hab leider keine Ahnung wie das gehen könnte <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>
</blockquote>
<p>Die Begriff Schleife und Stringzerlegung sagen dir was?</p>
<p>PSEUDOCODE:</p>
<pre><code>string eingabe &lt;== Text eingeben
string ausgabe;
Wiederhole solange eingabe nicht leer ist
{
  Wenn am Stringbegin die Zeichenfolge für a steht
  {
    ausgabe &lt;== Um &quot;a&quot; ergänzen
    eingabe &lt;== Teilstring von eingabe, um Zeichenfolge gekürzt
  }
  Wenn ansonsten am Stringbegin die Zeichenfolge für b steht
  {
    ausgabe &lt;== Um &quot;b&quot; ergänzen
    eingabe &lt;== Teilstring von eingabe, um Zeichenfolge gekürzt
  }
}
</code></pre>
<p>cu André<br />
P.S: Bitte statt vielen folgenden if-Anweisungen wenn diese sich ausschließen lieber if...else if...else if... Einsetzen. Dann wird die Prüfung nur immer bis zum ersten passenden durchgeführt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446853</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446853</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Thu, 31 Jan 2008 10:38:23 GMT</pubDate></item><item><title><![CDATA[Reply to Morse Code übersetzter on Thu, 31 Jan 2008 10:38:32 GMT]]></title><description><![CDATA[<p>Schleifen das machen wir gerade iner Schule^^</p>
<p>Aber Stringzerlegung kenn ich leider noch nicht.</p>
<p>Gibt es irgendwo ein Tutorial zu dem Thema ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446857</guid><dc:creator><![CDATA[Bassmaster]]></dc:creator><pubDate>Thu, 31 Jan 2008 10:38:32 GMT</pubDate></item><item><title><![CDATA[Reply to Morse Code übersetzter on Thu, 31 Jan 2008 10:39:12 GMT]]></title><description><![CDATA[<p>Kannst auch eine std::map&lt;std::string, char&gt; benutzen. Dann kannst du die füllen mit myMap[&quot;..-&quot;] = 'a' (oder was auch immer was ist).</p>
<p>Dann kannst du das leichter abfragen und brauchst keine ewigen if/else-Verzweigungen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446858</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Thu, 31 Jan 2008 10:39:12 GMT</pubDate></item><item><title><![CDATA[Reply to Morse Code übersetzter on Thu, 31 Jan 2008 10:46:02 GMT]]></title><description><![CDATA[<p>Bassmaster schrieb:</p>
<blockquote>
<p>Aber Stringzerlegung kenn ich leider noch nicht.</p>
</blockquote>
<p>Schau dir mal grundsätzlich die Stringverarbeitung an:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-155739.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-155739.html</a></p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/17700">@Fellhuhn</a> Die Map-Lösung habe ich mal Außen vor gelassen, da es mir hier schon um rudimentäre Grundlagen geht (nach dem Stand den Bassmaster scheinbar hat). Davon abgesehen musst du dann auch mit Teilstrings arbeiten. Und da Morsezeichen ja nicht immer aus gleich vielen Zeichen zusammengesetzt sind soviel mir bekannt ist, muss man dann nach und nach mit größeren Teisstrings prüfen bis ein Treffer erzielt wird.</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446861</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446861</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Thu, 31 Jan 2008 10:46:02 GMT</pubDate></item><item><title><![CDATA[Reply to Morse Code übersetzter on Thu, 31 Jan 2008 10:47:10 GMT]]></title><description><![CDATA[<p>Das sagt mir auch nichts diese mymap Sachen naja egal dann lass ich es glaub ich.</p>
<p>thx für eure Behmühungen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446862</guid><dc:creator><![CDATA[Bassmaster]]></dc:creator><pubDate>Thu, 31 Jan 2008 10:47:10 GMT</pubDate></item><item><title><![CDATA[Reply to Morse Code übersetzter on Thu, 31 Jan 2008 11:17:24 GMT]]></title><description><![CDATA[<p>Bassmaster schrieb:</p>
<blockquote>
<p>Das sagt mir auch nichts diese mymap Sachen naja egal dann lass ich es glaub ich.</p>
</blockquote>
<p>Nicht so schnell aufgeben! Lass uns mal Schritt fuer Schritt vorgehen.<br />
Schreib doch erstmal auf, wie du das Kernproblem angehen wuerdest:<br />
Du bekommst eine Reihe von Zeichen, bestehend aus Strichen, Punkten und Leerzeichen. Wie wuerdest du persoenlich vorgehen, wenn du ohne Computer diese Zeichen in Buchstaben umwandeln wuerdest?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446878</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 31 Jan 2008 11:17:24 GMT</pubDate></item><item><title><![CDATA[Reply to Morse Code übersetzter on Thu, 31 Jan 2008 11:20:26 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>Und da Morsezeichen ja nicht immer aus gleich vielen Zeichen zusammengesetzt sind soviel mir bekannt ist, muss man dann nach und nach mit größeren Teisstrings prüfen bis ein Treffer erzielt wird.</p>
</blockquote>
<p>Soweit ich weiß, muss aber zwischen den einzelnen &quot;Zeichen&quot; immer eine kurze Pause sein. In seinem kurzen Beispiel oder mit &quot; &quot; getrennt. Dann wäre es einfacher. <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/1446879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446879</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Thu, 31 Jan 2008 11:20:26 GMT</pubDate></item><item><title><![CDATA[Reply to Morse Code übersetzter on Thu, 31 Jan 2008 11:36:39 GMT]]></title><description><![CDATA[<p><a href="http://de.wikipedia.org/wiki/Morsecode" rel="nofollow">http://de.wikipedia.org/wiki/Morsecode</a> <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="🙂"
    /> Zwischen Zeichen ne Pause, zwischen Woertern ne lange Pause...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446889</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446889</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 31 Jan 2008 11:36:39 GMT</pubDate></item><item><title><![CDATA[Reply to Morse Code übersetzter on Thu, 31 Jan 2008 12:38:48 GMT]]></title><description><![CDATA[<p>Uch hab mich der Sache mal kurz und buendig angenommen. Dabei codiere ich die Morsezeichen binaer: '.' = 0, '-' = 1. Um keine fuehrenden Nullen zu haben stelle ich noch eine 1 voran. Ein 'A' waere also ein &quot;.-&quot; -&gt; &quot;01&quot; -&gt; 101 = 5. 'S' = &quot;...&quot; -&gt; &quot;000&quot; -&gt; 1000 = 8. Ich gehe den String dann zeichenweise durch. kommt ein '.' oder '-', haenge ich entsprechend eine 0 oder 1 hinten an die Zahl an (shiftoperator, evtl +1). Kommt ein ' ', ist das Zeichen zu ende und wird ausgegeben und die Zahl wieder auf 1 gesetzt. bei zwei aufeinanderfolgenden Leerzeichen hab ich daher eine 1 im Speicher und gebe ein einzelnes Leerzeichen aus. Ungueltige Zeichen und Umlaute werden als '#' ausgegeben.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;

const char Morsechar[32] = {'#', ' ', 'E', 'T', 'I', 'A', 'N', 'M', 
                            'S', 'U', 'R', 'W', 'D', 'K', 'G', 'O',
                            'H', 'V', 'F', '#', 'L', '#', 'P', 'J', 
                            'B', 'X', 'C', 'Y', 'Z', 'Q', '#', '#'};

template &lt;class InputIterator&gt;
void parse_morse(InputIterator first, InputIterator const&amp; last)
{
  unsigned short val = 1;
  for (; first!=last; ++first) {
    switch(*first) {
      case '.': val=val&lt;&lt;1; break;
      case '-': val=val&lt;&lt;1; val+=1; break;
      case ' ': if (val&lt;32) cout&lt;&lt;Morsechar[val];
                else {
                  cerr&lt;&lt;&quot;morsecode too long&quot;&lt;&lt;endl;
                  return;
                }
                val=1; break;
      default: cerr&lt;&lt;&quot;unknown symbol: &quot;&lt;&lt;*first&lt;&lt;endl;
               return; break;
    }
  }
  if (val&lt;32) cout&lt;&lt;Morsechar[val]&lt;&lt;endl;
  else {
    cerr&lt;&lt;&quot;morsecode too long&quot;&lt;&lt;endl;
    return;
  }
}

int main() 
{
  cout &lt;&lt; &quot;Morsecode eingeben: &quot;;
  string code;
  getline(cin, code);
  parse_morse(code.begin(), code.end());
  const char sos[12] = &quot;... --- ...&quot;;
  cout&lt;&lt;&quot;... --- ... ergibt: &quot;;
  parse_morse(sos, sos+12);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1446918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446918</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 31 Jan 2008 12:38:48 GMT</pubDate></item></channel></rss>