#include <iostream>
#include <fstream>
#include <string>
#include <cmath>
using namespace std;
//Hauptprogramm
int main()
{
ofstream dat_aus;
string dateiname;
string projekt;
int befehl = -1, anzahl_tuer, i, rr, s_grube;
float fb_breite, fb_tiefe, fb_hoehe, g_hoehe, m_raum, grube, g_grube, tuer, hub, rr_sechs, rr_vier;
double seite, front_t;
g_hoehe = 0;
i = 1;
g_grube = 0;
s_grube = 0;
cout << "|---------------------------------------------------------------|" << endl;
cout << "| Was moechten sie machen ... ? |" << endl;
cout << "|---------------------------------------------------------------|" << endl;
cout << "| 1 | ... DT 27 rechnen |" << endl;
cout << "|---------------------------------------------------------------|" << endl;
cout << "| 2 | ... DT 29 rechnen |" << endl;
cout << "|---------------------------------------------------------------|" << endl;
cout << "| 0 | ...das Programm beenden |" << endl;
cout << "|---------------------------------------------------------------|" << endl;
cout << "| - | HINWEIS: Alle Angaben in Millimeter |" << endl;
cout << "|---------------------------------------------------------------|" << endl << endl;
while(befehl !=0)
{
cout<<endl;
cout<<"Ihre Wahl : ";
cin>>befehl;
//Switch für die Menü auswahl
switch (befehl)
{
case 0: cout<<endl;
cout<<"Programm beendet!"<<endl;
break;
case 1: cout<<endl;
cout<<"Berechnung mit TYP DT 27!"<<endl;
cout<<endl;
cout<<endl;
cout<<"Geben Sie Bitte Den Namen der Datei ein:";
cin>> dateiname;
cout<<endl;
dat_aus.open(dateiname.c_str(), ios_base::out);
if(!dat_aus)
{
cout << "Datei konnte nicht geöffnet werden!";
cout<<endl;
return -1;
}
cout<<endl;
cout<<"Geben Sie Bitte den Namen des Projekts ein:";
cin>> projekt;
cout<<endl;
cout<<"Geben Sie Bitte Fahrkorbreite ein:";
cin>> fb_breite;
cout<<endl;
cout<<"Geben Sie Bitte Fahrkorbtiefe ein:";
cin>> fb_tiefe;
cout<<endl;
cout<<"Geben Sie Bitte Fahrkorbh\x94\he ein:";
cin>> fb_hoehe;
cout<<endl;
cout<<"Geben Sie Bitte Grube ein:";
cin>> grube;
// mit Grube rechnen!
if( grube > 0)
{
g_grube = grube - 10;
}
// Eckstiel bestimmen
if( grube <= 80)
{
s_grube = 40;
}
else if( grube == 100)
{
s_grube = 60;
}
else if( grube == 120)
{
s_grube = 80;
}
else if( grube >= 100)
{
s_grube = 100;
}
cout<<endl;
cout<<"Geben Sie Bitte die Maschinenraum L\x84nge ein:";
cin>> m_raum;
cout<<endl;
cout<<"Geben Sie Bitte die Anzahl der T\x81ren ein:";
cin>> anzahl_tuer;
cout<<endl;
cout<<"Geben Sie Bitte den letzen HUB ein:";
cin>> hub;
g_hoehe = (hub + m_raum + fb_hoehe + g_grube);
cout<<endl;
cout<<"Auswertung:"<<endl;
cout<<endl;
cout<<"Die H\x94\he betr\x84gt:" << g_hoehe <<endl;
front_t = ((g_hoehe * 2) - (anzahl_tuer * fb_hoehe)) / 1000;
cout<<endl;
seite = ((g_hoehe) / 1000);
cout<<endl;
printf("RR 120x60 L\x84nge: %6.0f St\x81\ck: %2.0f \n",(fb_breite - 54), ceil(seite));
printf("RR 120x40 L\x84nge: %6.0f St\x81\ck: %2.0f \n",(fb_breite + 216), ceil(front_t));
printf("U160 L\x84nge: %6.0f St\x81\ck: 2 \n",(fb_breite - 54));
printf("60x30 L\x84nge: %6.0f St\x81\ck: 2 \n",(fb_breite - 54));
printf("Eckstiel(80x60) L\x84nge: %6.0f St\x81\ck: 4 \n",(g_hoehe - 10));
printf("Flacheisen(120x10) L\x84nge: 120 St\x81\ck: 4 \n");
printf("Flacheisen(50x15) L\x84nge: 60 St\x81\ck: 4 \n");
printf("A. Traverse(60x12) L\x84nge: 230 St\x81\ck: 4 \n");
printf("A. Traverse(80x10) L\x84nge: 170 St\x81\ck: 2 \n");
printf("A. Traverse(70x10) L\x84nge: 240 St\x81\ck: 2 \n");
printf("A. Traverse(50x10) L\x84nge: 139 St\x81\ck: 4 \n");
cout<<endl;
cout<<"Fang Traverse:"<<endl;
cout<<endl;
printf("G.Gewicht F.(140x50) L\x84nge: 1000 St\x81\ck: 1 \n");
printf("Rundvoll 30 L\x84nge: 123 St\x81\ck: 2 \n");
printf("Flach (30x10) L\x84nge: 560 St\x81\ck: 4 \n");
printf("Vierkant (50x50) L\x84nge: 82 St\x81\ck: 2 \n");
printf("Flach (40x8) L\x84nge: 120 St\x81\ck: 4 \n");
printf("Flach (40x6) L\x84nge: 35 St\x81\ck: 4 \n");
printf("Flach (50x20) L\x84nge: 305 St\x81\ck: 2 \n");
printf("Flach (20x8) L\x84nge: 32 St\x81\ck: 2 \n");
printf("Rundvoll 35 L\x84nge: 125 St\x81\ck: 2 \n");
printf("Winkel (60x40) L\x84nge: 30 St\x81\ck: 2 \n");
printf("Umlenk Bock (60x40) L\x84nge: 330 St\x81\ck: 2 \n");
printf("Flach (70x10) L\x84nge: 185 St\x81\ck: 4 \n");
printf("Vierkant (10x10) L\x84nge: 25 St\x81\ck: 8 \n");
printf("U Leicht 120 L\x84nge: %6.0f St\x81\ck: 2 \n",(fb_breite - 36));
printf("U Leicht 100 L\x84nge: %6.0f St\x81\ck: 2 \n",(fb_breite - 30));
cout<<endl;
cout<<"Kabinen Boden:"<<endl;
cout<<endl;
printf("RR 80x%3.0ix4 L\x84nge: %6.0f St\x81\ck: %2.0f \n", s_grube,(fb_breite - 42), ceil(fb_tiefe /200));
printf("Flach 40x6 L\x84nge: %6.0f St\x81\ck: 4 \n",(fb_tiefe / 2));
printf("Flach 30x10 L\x84nge: 80 St\x81\ck: 8 \n");
printf("Winkel 40x40 L\x84nge: 40 St\x81\ck: 8 \n");
printf("Tr\x84nen blech t=3 L\x84nge: %6.0f x %4.0f St\x81\ck: 4 \n",(fb_breite - 10),(fb_tiefe / 2));
cout<<endl;
cout<<"Kabinen Seite:"<<endl;
cout<<endl;
printf("Winkel 100x50 L\x84nge: %6.0f St\x81\ck: 4 \n",(fb_hoehe - 50));
printf("Winkel 65x65 L\x84nge: %6.0f St\x81\ck: 2 \n",(fb_hoehe - 106));
printf("Flach 140x8 L\x84nge: 220 St\x81\ck: 4 \n");
printf("U. Leicht 100 L\x84nge: 100 St\x81\ck: 4 \n");
printf("C Schiene 38x17 L\x84nge: 200 St\x81\ck: 4 \n");
printf("Flach 65x20 L\x84nge: 65 St\x81\ck: 4 \n");
printf("Winkel 60x40 L\x84nge: 40 St\x81\ck: 2 \n");
cout<<endl;
//in Datei Speichern
dat_aus << projekt <<" TYP DT 27"<<endl;
dat_aus <<endl;
dat_aus <<endl;
dat_aus << "TYP Länge Stück" <<endl;
dat_aus <<endl;
dat_aus << "RR 120x60" <<" " <<(fb_breite - 54)<<" "<< ceil(seite) <<endl;
dat_aus << "RR 120x40" <<" " <<(fb_breite + 216)<<" "<< ceil(front_t) <<endl;
dat_aus << "U160" <<" " <<(fb_breite - 54)<<" 2"<<endl;
dat_aus << "60x30" <<" " <<(fb_breite - 54)<<" 2"<<endl;
dat_aus << "Eckstiel(80x60)" <<" " <<(g_hoehe - 10)<<" 4"<<endl;
dat_aus << "Flacheisen(120x10) 120 4"<<endl;
dat_aus << "Flacheisen(50x15) 60 4"<<endl;
dat_aus << "A. Traverse(60x12) 230 4"<<endl;
dat_aus << "A. Traverse(80x10) 170 2"<<endl;
dat_aus << "A. Traverse(70x10) 240 2"<<endl;
dat_aus << "A. Traverse(50x10) 139 4"<<endl;
dat_aus <<endl;
dat_aus <<"Fang Traverse:"<<endl;
dat_aus <<endl;
dat_aus <<"G.Gewicht F.(140x50) 1000 1"<<endl;
dat_aus <<"Rundvoll 30 123 2"<<endl;
dat_aus <<"Flach (30x10) 560 4"<<endl;
dat_aus <<"Vierkant (50x50) 82 2"<<endl;
dat_aus <<"Flach (40x8) 120 4"<<endl;
dat_aus <<"Flach (40x6) 35 4"<<endl;
dat_aus <<"Flach (50x20) 305 2"<<endl;
dat_aus <<"Flach (20x8) 32 2"<<endl;
dat_aus <<"Rundvoll 35 125 2"<<endl;
dat_aus <<"Winkel (60x40) 30 2"<<endl;
dat_aus <<"Umlenk Bock (60x40) 330 2"<<endl;
dat_aus <<"Flach (70x10) 186 4"<<endl;
dat_aus <<"Vierkant (10x10) 25 8"<<endl;
dat_aus <<"U Leicht 120 "<<" "<<(fb_breite - 36)<<" 2"<<endl;
dat_aus <<"U Leicht 100 "<<" "<<(fb_breite - 30)<<" 2"<<endl;
dat_aus <<endl;
dat_aus <<"Kabinen Boden:"<<endl;
dat_aus <<endl;
dat_aus <<"RR 80x"<< s_grube <<"x4"<<" "<<(fb_breite - 42)<<" " <<ceil(fb_tiefe /200)<<endl;
dat_aus <<"Flach 40x6"<<" "<<(fb_tiefe / 2)<<" 4"<<endl;
dat_aus <<"Flach 30x10"<<" 80"<<" 8"<<endl;
dat_aus <<"Winkel 40x40"<<" 40"<<" 8"<<endl;
dat_aus <<"Tränen blech t=3"<<" "<<(fb_breite - 10)<<"x"<<(fb_tiefe / 2)<<" 4"<<endl;
dat_aus <<endl;
dat_aus <<"Kabinen Seite:"<<endl;
dat_aus <<endl;
dat_aus <<"Winkel 100x50"<<" "<<(fb_hoehe - 50)<<" 4"<<endl;
dat_aus <<"Winkel 65x65"<<" "<<(fb_hoehe - 106)<<" 2"<<endl;
dat_aus <<"Flach 140x8"<<" 220"<<" 4"<<endl;
dat_aus <<"U. Leicht 100"<<" 100"<<" 4"<<endl;
dat_aus <<"C Schiene 38x17"<<" 200"<<" 4"<<endl;
dat_aus <<"Flach 65x20"<<" 65"<<" 4"<<endl;
dat_aus <<"Winkel 60x40"<<" 40"<<" 2"<<endl;
cout<<endl;
break;
//DT 29
case 2: cout<<endl;
cout<<"Berechnung mit TYP DT 29!"<<endl;
cout<<endl;
cout<<"Geben Sie Bitte Fahrkorbreite ein:";
cin>> fb_breite;
cout<<endl;
cout<<"Geben Sie Bitte Fahrkorbtiefe ein:";
cin>> fb_tiefe;
cout<<endl;
cout<<"Geben Sie Bitte Fahrkorbh\x94\he ein:";
cin>> fb_hoehe;
cout<<endl;
cout<<"Geben Sie Bitte Grube ein:";
cin>> grube;
// mit Grube rechnen!
if( grube > 0)
{
g_grube = grube - 10;
}
// Eckstiel bestimmen
if( grube <= 80)
{
s_grube = 40;
}
else if( grube == 100)
{
s_grube = 60;
}
else if( grube == 120)
{
s_grube = 80;
}
else if( grube >= 100)
{
s_grube = 100;
}
cout<<endl;
cout<<"Geben Sie Bitte die Maschinenraum L\x84nge ein:";
cin>> m_raum;
cout<<endl;
cout<<"Geben Sie Bitte die Anzahl der T\x81ren ein:";
cin>> anzahl_tuer;
cout<<endl;
cout<<"Geben Sie Bitte den letzen HUB ein:";
cin>> hub;
g_hoehe = (hub + m_raum + fb_hoehe + g_grube);
cout<<endl;
cout<<"Auswertung:"<<endl;
cout<<endl;
cout<<"Die H\x94\he betr\x84gt:" << g_hoehe <<endl;
front_t = ((g_hoehe * 2) - (anzahl_tuer * fb_hoehe)) / 1000;
cout<<endl;
seite = ((g_hoehe) / 1000);
cout<<endl;
printf("RR 120x60 L\x84nge: %6.0f St\x81\ck: %2.0f \n",(fb_breite - 54), ceil(seite));
printf("RR 120x40 L\x84nge: %6.0f St\x81\ck: %2.0f \n",(fb_breite + 216), ceil(front_t));
printf("U160 L\x84nge: %6.0f St\x81\ck: 2 \n",(fb_breite - 44));
printf("60x30 L\x84nge: %6.0f St\x81\ck: 2 \n",(fb_breite - 44));
printf("Eckstiel(80x%3.0i) L\x84nge: %6.0f St\x81\ck: 4 \n", s_grube, (g_hoehe - 10));
printf("Flacheisen(120x10) L\x84nge: 120 St\x81\ck: 4 \n");
printf("Flacheisen(50x15) L\x84nge: 60 St\x81\ck: 4 \n");
printf("A. Traverse(60x12) L\x84nge: 230 St\x81\ck: 4 \n");
printf("A. Traverse(80x10) L\x84nge: 170 St\x81\ck: 2 \n");
printf("A. Traverse(70x10) L\x84nge: 240 St\x81\ck: 2 \n");
printf("A. Traverse(50x10) L\x84nge: 139 St\x81\ck: 4 \n");
cout<<endl;
cout<<"Fang Traverse:"<<endl;
cout<<endl;
printf("G.Gewicht F.(140x50) L\x84nge: 1000 St\x81\ck: 1 \n");
printf("Rundvoll 30 L\x84nge: 123 St\x81\ck: 2 \n");
printf("Flach (30x10) L\x84nge: 560 St\x81\ck: 4 \n");
printf("Vierkant (50x50) L\x84nge: 82 St\x81\ck: 2 \n");
printf("Flach (40x8) L\x84nge: 120 St\x81\ck: 4 \n");
printf("Flach (40x6) L\x84nge: 35 St\x81\ck: 4 \n");
printf("Flach (50x20) L\x84nge: 305 St\x81\ck: 2 \n");
printf("Flach (20x8) L\x84nge: 32 St\x81\ck: 2 \n");
printf("Rundvoll 35 L\x84nge: 125 St\x81\ck: 2 \n");
printf("Winkel (60x40) L\x84nge: 30 St\x81\ck: 2 \n");
printf("Umlenk Bock (60x40) L\x84nge: 330 St\x81\ck: 2 \n");
printf("Flach (70x10) L\x84nge: 185 St\x81\ck: 4 \n");
printf("Vierkant (10x10) L\x84nge: 25 St\x81\ck: 8 \n");
printf("U Leicht 120 L\x84nge: %6.0f St\x81\ck: 2 \n",(fb_breite - 36));
printf("U Leicht 100 L\x84nge: %6.0f St\x81\ck: 2 \n",(fb_breite - 30));
cout<<endl;
cout<<"Kabinen Boden:"<<endl;
cout<<endl;
printf("RR 80x%3.0ix4 L\x84nge: %6.0f St\x81\ck: %2.0f \n", s_grube,(fb_breite - 42), ceil(fb_tiefe /200));
printf("Flach 40x6 L\x84nge: %6.0f St\x81\ck: 4 \n",(fb_tiefe / 2));
printf("Flach 30x10 L\x84nge: 80 St\x81\ck: 8 \n");
printf("Winkel 40x40 L\x84nge: 40 St\x81\ck: 8 \n");
printf("Tr\x84nen blech t=3 L\x84nge: %6.0f x %4.0f St\x81\ck: 4 \n",(fb_breite - 10),(fb_tiefe / 2));
cout<<endl;
cout<<"Kabinen Seite:"<<endl;
cout<<endl;
printf("Winkel 100x50 L\x84nge: %6.0f St\x81\ck: 4 \n",(fb_hoehe - 50));
printf("Winkel 65x65 L\x84nge: %6.0f St\x81\ck: 2 \n",(fb_hoehe - 106));
printf("Flach 140x8 L\x84nge: 220 St\x81\ck: 4 \n");
printf("U. Leicht 100 L\x84nge: 100 St\x81\ck: 4 \n");
printf("C Schiene 38x17 L\x84nge: 200 St\x81\ck: 4 \n");
printf("Flach 65x20 L\x84nge: 65 St\x81\ck: 4 \n");
printf("Winkel 60x40 L\x84nge: 40 St\x81\ck: 2 \n");
cout<<endl;
//in Datei Speichern
dat_aus << projekt <<" TYP DT 29"<<endl;
dat_aus <<endl;
dat_aus <<endl;
dat_aus << "TYP Länge Stück" <<endl;
dat_aus <<endl;
dat_aus << "RR 120x60" <<" " <<(fb_breite - 44)<<" "<< ceil(seite)<<endl;
dat_aus << "RR 120x40" <<" " <<(fb_breite + 260)<<" "<< ceil(front_t) <<endl;
dat_aus << "U160" <<" " <<(fb_breite - 44)<<" 2"<<endl;
dat_aus << "60x30" <<" " <<(fb_breite - 44)<<" 2"<<endl;
dat_aus << "Eckstiel(80x60)" <<" " <<(g_hoehe - 10)<<" 4"<<endl;
dat_aus << "Flacheisen(120x10) 120 4"<<endl;
dat_aus << "Flacheisen(50x15) 60 4"<<endl;
dat_aus << "A. Traverse(60x12) 230 4"<<endl;
dat_aus << "A. Traverse(80x10) 170 2"<<endl;
dat_aus << "A. Traverse(70x10) 240 2"<<endl;
dat_aus << "A. Traverse(50x10) 139 4"<<endl;
dat_aus <<endl;
dat_aus <<"Fang Traverse:"<<endl;
dat_aus <<endl;
dat_aus <<"G.Gewicht F.(140x50) 1000 1"<<endl;
dat_aus <<"Rundvoll 30 123 2"<<endl;
dat_aus <<"Flach (30x10) 560 4"<<endl;
dat_aus <<"Vierkant (50x50) 82 2"<<endl;
dat_aus <<"Flach (40x8) 120 4"<<endl;
dat_aus <<"Flach (40x6) 35 4"<<endl;
dat_aus <<"Flach (50x20) 305 2"<<endl;
dat_aus <<"Flach (20x8) 32 2"<<endl;
dat_aus <<"Rundvoll 35 125 2"<<endl;
dat_aus <<"Winkel (60x40) 30 2"<<endl;
dat_aus <<"Umlenk Bock (60x40) 330 2"<<endl;
dat_aus <<"Flach (70x10) 186 4"<<endl;
dat_aus <<"Vierkant (10x10) 25 8"<<endl;
dat_aus <<"U Leicht 120 "<<" "<<(fb_breite - 36)<<" 2"<<endl;
dat_aus <<"U Leicht 100 "<<" "<<(fb_breite - 30)<<" 2"<<endl;
dat_aus <<endl;
dat_aus <<"Kabinen Boden:"<<endl;
dat_aus <<endl;
dat_aus <<"RR 80x"<< s_grube <<"x4"<<" "<<(fb_breite - 42)<<" " <<ceil(fb_tiefe /200)<<endl;
dat_aus <<"Flach 40x6"<<" "<<(fb_tiefe / 2)<<" 4"<<endl;
dat_aus <<"Flach 30x10"<<" 80"<<" 8"<<endl;
dat_aus <<"Winkel 40x40"<<" 40"<<" 8"<<endl;
dat_aus <<"Tränen blech t=3"<<" "<<(fb_breite - 10)<<"x"<<(fb_tiefe / 2)<<" 4"<<endl;
dat_aus <<endl;
dat_aus <<"Kabinen Seite:"<<endl;
dat_aus <<endl;
dat_aus <<"Winkel 100x50"<<" "<<(fb_hoehe - 50)<<" 4"<<endl;
dat_aus <<"Winkel 65x65"<<" "<<(fb_hoehe - 106)<<" 2"<<endl;
dat_aus <<"Flach 140x8"<<" 220"<<" 4"<<endl;
dat_aus <<"U. Leicht 100"<<" 100"<<" 4"<<endl;
dat_aus <<"C Schiene 38x17"<<" 200"<<" 4"<<endl;
dat_aus <<"Flach 65x20"<<" 65"<<" 4"<<endl;
dat_aus <<"Winkel 60x40"<<" 40"<<" 2"<<endl;
cout<<endl;
break;
default: cout << endl;
cout<< " Ung\x81ltige Eingabe" << endl;
break;
} //ende von Switch
}//ende von While
return 0;
}//ende vom Hauptprogramm