Fehler: ILINK32 beendet mit Fehler-Code: 2
-
Bin gerade dabei, ein Programm zu schreiben. Dabei gibt man einen Wert ein, dieser wird umgerechnet und gerundet. Je nach Ergebnis wird ein anderer Wert ausgegeben.
Das hat alles soweit funktioniert...
Als ich dann ein Menu hinzufügen wollte, und diese Unterpunkte in einzelne Funktionen ausgegliedert habe, lief das Prog nichtmehr. Leider hilft mir das Debuggen auch nicht. Ich bekomme den Fehler ILINK32 beendet mit Fehler-Code: 2 ohne Zeilenangabe. Und aus diesem Fehler werde ich nicht wirklich schlau, habe den Quelltext schon soweit überprüft, dass ich geschaut habe, ob ich alle Klammern und Strichpunkte hab, aber da hab ich nichts gefunden.
Die Funktion Umrechnung() im Main lief problemlos.
Vielen Dank für eure Hilfe!
(P.S. nutze Borland C++ BuilderX)#include <iostream> #include <math.h> using namespace std; double Runden(const double, char); void Umrechnung(); void Beschreibung(); void Impressum(); int main() { char Auswahl; do { system("cls"); cout << "\tUmrechnung des Tankinhalts"; cout << "\t~~~~~~~~~~~~~~~~~~~~~~~~~~"; cout << "\n\n1 --> Umrechnung"; cout << "\n2 --> Beschreibung"; cout << "\n3 --> Impressum"; cout << "\n\n0 --> Programm beenden"; cin >> Auswahl; switch (Auswahl) { case '0': break; case '1': Umrechnung(); break; case '2': Beschreibung(); break; case '3': Impressum(); break; default: cout << "\aSie haben keine gueltige Auswahl getroffen."; getchar(); } } while (Auswahl!='0'); getchar(); return 0; } //Umrechnung-Funktion---------------------------------------------------------- void Umrechnung() { double Wert; const double Durchmesser=248.6; int gerundete_cm; double Tankinhalt=0; double Wert_in_Prozent; system("cls"); cout << "Umrechnung\n"; cout << "Bitte geben Sie die Höhe des Tanks in Prozent an (0-100):\t\t"; cin >> Wert; Wert_in_Prozent=(Wert/100)*Durchmesser; gerundete_cm=Runden(Wert_in_Prozent,0); switch (gerundete_cm) { case 0: Tankinhalt=0; break; //... case 249: Tankinhalt=40551.7; break; default: Tankinhalt=8888888888; break; } cout << "\nIm Tank sind noch " << Tankinhalt << " Liter."; getchar(); } //Beschreibung-Funktion-------------------------------------------------------- void Beschreibung() { system("cls"); cout << "Beschreibung"; getchar(); } //Impressum-Funktion----------------------------------------------------------- void Impressum() { system("cls"); cout << "Impressum"; getchar(); } //Runden-Funktion-------------------------------------------------------------- double Runden(const double Zahl, char Stellen) { return static_cast<int>(Zahl * pow(10,Stellen) + 0.5) / pow(10,Stellen); }
-
Der Fehler liegt nicht in deinem code. Der Linker hat Probleme. Die vollständige Fehlermeldung wäre interessant.
Kurt
-
**Fatal: D:\C++\Prog 2_Tankinhalt\windows\Debug_Build\Tankinhalt.exe konnte nicht geöffnet werden (wird das Programm aktuell ausgeführt?)
**
das prog wird aber nicht ausgeführt...
-
wurde es doch. hab es nur net gesehen. danke trotzdem.
-
Kann mich nicht mehr erinnern wie das genau war aber es ist mir schon passiert dass das Fenster schon geschlossen war aber das Programm lief trotzdem immer noch. Schau mal im Taskmanager.
btw existiert "D:\C++\Prog 2_Tankinhalt\windows\Debug_Build\" ?
Kurt
-
ist es eigentlich möglich, für ein switch-case-konstrukt auch string-werte zu verwenden? wollte dies bei mir machen, allerdings funzt es net, bekomme einige fehler. habe die variable als string konvertiert, und dann im case die auswahlmöglichkeiten immer in "" gesetzt (macht man doch bei string, oder net???). das alles soll solange laufen, ´wie die eingabe ungleich 0 ist (bei mir also
while(Auswahl!="0")wie muss das denn sein, wenn ich es mit string machen möchte???
-
wenn Auswahl kein std::string ist dann
while(strcmp(Auswahl,"0") != 0 )Switch mit string geht nicht muss ein integraler typ sein.
Kurt
-
doch, ist es. dann muss ich halt char verwenden, auch egal.
-
sarah1986 schrieb:
doch, ist es. dann muss ich halt char verwenden, auch egal.
Das wollte ich nicht sagen. Wenns ein std::string ist dann funktioniert deine Version.
Kurt
-
nö, bei mir net...
aber egal.
hat das prog halt n kleinen bug...