Tommy meinte, Du sollst das in HEX ausgeben. Nur dann siehst Du, was da wirklich ankommt.
Füge mal unmittelbar hinter das Serial.Read diese print Anweisungen ein:
State = Serial.read();
Serial.print(">>> ");Serial.println(State,HEX);
switch (State)
Dann bekommst Du etwa so eine Ausgabe:
Bitte geben Sie die Fahrstraße ein!
>>> 61
13A.(13N1) mit D1
Fahrstraße aufgelöst!
>>> D
Fehler
>>> A
Fehler
Hex '61' ist dein eingegebenes 'a'.
Das Hex 'D' und Hex 'A' sind die oben schon angesprochenen 'Carriage Return' und 'New Line'. Die fügt der serielle Monitor automatisch an deine Eingaben an. Im seriellen Monitor unten in dem dropDown Menü links neben der Baudrate kannst Du das abschalten ( 'Kein Zeilenende' )
Alternative wäre, diese Zeichen explizit zu behandeln (nichts tun), und nicht als Fehler zu sehen. Dann bist Du von der Einstellung im seriellen Monitor unabhängig.
P.S. Texte bitte immer hier als Text (in code-Tags) einstellen, und nicht als Bild.