Frage zur Programmverkürzung

NutsGul

Lt. Commander
Registriert
Okt. 2007
Beiträge
1.215
Hi

Ich habe ein Problem ich habe ein Programm in C geschrieben das eingegebene Wöter über ein LED als Morsecode wieder ausgibt. Das funktioniert auch super solange alle Buchstaben klein geschrieben sind. Ich habe jedem buchstaben in einer switch-Verzweigung den ensprechenden Morsecode zugewisen. Mein Problem ist jetzt, dass es auch mit Großbuchstaben funktionieren soll und ich nicht nochmal jedem Großbuchstaben den ensprechenden Morsecode zuweisen will.

Habt ihr eine Idee wie ich das kürzer auch schaffen kann?

THX in voraus
 
Hallo NutsGul,

in den Meisten(allen?) Programmiersprachen gibt es eine Funktion die den String kleingeschrieben zurück gibt. In PHP heisst die z.B. strtolower();. Kann sein das die in C genau so heisst.

Grüße

tewes
 
THX Spartaner

Ich programiere noch nicht lange, aber mit deiner hilfe funtzt des Programm jetzt super.
Ich hatte schon alle Möglichen Varationen ausprobiert und jetzt ist mir aufgefallen es haben nur die Klammern gefehl! :D

also noch mal danke.
 
Oder du nimmst dir einfach die ASCII-Tabelle her. Damit kannst du beispielsweise 'A' (Positionsnummer 65) in 'a' (Pos.nr. 97) umwandeln, indem du einfach 32 aufaddierst.
 
Naja, danach hat er wenigstens die Verarbeitung von Zeichen verstanden. Ist vielleicht mal an anderer Stelle nützlich und läuft wenigstens nicht auf sture Parameterübergabe an unbekannte Funktionen raus.
Aber macht doch, was ihr wollt :D
 
naja, darüber lässt sich vllt auch streiten, aber der sinn des programmierens liegt nicht darin, alles selbst neu zu schreiben. man muss sich auch mal auf andere sachen verlassen zu können :P
 
Schlimmer! Man müsste verstehen, wie der Prozessor die Berechnungen durchführt um überhaupt einen PC nutzen zu dürfen ;)
 
Wie hat doch einer unserer Admins so gut in der Signatur stehen: "The good thing about reinventing the wheel is, that you can get a round one."

Außerdem fahren sich selbstgebaute Autos einfach geiler ;)
 
Danke für die ganzen Antworten, aber ich hab gestern schon den Vorschlag von Spartaner benutzt. Das Programm funktioniert jetzt einwandfrei.

Ich habe erst vor einem Monat angefangen mit C, weil ich da meine Ausbildung begonnen habe. Deswegen waren mir die anderen Möglichkeiten zu kompliziert ;)
 
Was genau ist an "strlwr(string);" kompliziert?

+ bedeutend weniger schreiben (ich mein, sind wir nicht alle ein wenig faul? :D)
 
kalleberlin schrieb:
Was genau ist an "strlwr(string);" kompliziert?

Nix - aber ist es kein Standard C. tolower tut's für einzelne Zeichen, wenn man es für Strings braucht, kann man sich das ja ziemlich einfach selbst schreiben. Wichtig zu beachten, den char vorher immer nach unsigned char casten, bevor man tolower aufruft.
 
Zurück
Oben