char in int umwandeln
-
case 'a'
geht.
'a' ist ein char. "a" ist ein string und das ist was ganz andreas als ein char.im sinne der fehlermeldung ist char schon irgendwie ein int.
-
wenn ich aber jetzt das programm laufen lass und dann a eingeb, kommt dann als ausgabe "1234567891011121314151617181920212223242526Falsche Eingabe!" raus.
also das alle möglichkeiten erfüllt sind, und das ist ja nich zweck der case-konstruktion. aber is schon immerhin ein fortschritt: der compiler meldet keinen fehler.
-
allerdings hab ich was rausgefunden: wenn ich a eingeb kommt alles wenn ich z.b. k eingeb kommen alle stellen der buchstaben nach k inklusive der stelle von k. wo is der fehler?
-
ich hab versucht getchar() durch scanf zu ersetzen, aber jetzt krieg ich als ausgabe immer "Falsche Eingabe!" also dass nur das "default" gepasst hat.
-
Beschäftige dich mal eingehender mit der Funktionsweise der Switch-Anweisung.
-
kannst du mir n tipp geben wo ich das machen kann?
-
_________ schrieb:
also das alle möglichkeiten erfüllt sind, und das ist ja nich zweck der case-konstruktion. aber is schon immerhin ein fortschritt: der compiler meldet keinen fehler.
Es ist vielleicht nicht das was du willst, aber es ist die normale Arbeitsweise von switch-case. Wenn du nicht willst das weitere Fälle ausgeführt werden musst du ein break hinzufügen.
So z.B.
switch (a) { case "a": printf("1"); break; case "b": printf("2"); break; case "c": printf("3"); break; ... /*und so weiter*/ default : printf("Falsche Eingabe!"); }
-
_________ schrieb:
kannst du mir n tipp geben wo ich das machen kann?
mit einem beliebigen tutorial oder buch über C.
hier geht dir suche nach switch und break.
-
ok danke das programm funktioniert jetzt(
), aber ich hab noch eine frage. warum geht das nicht wenn ich statt getchar() scanf verwende? liefert scanf einen anderen typ als rückgabe?
-
_________ schrieb:
ok danke das programm funktioniert jetzt(
), aber ich hab noch eine frage. warum geht das nicht wenn ich statt getchar() scanf verwende? liefert scanf einen anderen typ als rückgabe?
scanf() funktioniert anders als getchar().
char a; scanf("%c", &a);
Am besten besorgst du dir ein gutes Buch, oder ließt ein Tutorial.
-
ich weiß, eigentlich is das ein anderes thema, aber könnt ihr mir etwas empfehlen(meine C kenntnisse sind im vergleich dazu was es sonst noch gibt sozusagen null). das wäre dann auch meine allerletze frage
-
_________ schrieb:
ich weiß, eigentlich is das ein anderes thema, aber könnt ihr mir etwas empfehlen(meine C kenntnisse sind im vergleich dazu was es sonst noch gibt sozusagen null). das wäre dann auch meine allerletze frage
In der Linkliste für Neulinge findest du bestimmt etwas.