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.
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.
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.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden