Else-Verzweigung wird missachtet
-
Hallo - ich will zum Einstieg in C ein kleines Taschenrechner-Programm schreiben (u.a. im Rahmen einer Belegarbeit im Studium) - doch verzweifle schon am Anfang..
Und zwar wird, egal was ich drücke, die else-Anweisung nicht befolgt..
Was habe ich hier übersehen?
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) // was heißt das??! { char KorT; //Abfrage Kopfrechen oder Taschenrechner printf("Kopfrechnen oder Taschenrechner? Kopfdrechnen drücke k oder 1, Taschenrechner drücke t oder 2\n"); scanf("%c", &KorT); printf("\n"); if (KorT=='1' || 'k' || 'K') // Buchstaben-Abfrage in If-Bedinung; Quelle http://www.easy-coding.de/if-bedingung-mit-buchstaben-zb-mit-char-t650.html // Oder in If-Bedinung; Quelle http://forum.chip.de/c-c-c-cli/if-bedingungen-710327.html { printf("Kopfrechnen"); } else { printf("Taschenrechner"); } printf("\n"); system("PAUSE"); return 0; }
Vielen Dank für eure Hilfe...
-
Als Compiler nutze ich http://www.c-programmieren.com/Download.html
Ob C89, 99 oder 11 kann ich mangels Hintergrundwissen nicht beantworten
-
if (KorT=='1' || 'k' || 'K'
muss heißen:
if (KorT=='1' || KorT=='k' || KorT=='K')
-
Vielen Dank für die schnelle und sehr hilfreiche Antwort. Hatte es vorher schon damit versucht, aber der Compiler schmiss einen Fehler aus. (woran der auch immer lag)
-
CalcuNow schrieb:
Als Compiler nutze ich http://www.c-programmieren.com/Download.html
Ob C89, 99 oder 11 kann ich mangels Hintergrundwissen nicht beantwortenDann solltest du aber die neuste Version nutzen. Mittlerweile ist das 5.4
Die 4.9.irgendwas ist mittlerweile 8 Jahre alt.Kannst bei http://de.wikipedia.org/wiki/Dev-C%2B%2B nach der neuen Homepage schauen.
-
CalcuNow schrieb:
int main(int argc, char *argv[]) // was heißt das??!
Hattest du Funktionen schon? Und Strings/Arrays?
Ich nehme mal an nicht.
Deswegen würde dich meine Erklärung nur verwirren.
In der Zwischenzeit schreibst du einfach int main() ohne das komische in den Klammern.