Veröffentlicht 21. Oktober 200321 j und wiedermal brauche ich hilfe *g* warum funktioniert das nicht? also es gibt kein ergebnis aus :-/ #include <stdio.h> main() { char zeichen; float zahl1; float zahl2; float ergebnis; char eingabe; printf("\n\t\t\tRechenprogramm\n"); printf("\nDieses Programm rechnet +,-,*,/,\n\n\n"); do { printf("\nBitte 1. Zahl eingeben: \n"); scanf("%f",&zahl1); printf("\nBitte 2. Zahl eingeben: \n"); scanf("%f",&zahl2); printf("\nWelche Rechenart wollen sie ausfuehren?\n"); printf("Bitte das entsprechenede Zeichen eingeben (*,/,+,-)\n)"); scanf("%s",&zeichen); switch (eingabe) { case'+': { ergebnis=zahl1+zahl2; break; } case'-': { ergebnis=zahl1-zahl2; break; } case'*': { ergebnis=zahl1*zahl2; break; } case'/': { ergebnis=zahl1/zahl2; break; } } printf("\n\nIhr Ergebnis ist: %0.2f ",ergebnis); printf("\n\tWollen sie eine neue Aufgabe berechnen? (y/n)\n\n"); scanf("%s",&eingabe); system("cls"); } while (eingabe=='y'); { printf("\n\n\n\n\n\t ////////\n"); printf("\t ( o o )\n"); printf("\t --ooO-(_)-Ooo--\n\n"); printf("\t !!!EXIT!!!"); printf("\n\n\n\n\n\n\n\n\n\n\n\n\tDieser Test ist von Troja2k entwickelt"); printf(" worden\n\n\n\n"); } system("pause"); }
21. Oktober 200321 j Original geschrieben von Troja2k und wiedermal brauche ich hilfe *g* warum funktioniert das nicht? also es gibt kein ergebnis aus :-/ printf("Bitte das entsprechenede Zeichen eingeben (*,/,+,-)\n)"); scanf("%s",&zeichen); switch (eingabe) s.o. Pönk
21. Oktober 200321 j Bin leider nicht so mit printf und scanf vertraut, deswegen schreibe ich mal um in C++ - kannst ja dann mal gucken, was falsch ist, aber mein erster Überblick sah eigentlich gut aus. - Aber ich habe jetzt auch leider kein Debugger. #include <cstdio> // nehme mal an wegen system?! #include <iostream> main() { char zeichen = '\0'; float zahl1 = 0.0; float zahl2 = 0.0; float ergebnis = 0.0; char eingabe = '\0'; std::cout << "\n\t\t\tRechenprogramm\n" << "\nDieses Programm rechnet +,-,*,/,\n\n\n"; do { std::cout << "\nBitte 1. Zahl eingeben: \n"; std::cin >> zahl1; std::cout << "\nBitte 2. Zahl eingeben: \n" std::cin >> zahl2; std::cout << "\nWelche Rechenart wollen sie ausfuehren?\n" << "Bitte das entsprechenede Zeichen eingeben (*,/,+,-)\n)"; std::cin >> zeichen; switch (zeichen) { case '+': { ergebnis=zahl1+zahl2; break; } case '-': { ergebnis=zahl1-zahl2; break; } case '*': { ergebnis=zahl1*zahl2; break; } case '/': { ergebnis=zahl1/zahl2; break; } } std::cout << "\n\nIhr Ergebnis ist: " << ergebnis; std::cout << "\n\tWollen sie eine neue Aufgabe berechnen? (y/n)\n\n"; std::cin >> eingabe; system("cls"); } while (eingabe=='y'); system("pause"); } [/PHP] Also beim aufraümen sind mir irgenwie zuviele Klammern vorgekommen, vorallem nach dem while! - Und grob gesagt ist dein switch falsch - ich gleube du willst zeichen und nciht eingabe.
21. Oktober 200321 j *hust* danke das ihr mich darauf aufmerksam gemacht habt *gg* jetzt kann ich wenigstens weiter versuchen zu programmieren. werde hier wohl auch noch stammkast im thread
21. Oktober 200321 j Hallo, hinzu kommt, dass Du mit den falschen Datentypen arbeitest ("%s" erwartet ein "char *" und kein "char" als Eingabe!). Das Switch Statement muss dann ebenfalls entsprechend angepasst werden. Nic
21. Oktober 200321 j Original geschrieben von nic_power hinzu kommt, dass Du mit den falschen Datentypen arbeitest ("%s" erwartet ein "char *" und kein "char" als Eingabe!). Das Switch Statement muss dann ebenfalls entsprechend angepasst werden. Aus diesem Grund nutze ich immer std::cin - das nimmt immer das, was man als Typ angibt.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.