airenthusiast141 Geschrieben 28. März 2019 Geschrieben 28. März 2019 Hallo, entschuldigt, dass ich hier jetzt einfach so reinplatze, aber ich habe ein ähnliches Problem. Ich komme bei einer relativ einfachen Berechnung einfach nicht auf das richtige Ergebnis im Programm. Ich habe mich durchgeackert durch viele Beiträge und unzählige für mich vorstellbare Feherquellen und habe meiner Meinung nach alle notwendigen Deklarationen und Besonderheiten beim Arbeiten mit "double" variablen durchgeführt und beachtet. Es geht um folgendes Problem. Ich möchte das Takeoffweight eines Flugzeuges berechnen lassen, bestehend aus dem vordefinierten Leergewicht, dem Gewicht aller Passagiere (Anzahl der Passagiere wird durch cin definiert) inkl. Gepäck (= toweightbasic) sowie dem zuvor auf ähnliche Weise erfolgreich berechneten Treibstoff in Pfund. Ich hatte einige Zeilen zuvor ein ähnliches Problem beim Ermitteln der empfohlenen Sinkrate, da ließ es sich aber durch das richtige Definieren mit xx.00 beispielsweise und das Rechnen ohne Zahlenwerte, also nur mit Variablen, lösen. Nur hier geht es einfach nicht. Ich habe meinen Taschenrechner gezückt und genauso wies im Quellcode steht 1:1 eingegeben und komme auf 146500 lbs während das Programm ausgibt: 1.03069e+265 bzw. bei einem anderen Testlauf weniger als das, was vorher für das Treibstoffgewicht rauskommt. Treibstoffgewicht bei jedem Durchlauf: 44630.6. Für toweightbasic = passengers*pasandluggageStdWeight kommt der korrekte Wert, nämlich 22880 lbs raus bei 104 Passagieren und 220 lbs als Standardgewicht pro Passagier (inkl. Gepäck). Anbei ein kompilierbarer Teil meines Codes, wäre für baldige Hilfe sehr dankbar. Ich übersehe ganz sicher was. #include <iostream> #include <cmath> #include <cstring> using namespace std; int main() { // Definition of aircraft to use: string aircraft; cout << "Please tell me which aircraft you wanna use (ICAO): "; getline(cin, aircraft); // Aircraft ICAO Codes für eure Tests: Boeing 737 = B738; Boeing 747 = B744, Learjet 45 = LJ45; // TOW and TOS Variables double pasandluggageStdWeight = 220.0; // lbs cout << pasandluggageStdWeight; // Testausgabe double passengers; // user input double emptyweightb738 = 90170.0; // lbs cout << emptyweightb738; // Testausgabe double emptyweightb744 = 404845.0; // lbs cout << emptyweightb744; // Testausgabe double emptyweightlj45 = 13550.0; // lbs cout << emptyweightlj45; // Testausgabe double reftakeoffweightb738 = 140507.0; // lbs double reftakeoffspeedb738 = 163.0; // knots double reftakeoffweightb744 = 846365.0; // lbs double reftakeoffspeedb744 = 205.0; // knots double reftakeoffweightlj45 = 20500.0; // lbs double reftakeoffspeedlj45 = 175.0; // knots double maxtakeoffweightb738 = 172500.0; // lbs double maxtakeoffweightb744 = 910000.0; // lbs double maxtakeoffweightlj45 = 20500.0; // lbs double takeoffweight; double takeoffspeed; // TOW and TOS Calculation cout << "Please enter the no. of passengers for this trip (no+.0): "; cin >> passengers; cout << passengers; // Testausgabe double toweightbasic = passengers*pasandluggageStdWeight; cout << toweightbasic; cout << "Calculating take off weight and speed"; for(int i=1; i<=5;++i) { cout << "."; Sleep(1000); } cout << ".\n\n"; if(aircraft == "B738") { takeoffweight = emptyweightb738+toweightbasic+cruisefuelgtog; takeoffspeed = (takeoffweight/reftakeoffweightb738)*reftakeoffspeedb738; } if(aircraft == "B744") { takeoffweight = emptyweightb744+toweightbasic+cruisefuelgtog; takeoffspeed = (takeoffweight/reftakeoffweightb744)*reftakeoffspeedb744; } if(aircraft == "LJ45") { takeoffweight = emptyweightlj45+toweightbasic+cruisefuelgtog; takeoffspeed = (takeoffweight/reftakeoffweightlj45)*reftakeoffweightlj45; } cout << "Takeoff weight: " << takeoffweight << " lbs\n" << "Takeoff speed: " << takeoffspeed << " knots. Press 'Enter'!"; cin.get(); if(aircraft == "B738") { cout << "Maximum Takeoff Weight: " << maxtakeoffweightb738 << endl; Sleep(1000); } if(aircraft == "B744") { cout << "Maximum Takeoff Weight: " << maxtakeoffweightb744 << endl; Sleep(1000); } if(aircraft == "LJ45") { cout << "Maximum Takeoff Weight: " << maxtakeoffweightlj45 << endl; Sleep(1000); } return 0; } Liebe Grüße, Martin Zitieren
Thanks-and-Goodbye Geschrieben 29. März 2019 Geschrieben 29. März 2019 Abgetrennt von: Eigenes Thema, eigener Thread. Zitieren
Whiz-zarD Geschrieben 29. März 2019 Geschrieben 29. März 2019 Der Code ist nicht kompilierfähig, da die Variable cruisefuelgtog nicht deklariert wurde. N1emand reagierte darauf 1 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.