Also hier zunächst meine aufgabe die ich schon gelöst hab, welcher auch funktioniert.
Aufgabe 7.5 (*)
Schreiben Sie eine Funktion zur Lösung einer quadratischen Gleichung der Form: x2 + px + q = 0.
Eine solche Gleichung hat zwei Lösungen:
• -p/2 + sqrt((p/2)2 – q) und
• -p/2 - sqrt((p/2)2 – q),
falls (p/2)2 – q > 0 ist (dabei ist sqrt die Quadratwurzelfunktion, definiert in math.h). Ansonsten hat
die Gleichung keine reelle Lösung. Der Funktion sollen p und q als Parameter übergeben werden und die zwei
Lösungen sollen in zwei weiteren Parametern (Zeigerparameter!) abgelegt werden. Rückgabewert der Funktion
sei 0, wenn eine reelle Lösung existiert, sonst 1.
Verteilen Sie Ihr Programm auf drei Dateien: einer Headerdatei mit dem Prototyp der Funktion (bitte darin
ausführlich kommentieren, was die Funktion macht!), einer Implementierungsdatei mit der Definition der
Funktion und einer Datei mit dem Hauptprogramm.
Um ein auf mehrere Dateien verteiltes Programm zu kompilieren, kompiliert man mit einem Befehl alle
Implementierungsdateien (.c-Dateien). Headerdateien werden nicht kompiliert. Also könnte der Kompilierbefehl
für diese Aufgabe lauten:
gcc gleichung.c gleichungMain.c –o gleichung.exe
Diese aufgabe habe ich wie folgt gelöst:
hauptprog.c
pqfunktion.c
pqfunktion.h
Und das ding hat mal funktioniert, dann hab ich die Dateiein in mein USB stick gepackt in der schule beim linken kam ein fehler und funzt net mehr, obwohl es zuhause mit Visual C++ 6.0 Pro funktioniert hat. Compiler meldet keine fehler.
Der Fehler:
Linking...
hauptprog.obj : error LNK2001: unresolved external symbol _pqfunktion
Debug/hauptprog.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Diesen fehler hatte cih schonmal da habe ich gefummelt dies verändert das verändert dann hat es gefunzt, das prob ist ich wusste nicht mehr was ich richtig gemacht bzw. verbessert hab.
Danke euch im vorraus für eure hilfe!!!