ERLEDIGT
JA
JA
ANTWORTEN
16
16
ZUGRIFFE
381
381
EMPFEHLEN
-
Hey, ich habe seid einigen Tagen wieder mit der c programmierung angefangen und habe eine Frage, zu meinem folgenden "Programm"
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int zahl1, zahl2, Sum1, Diff1, pro1, quo1;
int waehlen = 0;
/*Zahlen eingeben*/
printf("Taschenrechner 1.0\n\n");
printf("Geben Sie einen Wert fuer [1] ein: ");
scanf("%i", &zahl1);
printf("Geben Sie einen Wert fuer [2] ein: ");
scanf("%i", &zahl1);
/*Aktion Auswählen*/
printf("\n1: Um die Summe der beiden Zahlen auszurechnen druecken Sie die [1]: ");
printf("\n2: Um die Differenz der beiden Zahlen auszurechnen druecken Sie die [2]: ");
printf("\n3: Um das Produkt der beiden Zahlen auszurechnen druecken Sie die [3]: ");
printf("\n4: Um den Quotienten der beiden Zahlen auszurechnen druecken Sie die [4]: ");
printf("\n\nIhre Zahl lautet: ");
scanf("%i", &waehlen);
/*Rechnung festlegen*/
float erg1 = 1;
float erg2 = 2;
float erg3 = 3;
float erg4 = 4;
switch(waehlen) {
case 1: erg1 = zahl1 + zahl2; break;
case 2: erg2 = zahl1 - zahl2; break;
case 3: erg3 = zahl1 * zahl2; break;
case 4: erg4 = zahl1 / zahl2; break;
}
/*Ergebnis*/
if (erg1 == 1) {
printf("\nIhr Ergebnis lautet: %.2f");
}
else (erg2 == 2) ;{
printf("Ihr Ergebnis lautet: %.2f");
}
else if (erg3 == 3) ;{
printf("Ihr Ergebnis lautet: %.2f");
}
else if (erg4 == 4) ;{
printf("Ihr Ergebnis lautet: %2.f");
}
system("PAUSE");
return 0;
}
Erstmal vorab: Ich möchte, dass man am anfang 2 zahlen eingibt und sich danach aussuchen kann, ob man die addiert, subtrahier, multupliziert, oder dividiert. das klappt auch soweit, bis auf die Rechnung. Hoffentlich findet Ihr den grund, warum das nicht funktioniert. Bin schon die ganze Zeit am rumhantieren, aber es will nicht klappen. Mein wissensstand ist gerade nicht sehr groß, was c angeht, und wenn´s geht, keine fachbegriffe zur Erklärung benutzen
Danke Euch
-
02.10.11 20:49 #2?Code cpp:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
/*Rechnung festlegen*/ float erg1 = 1; float erg2 = 2; float erg3 = 3; float erg4 = 4; switch(waehlen) { case 1: erg1 = zahl1 + zahl2; break; case 2: erg2 = zahl1 - zahl2; break; case 3: erg3 = zahl1 * zahl2; break; case 4: erg4 = zahl1 / zahl2; break; } /*Ergebnis*/ if (erg1 == 1) { printf("\nIhr Ergebnis lautet: %.2f"); } else (erg2 == 2) ;{ printf("Ihr Ergebnis lautet: %.2f"); } else if (erg3 == 3) ;{ printf("Ihr Ergebnis lautet: %.2f"); } else if (erg4 == 4) ;{ printf("Ihr Ergebnis lautet: %2.f"); }
Was genau geht denn nicht?
Aber so wie du es geschrieben hast darf es nicht gehen
MFGFehlermeldung bitte!
Google - Dein Freund und Helfer
-
vor dem else wird ein primärer-ausdruck erwartet. okay und warum darf es nicht funktionieren?
-
02.10.11 20:59 #4
OK Ich denke es darf nicht funktionieren

Aber warum prüfst du das erg? Es wird doch sowieso überschrieben währen der Rechnung!
Und was geht jetzt nochmal nicht? Startet es nicht, Compiler Fehler. Keine Ausgabe ( am warscheinlichsten ).
Und falls du denkst ich bin böse... nein tut mir leid wenn ich mich so ausdrücke
MFGFehlermeldung bitte!
Google - Dein Freund und Helfer
-
ich compiliere es, und gebe es dann aus. mach das mit dev++, aber es wird ja nicht ausgeführt, da ja ein fehler drinne ist.
also, soll ich alles ab dem /*Ergebnis*/ weglassen?, hatte ich vorhin auch schon, hat aber net geklappt, was nun?
-
02.10.11 21:05 #6
Achso du bekommst ein Compiler fehler...
Mache mal die Semikolons nachdem else if's weg:
Und aus dem eine else ein else if
Edit Poste doch mla bitte den ganzen fehler mit Zeilen nummer.Code cpp:1 2 3 4 5 6 7 8 9 10 11 12 13
/*Ergebnis*/ if (erg1 == 1) { printf("\nIhr Ergebnis lautet: %.2f"); } else if(erg2 == 2){ printf("Ihr Ergebnis lautet: %.2f"); } else if (erg3 == 3){ printf("Ihr Ergebnis lautet: %.2f"); } else if (erg4 == 4){ printf("Ihr Ergebnis lautet: %2.f"); }
MFGFehlermeldung bitte!
Google - Dein Freund und Helfer
-
Okay hab ich. es wird jetzt ausgeführt, aber als ergebnis kommt überall 0.00 raus
-
02.10.11 21:14 #8
Dann denk mal nach warum

man darf hier leider keine Komplett lösung posten sry.... :S
Aber worüber du nachdenken solltest ist:
if (erg1 == 1)
printf
/*Rechnung festlegen*/
float erg1 = 1;
float erg2 = 2;
float erg3 = 3;
float erg4 = 4;
Da macht einiges kein Sinn...
MFGFehlermeldung bitte!
Google - Dein Freund und Helfer
-
switch(waehlen) {
case 1: printf("\nIhr Ergebnis lautet: %.2f", zahl1 + zahl2); break;
case 2: printf("\nIhr Ergebnis lautet: %.2f", zahl1 - zahl2); break;
case 3: printf("\nIhr Ergebnis lautet: %.2f", zahl1 * zahl2); break;
case 4: printf("\nIhr Ergebnis lautet: %.2f", zahl1 / zahl2); break;
}
ich habs jetzt so geschrieben, trotzdem kommt noch 0.00 überall raus Oo
-
02.10.11 21:20 #10
Das ist schonmal gut.
Aber denk nochmal am Anfang nach da fragst du nach zahl 2 schreibst aber auf zahl1!? ( Hats Click gemacht?
)
Fehlermeldung bitte!
Google - Dein Freund und Helfer
-
ja, ******e, verschrieben
-
02.10.11 21:24 #12
Gehts? Oder nicht?
Und wichtig statt Komma immer . schreiben wenn du was eingibstFehlermeldung bitte!
Google - Dein Freund und Helfer
-
aber es kommt immernoch überall 0.00 raus?
-
So ok, sehr komisch, aber so funktioniert es. ich hab jetzt float durch in ersetzt und %.2f durch %i oO
-
okay, doch geht jetzt auch mit float, zahl1 und und zahl2 musste ich als float und nicht als int definieren
Ähnliche Themen
-
JS rechnen * und +
Von cokie im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 24.01.11, 22:50 -
Rechnen
Von Sasser im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 29.04.09, 18:15 -
mit PHP rechnen..
Von madirfan im Forum PHPAntworten: 1Letzter Beitrag: 27.05.08, 15:08 -
Rechnen
Von mckani im Forum PHPAntworten: 0Letzter Beitrag: 07.12.05, 18:08 -
Rechnen in SQL
Von kesnw im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 24.10.03, 15:26





Zitieren
Login






