Morsecode



  • Hi
    ich muss ein programm schreiben das eine textzeile von der tastatur einliest und sie im Morsecode am bildschirm ausgibt und das ganze noch umgekehrt.
    also ich habe bis jetzt:

    #include <iostream>
    #include <stdio.h>
    #define TEXTLEN 100
    
    const char* uebersetze(char ch)
    {
      switch(ch)
      {
               case 'A' : printf(".-");
                    break;
                case 'b' :
                case 'B' : printf("-...");
                    break;
                case 'c' :
                case 'C' : printf("-.-.");
                    break;
                case 'd' :
                case 'D' : printf("-..");
                    break;
                case 'e' :
                case 'E' : printf(".");
                    break;
                case 'f' :
                case 'F' : printf("..-.");
                    break;
                case 'g' :
                case 'G' : printf("--.");
                    break;
                case 'h' :
                case 'H' : printf("....");
                    break;
                case 'i' :
                case 'I' : printf("..");
                    break;
                case 'j' :
                case 'J' : printf(".---");
                    break;
                case 'k' :
                case 'K' : printf("-.-");
                    break;
                case 'l' :
                case 'L' : printf(".-..");
                    break;
                case 'm' :
                case 'M' : printf("--");
                    break;
                case 'n' :
                case 'N' : printf("-.");
                    break;
                case 'o' :
                case 'O' : printf("---");
                    break;
                case 'p' :
                case 'P' : printf(".--.");
                    break;
                case 'q' :
                case 'Q' : printf("--.-");
                    break;
                case 'r' :
                case 'R' : printf(".-.");
                    break;
                case 's' :
                case 'S' : printf("...");
                    break;
                case 't' :
                case 'T' : printf("-");
                    break;
                case 'u' :
                case 'U' : printf("..-");
                    break;
                case 'v' :
                case 'V' : printf("...-");
                    break;
                case 'w' :
                case 'W' : printf(".--");
                    break;
                case 'x' :
                case 'X' : printf("-..-");
                    break;
                case 'y' :
                case 'Y' : printf("-.--");
                    break;
                case 'z' :
                case 'Z' : printf("--..");
                    break; 
      default: return "0 ";
      }
    return 0;}
    
    int main()
    {
    
      char text[TEXTLEN+1];
      printf("Text eingeben, maximal %d Zeichen:",TEXTLEN);
      scanf("&s",text);
      printf("Morse-Text:\n");
      for(int i=0;i<strlen(text);++i)
        printf("uebersetzentext[i])");
    
    return 0;
    }
    

    aber ich bekomme so komische fehler. kann mir da einer vielleicht helfen??
    und was muss ich machen damit wenn man einen morsecode eingibt ein text am bildschirm erscheint??
    muss ich dann einfachen zum beispiel
    case '--.-' : printf("Q");
    noch in die const char* uebersetze(char ch) funktion unten drunter einfügen
    oder??

    mfg
    Jambe66



  • sorry hab glaub in die falsche rubrik gepostet



  • Hm, nur mal designmäßig.
    Ich würde die Zuweisung Buchstabe->Code eher in eine Map packen.
    Das bläht dann deinen Code nicht so auf und deine codiermethode wird eindeutig schöner.

    Auf die Zweite Frage gibt's ein klares JA.
    Woher soll dein PC denn wissen, was du machen möchtest?



  • Soll ich Dich jetzt verschieben oder hast Du schon einen neuen Thread aufgemacht?



  • Es gibt schon einen anderen Thread im C++ Board.



  • kannst löschen ich habe schon einen neuen thread aufgemacht.


Anmelden zum Antworten