Erlaubt mehrere Zeichen im Morsecode-Konverter

8

Ich mache ein Programm, das Input nimmt und es in Morse-Code in Form von Computer-Signaltönen umwandelt, aber ich kann nicht herausfinden, wie ich es machen kann, damit ich mehr als einen Buchstaben in die Eingabe schreiben kann, ohne einen Fehler zu bekommen .

Hier ist mein Code:

%Vor%

Im Moment braucht es einen Buchstaben nach dem anderen, aber ich möchte, dass er Sätze nimmt.

    
Serial 03.05.2013, 01:05
quelle

5 Antworten

1

fügen Sie einfach eine zusätzliche for-Schleife hinzu und durchlaufen Sie die Zeichen in Ihrer Eingabe, um die Nachricht zu erhalten! Aber vergessen Sie nicht, Ihre Schleife bei Bedarf zu beenden!

Im folgenden Code habe ich es so gemacht, dass nach der Dekodierung der Nachricht gefragt wird, ob Sie eine andere senden möchten. Wenn Sie "n" eingeben, wird die Schleife beendet!

%Vor%

Jetzt hast du noch ein Problem ... du hast keine Leerzeichen berücksichtigt !! Du kannst also nur Wörter senden! Wenn ich richtig liege, ist ein Leerzeichen zwischen Wörtern eine feste zeitgesteuerte Stille im Morse-Code. Was ich also sagen sollte, ist Folgendes hinzuzufügen:

%Vor%

Auf diese Weise gibt es keinen Fehler zurück, wenn Sie versuchen, die Instanz des Speicherplatzes zu finden, und es wird in Ihrer else -Anweisung ausgeführt und zusätzliche 0,4 Sekunden vor dem nächsten Wort hinzugefügt!

    
Ryan Saxe 03.05.2013, 01:09
quelle
2

Versuchen Sie, Ihre Schleife so zu ändern:

%Vor%

Auf diese Weise iterieren Sie zuerst über die Zeichen in der Eingabe, dann suchen Sie das Zeichen in morseDict und iterieren über den Wert von morseDict[char] .

    
Nolen Royalty 03.05.2013 01:08
quelle
1

Ich glaube, Sie müssen über die Buchstaben in der Eingabe iterieren.

%Vor%     
Dr.Tower 03.05.2013 01:13
quelle
1

Ersetzen Sie diese Zeile:

%Vor%

mit dieser Zeile:

%Vor%

Das nimmt jedes Zeichen in Ihrer Eingabezeichenfolge, sucht die Morseäquivalent und verkettet die Ergebnisse zusammen mit einem Leerzeichentrennzeichen (vorausgesetzt, dass Sie die extra 0,4s Verzögerung zwischen Buchstaben möchten).

    
James Holderness 03.05.2013 01:23
quelle
0

Probieren Sie eine erste Schleife aus, während die Nachricht am Ende drei leere Leerzeichen enthält, um die Schleife zu beenden. Oder ein / n Zeichen. Es ist nur eine Idee. Sorry für mein schlechtes Englisch.

    
Erich Nagy 03.05.2013 03:04
quelle

Tags und Links