000
29.04.2007, 12:41 Uhr
~popel
Gast
|
Hallo Leute
Hab angefangen die Sprache C++ zu lernen. Nun hab ich den Auftrag, einen kleinen Taschenrechner zu machen, welcher mit den vier Grundoperationen rechnet. Das alles sollte ich nur mit dem printf und scanf befehl machen. Es hat alles geklappt, ausser das mit dem Operationszeichen macht mir zu schaffen. Wenn ich es als char einlese und bei scanf("%c", &Operation); mache, überspringt er mir dieses Feld beim ausführen einfach. Ich hab das jetzt so gelöst, dass ich Operation mit int einlese und der Addition die Zahl 1 zu ordner der Subtraktion die zahl 2 der Multiplikation die 3 und der Division die 4. Nun da das ein bisschen umständlich ist, hoffe ich ihr könnt mir weiterhelfen, damit man nacher die Operationszeichen direkt einlesen kann.
hier der code:
C++: |
#include <stdlib.h> #include <stdio.h>
float Operand1; float Operand2; float Resultat; int Operation;
int main() {
printf("Erste Zahl eingeben\n"); scanf("%f", &Operand1); printf ("Operation eingeben.\n\n fuer Addition die 1\n fuer Subtraktion die 2\n fuer Multiplikation die 3\n fuer Division die 4\n\n"); scanf("%d", &Operation); printf("Zweite Zahl eingeben\n"); scanf("%f", &Operand2); if (Operation == 1) { Resultat = Operand1 + Operand2; } else if (Operation == 2) { Resultat = Operand1 - Operand2; } else if (Operation == 3) { Resultat = Operand1 * Operand2; } else if (Operation == 4) { Resultat = Operand1 / Operand2; } else { printf("Ungueltiges Operations Zeichen\n\n"); }
if (Operation == 1) { printf("Resultat = %f\n\n", Resultat); } else if (Operation == 2) { printf("Resultat = %f\n\n", Resultat); } else if (Operation == 3) { printf("Resultat = %f\n\n", Resultat); } else if (Operation == 4) { printf("Resultat = %f\n\n", Resultat); } else { printf("Bitte versuchen sie es erneut\n\n"); }
return 0; }
|
Bearbeitung von 0xdeadbeef: |
code- in cpp-tags geändert, und den Code mal durch indent gejagt (und unten zum vollständigen Programm ergänzt), für bessere Lesbarkeit.
|
Dieser Post wurde am 29.04.2007 um 18:28 Uhr von 0xdeadbeef editiert. |