Problem mit mehrfachen switch Anweisungen
-
Hallo,
ich bin gerade dabei ein Programm zu schreiben bei dem ich mehrere switch Anweisungen verschachteln will. Mein Problem sieht so aus. Das ich mich zwar durch die drei Auswhlfenster wählen kann und die Berechnung auch noch funktioniert aber danach springt mir das ganze wieder auf die zweite Auswahlmöglichkeit zurück. Wo liegt mein Fehler?
Würde mich freuen wenn mir jemand helfen kann.Hier de Anfang des Programms
// G.cpp : Defines the entry point for the console application.
//#include "stdafx.h"
#include <iostream.h>int main(int argc, char* argv[])
{
double d,sG,l,tb,ez,h,b,G;
const double PI=3.14;
char werkstoff;
char form;
char kanten;cout <<"Wählen sie einen Werkstoff aus!" <<endl <<endl;
cout <<"Stahl: (1)" <<endl;
cout <<"Messing: (2)" <<endl;
cout <<"Kupfer: (3)" <<endl;
cout <<"Alu: (4)" <<endl;
cout <<"MG: (5)" <<endl;
cout <<"Nirosta: (6)" <<endl;
cout <<"Sonstige: (7)" <<endl <<endl;cout <<"Bitte geben sie die Nummer an: ";
cin >> werkstoff;
cout << endl << endl;switch( werkstoff )
{
case '1':
sG=7,85;
cout <<"Wählen sie die Form aus" <<endl <<endl;
cout <<"Rundmaterial: (1)" <<endl;
cout <<"Flachmaterial: (2)" <<endl;
cout <<"Vielkant: (3)" <<endl <<endl;
cout <<"Bitte geben sie den Buchstaben ein: ";
cin >> form;
cout <<endl <<endl;switch( form)
{
case '1':
cout <<"Geben sie den Durchmesser an: ";
cin >> d;
cout <<"Geben sie die Laenge an: ";
cin >> l;
G = ((PI*d*d)/4*sG*l)/1000;
cout <<endl <<endl;
cout <<"Das Material wiegt: " <<G <<"Kg" <<endl <<endl;
break;
case '2':
cout <<"Geben sie die Breite ein: ";
cin >> b;
cout <<"Geben sie die Hoehe an: ";
cin >> h;
cout <<"Geben sie die Laenge an: ";
cin >> l;
G = ((b*h*sG)/1000)*l;
cout <<endl <<endl;
cout <<"Das Material wiegt: " <<G <<"Kg" <<endl <<endl;
break;
case '3':
cout <<"Waehlen sie die Kantenzahl aus:" <<endl <<endl;
cout <<"3-kant: 1" <<endl;
cout <<"4-kant: 2" <<endl;
cout <<"5-kant: 3" <<endl;
cout <<"6-kant: 4" <<endl;
cout <<"8-kant: 5" <<endl;
cout <<"10-kant: 6" <<endl;
cout <<"12-kant: 7" <<endl <<endl;
cout <<"Geben sie den Buchstaben ein: " <<endl <<endl;
cin >> kanten;
cout <<endl <<endl;switch( kanten )
{
case '1':
ez=3;
tb=1,299;
cout <<"Geben sie die Laenge an: ";
cin >> l;
G=((tb*ez*ez*sG)/1000)*l;
cout <<endl <<endl;
cout <<"Das Material wiegt: " <<G <<"Kg" <<endl <<endl;
break;
case '2': ez=4;
tb=1,000;
cout <<"Geben sie die Laenge an: ";
cin >> l;
G=((tb*ez*ez*sG)/1000)*l;
cout <<endl <<endl;
cout <<"Das Material wiegt: " <<G <<"Kg" <<endl <<endl;
break;
case '3': ez=5;
tb=0,908;
cout <<"Geben sie die Laenge an: ";
cin >> l;
G=((tb*ez*ez*sG)/1000)*l;
cout <<endl <<endl;
cout <<"Das Material wiegt: " <<G <<"Kg" <<endl <<endl;
break;
case '4': ez=6;
tb=0,866;
cout <<"Geben sie die Laenge an: ";
cin >> l;
G=((tb*ez*ez*sG)/1000)*l;
cout <<endl <<endl;
cout <<"Das Material wiegt: " <<G <<"Kg" <<endl <<endl;
break;
case '5': ez=8;
tb=0,829;
cout <<"Geben sie die Laenge an: ";
cin >> l;
G=((tb*ez*ez*sG)/1000)*l;
cout <<endl <<endl;
cout <<"Das Material wiegt: " <<G <<"Kg" <<endl <<endl;
break;
case '6': ez=10;
tb=0,812;
cout <<"Geben sie die Laenge an: ";
cin >> l;
G=((tb*ez*ez*sG)/1000)*l;
cout <<endl <<endl;
cout <<"Das Material wiegt: " <<G <<"Kg" <<endl <<endl;
break;
case '7': ez=12;
tb=0,804;
cout <<"Geben sie die Laenge an: ";
cin >> l;
G=((tb*ez*ez*sG)/1000)*l;
cout <<endl <<endl;
cout <<"Das Material wiegt: " <<G <<"Kg" <<endl <<endl;
break;
default: cout <<" " <<endl <<endl;
}
break;
default: cout <<" " <<endl <<endl;
}case '2':
sG=8,5;
cout <<"Wählen sie die Form aus" <<endl <<endl;
cout <<"Rundmaterial: (1)" <<endl;
cout <<"Flachmaterial: (2)" <<endl;
cout <<"Vielkant: (3)" <<endl <<endl;
cout <<"Bitte geben sie den Buchstaben ein: ";
cin >> form;
cout <<endl <<endl;switch( form)
{
case '1':
cout <<"Geben sie den Durchmesser an: ";
cin >> d;
cout <<"Geben sie die Laenge an: ";
cin >> l;
G = ((3.14*d*d)/4*sG*l)/1000;
cout <<endl <<endl;
cout <<"Das Material wiegt: " <<G <<"Kg" <<endl <<endl;
break;
case '2':
cout <<"Geben sie die Breite ein: ";
cin >> b;
cout <<"Geben sie die Hoehe an: ";
cin >> h;
cout <<"Geben sie die Laenge an: ";
cin >> l;
G = ((b*h*sG)/1000)*l;
cout <<endl <<endl;
cout <<"Das Material wiegt: " <<G <<"Kg" <<endl <<endl;
break;
case '3':
cout <<"Waehlen sie die Kantenzahl aus:" <<endl <<endl;
cout <<"3-kant: 1" <<endl;
cout <<"4-kant: 2" <<endl;
cout <<"5-kant: 3" <<endl;
cout <<"6-kant: 4" <<endl;
cout <<"8-kant: 5" <<endl;
cout <<"10-kant: 6" <<endl;
cout <<"12-kant: 7" <<endl <<endl;
cout <<"Geben sie den Buchstaben ein: " <<endl <<endl;
cin >> kanten;
cout <<endl <<endl;switch( kanten )
{
case '1':
ez=3;
tb=1,299;
cout <<"Geben sie die Laenge an: ";
cin >> l;
G=((tb*ez*ez*sG)/1000)*l;
cout <<endl <<endl;
cout <<"Das Material wiegt: " <<G <<"Kg" <<endl <<endl;
break;
case '2': ez=4;
tb=1,000;
cout <<"Geben sie die Laenge an: ";
cin >> l;
G=((tb*ez*ez*sG)/1000)*l;
cout <<endl <<endl;
cout <<"Das Material wiegt: " <<G <<"Kg" <<endl <<endl;
break;
case '3': ez=5;
tb=0,908;
cout <<"Geben sie die Laenge an: ";
cin >> l;
G=((tb*ez*ez*sG)/1000)*l;
cout <<endl <<endl;
cout <<"Das Material wiegt: " <<G <<"Kg" <<endl <<endl;
break;
case '4': ez=6;
tb=0,866;
cout <<"Geben sie die Laenge an: ";
cin >> l;
G=((tb*ez*ez*sG)/1000)*l;
cout <<endl <<endl;
cout <<"Das Material wiegt: " <<G <<"Kg" <<endl <<endl;
break;
case '5': ez=8;
tb=0,829;
cout <<"Geben sie die Laenge an: ";
cin >> l;
G=((tb*ez*ez*sG)/1000)*l;
cout <<endl <<endl;
cout <<"Das Material wiegt: " <<G <<"Kg" <<endl <<endl;
break;
case '6': ez=10;
tb=0,812;
cout <<"Geben sie die Laenge an: ";
cin >> l;
G=((tb*ez*ez*sG)/1000)*l;
cout <<endl <<endl;
cout <<"Das Material wiegt: " <<G <<"Kg" <<endl <<endl;
break;
case '7': ez=12;
tb=0,804;
cout <<"Geben sie die Laenge an: ";
cin >> l;
G=((tb*ez*ez*sG)/1000)*l;
cout <<endl <<endl;
cout <<"Das Material wiegt: " <<G <<"Kg" <<endl <<endl;
break;
default: cout <<"Falsche Eingabe" <<endl <<endl;
}
break;
default: cout <<" " <<endl <<endl;
}
break;
default: cout <<" " <<endl <<endl;
}return 0;
}
-
Hallo,
wenn du code-tags benutzt, werd ich mir den Quellcode nochmal anschauen.
Ansonsten wuerde ich einfach empfehlen, Untermenues auf weitere Funktionen zu
verteilen, sonst blickt kein Mensch mehr durch, wenn man sich das Programm
in 2 Jahren wieder anschaut.mfg
v R
-
Oh mein Gott wer soll sich denn da zurechtfinden? Vielleicht könntest du nochmal das Wesentliche deines Codes mit Tags posten?!?