Troja2k Geschrieben 21. Oktober 2003 Geschrieben 21. Oktober 2003 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"); } Zitieren
hmaas Geschrieben 21. Oktober 2003 Geschrieben 21. Oktober 2003 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 Zitieren
GrEnE Geschrieben 21. Oktober 2003 Geschrieben 21. Oktober 2003 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. Zitieren
Troja2k Geschrieben 21. Oktober 2003 Autor Geschrieben 21. Oktober 2003 *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 Zitieren
nic_power Geschrieben 21. Oktober 2003 Geschrieben 21. Oktober 2003 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 Zitieren
Troja2k Geschrieben 21. Oktober 2003 Autor Geschrieben 21. Oktober 2003 aber es funktioniert doch trotzdem ohne fehler! Zitieren
GrEnE Geschrieben 21. Oktober 2003 Geschrieben 21. Oktober 2003 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. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.