Kleines Problem
-
Ich will grad ein kleines Programm machen was den Flächeninhalt und das Volumen von unterschiedlichen Körpern etc. berechnet.
#include <iostream> using namespace std; int main() { cout<<"*******************************************************************************"<<endl; cout<<"* Volumen und Flaechenberechnung *"<<endl; cout<<"*******************************************************************************\n\n"<<endl; cout<<"Flaecheninhalt\n"; cout<<"[1]Rechtwinkliges Dreieck\n"; cout<<"[2]Allgemeines Viereck\n"; cout<<"[3]Trapez\n"; cout<<"[4]Parallelogramm\n"; cout<<"[5]Drachenviereck\n"; cout<<"[6]Rechteck\n"; cout<<"[7]Kreis\n"; cout<<"[8]Quadrat\n"; cout<<"\nVolumen\n"; cout<<"[9]Wuerfel\n"; cout<<"[10]Quader\n"; cout<<"[11]Prisma\n"; cout<<"[12]Kreiszylinder\n"; cout<<"[13]Pyramide\n"; cout<<"[14]Kreiskegel\n"; cout<<"[15]Kugel\n"; cout<<"\nBitte waehlen Sie!\n"; float Wahl; cin>>Wahl; { if (Wahl==1) cout<<"Bitte geben Sie die erste Kathede ein:\n"; double a; cin>>a; cout<<"Bitte geben Sie die zweite Kathede ein:\n"; double b; cin>>b; double A; A=(a*b)/2; cout<<"Der Flaecheninhalt betraegt: "<<A<<"\n"; } { if (Wahl==4) cout<<"Bitte geben Sie den Flaecheninhalt des ersten Dreiecks ein:\n"; double c; cin>>c; cout<<"Bitte geben Sie den Flaecheninhalt des zweiten Dreiecks ein:\n"; double d; cin>>d; double B; B=c+d; cout<<"Der Flaecheninhalt betraegt: "<<B<<"\n"; } system ("Pause"); }Leider funktioniert es nicht und ich weiß net warum. Wenn ich z.B. 2 eingebe dann kommt trotzdem 1 warum???
-
ups da steht net 4 natürlich soll da ne 2 hin allerdings ändert das nichts
-
Hallo
Du must die If-bedingung vor den Block schreiben...
if (Wahl==1) { cout<<"Bitte geben Sie die erste Kathede ein:\n"; double a; cin>>a; cout<<"Bitte geben Sie die zweite Kathede ein:\n"; double b; cin>>b; double A; A=(a*b)/2; cout<<"Der Flaecheninhalt betraegt: "<<A<<"\n"; }oder gleich switch verwenden.
bis bald
akari
-
deine klammern sind falsch. es wäre auch besser wenn wahl ein int ist.
cin>>Wahl; if (Wahl==1) { cout<<"Bitte geben Sie die erste Kathede ein:\n"; double a; cin>>a; cout<<"Bitte geben Sie die zweite Kathede ein:\n"; double b; cin>>b; double A; A=(a*b)/2; cout<<"Der Flaecheninhalt betraegt: "<<A<<"\n"; } else if (Wahl==4) { cout<<"Bitte geben Sie den Flaecheninhalt des ersten Dreiecks ein:\n"; double c; cin>>c; cout<<"Bitte geben Sie den Flaecheninhalt des zweiten Dreiecks ein:\n"; double d; cin>>d; double B; B=c+d; cout<<"Der Flaecheninhalt betraegt: "<<B<<"\n"; }ich würde dir auch zu einem sitch case konstrukt raten
[edit]
vier sekunden zu langsam
-
Hi,
mal abgesehen davon, dass das alles etwas unübersichtlich werden wird, ist
der Fehler, dass du die Klammern falsch setzt.Richtig
// { <-diese weg if (Wahl==1) { cout<<"Bitte geben Sie die erste Kathede ein:\n"; .... }
-
Nagut ich meine ob das nun unübersichtlich ist oder nicht ist erstmal egal. Aber es funktioniert immer noch net!
#include <iostream> using namespace std; int main() { cout<<"*******************************************************************************"<<endl; cout<<"* Volumen und Flaechenberechnung *"<<endl; cout<<"*******************************************************************************\n\n"<<endl; cout<<"Flaecheninhalt\n"; cout<<"[1]Rechtwinkliges Dreieck\n"; cout<<"[2]Allgemeines Viereck\n"; cout<<"[3]Trapez\n"; cout<<"[4]Parallelogramm\n"; cout<<"[5]Drachenviereck\n"; cout<<"[6]Rechteck\n"; cout<<"[7]Kreis\n"; cout<<"[8]Quadrat\n"; cout<<"\nVolumen\n"; cout<<"[9]Wuerfel\n"; cout<<"[10]Quader\n"; cout<<"[11]Prisma\n"; cout<<"[12]Kreiszylinder\n"; cout<<"[13]Pyramide\n"; cout<<"[14]Kreiskegel\n"; cout<<"[15]Kugel\n"; cout<<"\nBitte waehlen Sie!\n"; float Wahl; cin>>Wahl; if (Wahl=1) { cout<<"Bitte geben Sie die erste Kathede ein:\n"; double a; cin>>a; cout<<"Bitte geben Sie die zweite Kathede ein:\n"; double b; cin>>b; double A; A=(a*b)/2; cout<<"Der Flaecheninhalt betraegt: "<<A<<"\n"; } if (Wahl=2) { cout<<"Bitte geben Sie den Flaecheninhalt des ersten Dreiecks ein:\n"; double c; cin>>c; cout<<"Bitte geben Sie den Flaecheninhalt des zweiten Dreiecks ein:\n"; double d; cin>>d; double B; B=c+d; cout<<"Der Flaecheninhalt betraegt: "<<B<<"\n"; } }
-
OK habs selber gesehen habe ein = vergessen! Danke für eure Hilfe!!!