kirchi123 Geschrieben 18. Juni 2008 Geschrieben 18. Juni 2008 Ich möchte einen Polynomfunktion berechnen. Die Funktion soll in der Datei calc.c berechnet werden und in der datei calc.h definiert sein. Ausgegeben werden soll sie in Datei poly.C. Die Wert sollen als Parameter übergeben werden. Die Datei calc.h habe ich so geschrieben: #include <iostream> #define K 100 using namespace std; int p () { int erg; int c1=$1; int c2=$2; int c3=$3; int x=$4; } also die Funktion definiert. Die Datei calc.c hab ich so geschrieben: #include <iostream> #include <string.h> #include "calc.h" using namespace std; int p () { erg=(c3*x*x*x) + (c2*x*x) + (c1*x) + K; } die Funktion wird berechnet. Und die datei poly.C schaut so aus: #include <iostream> #include <strings.h> #include "calc.h" #include "calc.c" using namespace std; int p () { int main (int argc, char **argv) { cout << " erg= " << erg; cout << " x = " << x; cout << " c1 = " << c1; cout << " c2 = " << c2; cout << " c3 = " << c3; cout << " K = " << K; } } Aber wenn ich das Programm kompilieren will kommt immer die Fahlermeldung das die Parameter $1-$4 nicht definiert sind. Kann mir vielleicht jemand weiterhelfen? Wäre super. Ich bin noch ein Anfänger in C++. Danke im Vorraus. Zitieren
TDM Geschrieben 18. Juni 2008 Geschrieben 18. Juni 2008 1. mach ein Define in die Header, damit die nicht mehrmals eingebunden wird. 2. keine .c-Dateien includen. 3. was ist p? eine Funktion die int zurückgibt?! Nein, also mach ein struct draus. Auf Parameter wird nicht mit $ Zugegriffen, dafür gibts im Funktionskopf (z.B. vom Konstruktor) die Parameterliste. Zitieren
Klotzkopp Geschrieben 18. Juni 2008 Geschrieben 18. Juni 2008 4. Nenn die Sourcedateien .cpp oder .C. Viele Compiler entscheiden anhand der Dateierweiterung, welche Sprache benutzt wird, und .c steht dabei für C, nicht für C++. 5. Using-Direktiven in Headerdateien sind keine gute Idee. 6. Du musst den Rückgabewert in der Funktion mit einer return-Anweisung angeben. 7. Du kannst Funktionen nicht verschachteln (deine main-Funktion steht in einer weiteren p-Funktion). 8. <strings.h> ist kein Standardheader. 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.