char im switch Befehl
-
Sorry, ein kleiner Tippfehler, hier der richtige code:
#include <stdio.h> #include <ctype.h> // für iscntrl() int main() // <-- hier muss int vor main stehen { int zahl; printf("Bitte geben sie einen Code ein: "); scanf("%i",&zahl); getchar(); // <-- welchen zweck erfüllt das? printf("Der Eingegebene Code lautet: Code %i\n",zahl); if(iscntrl(zahl)) { printf("Control-char;Code %d\n",zahl); } else { printf("Es wurde kein korrektes Zeichen eingegeben\n")M } getchar(); // <-- welchen zweck erfüllt das? }
-
Sorry, NOCH ein Tippfehler.
#include <stdio.h> #include <ctype.h // für iscntrl() int main() // <-- hier muss int vor main stehen { int zahl; printf("Bitte geben sie einen Code ein: "); scanf("%i",&zahl); getchar(); // <-- welchen zweck erfüllt das? printf("Der Eingegebene Code lautet: Code %i\n",zahl); if(iscntrl(zahl)) { printf("Control-char;Code %d\n",zahl); } else { printf("Es wurde kein korrektes Zeichen eingegeben\n"); } getchar(); // <-- welchen zweck erfüllt das? }
-
Senzenberger schrieb:
Könntest du mir noch erklären was du integraler Wert bedeutet?
Ganzzahliger Typ.
In C ist ein char auch nur ein ganzzahliger Typ mit einem kleinen Wertebereich.#include <stdio.h> int main(void) { int zahl; printf("Bitte geben sie einen Code ein: "); scanf("%i",&zahl); printf("Der Eingegebene Code lautet: Code %i\n",zahl); switch (zahl) { case '\b': printf("\nRueckschritt;"); break; case "\t': printf("\nTabulator;"); break; default: printf("\Es wurde kein korrektes Zeichen eingegeben"); break; } getchar(); }
-
schrieb:
'\b', '\t'
Übrigens würde ich nie diese Zeichen manuell prüfen, dafür gibts
ctype.h
und die Funktioniscntrl()
.Die sagt dir nicht, welches Zeichen es ist.
-
Tippfehler
case '\t':
-
DirkB schrieb:
Tippfehler
case '\t':
Passiert mich wie man sieht auch oft. Es liegt daran, dass diese puristische und schmucklose (ich will nicht sagen "potthässliche") Textbox kein live-Syntax-Highlighting unterstützt und so Fehler erst nach dem abschicken auffallen.
Vielleicht sollte man hier mal drüber nachdenken, nach über 10 Jahren (ich nehme jetzt mal an, dass die Forensoftware in der Zeit seit der Entstehung dieses Forums die gleiche geblieben ist) mal eine neue Forensoftware zu verwenden.
Solche Forensoftware gibts für wenig Geld, und manche sind, soweit ich weiß, sogar open source.
-
- Mitglieder dürfen ihre Postings editieren.
- Mitglieder und Nichtmitglieder dürfen die Vorschau-Funktion benutzen.
Rummaulen ist natürlich auch eine Option
-
DirkB schrieb:
[...] switch (zahl) { case '\b': printf("\nRueckschritt;"); break; case '\t': printf("\nTabulator;"); break; [...] }
So ist es natürlich schöner als auf 8 oder 9 abzufragen, weil man so als Leser sieht, was eigentlich abgefragt werden soll, während die Abfrage auf 8 oder 9 (magic numbers) dem Unwissenden erst mal nichts sagt ...
-
und es funktioniert auch bei Systemen, die nicht auf ASCII basieren.
-
soll man nach nem \t oder \r die enter-taste drücken?
wie doof ist das denn?