bjoe_frie Geschrieben 7. Juli 2008 Teilen Geschrieben 7. Juli 2008 Zur Aufgabe: Schreiben Sie eine C-Funktion, die den Flächeninalt und den Umfang eines Quadrates mit der zu übergebenden Kantenlänge a an die aufrufende Funktion zurückgibt habe ich folgende Lösung geschrieben. Ist das folgende richtig? void umfang(float kante, float* a, float *u) { *a=kante*kante; *u=4*kante; } Oder das besser? void umfang(float *a, float *umfang, float *flaeche) { *umfang = ( (*a) * (*a) ); *flaeche = ( 4 * (*a) ); } Oder ist beides völlig verkehrt? Danke für alle Antworten! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TDM Geschrieben 7. Juli 2008 Teilen Geschrieben 7. Juli 2008 1. Schlecht, weil Parameter kante und Parameter a, die kante heißt aber a. 2. Besser, aber a muss hier keine Referenz sein. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bjoe_frie Geschrieben 7. Juli 2008 Autor Teilen Geschrieben 7. Juli 2008 OK. Danke schonmal. Dann müsste es bei 1. heißen: void umfang(float kante, float* a, float *u) { *a=kante*kante; *u=4*kante; } und bei 2. ie Referenz SO weg?: void umfang(float *a, float *umfang, float *flaeche) { *umfang = ( (a) * (a) ); *flaeche = ( 4 * (a) ); } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bjoe_frie Geschrieben 7. Juli 2008 Autor Teilen Geschrieben 7. Juli 2008 Quatsch. Beim ersten natürlich: void umfang(float *umfang, float *a, float *flaeche) { *flaeche=a*a; *u=4*a; } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 7. Juli 2008 Teilen Geschrieben 7. Juli 2008 Der Parameter heißt umfang, nicht u. Außerdem muss bei a in der Parameterliste der Stern weg. Ich würde übrigens entweder alle Parameter als Abkürzung benennen, oder alle ausschreiben, aber keinen solchen Mischmasch verwenden. Aber das ist eine Stilfrage. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bjoe_frie Geschrieben 7. Juli 2008 Autor Teilen Geschrieben 7. Juli 2008 Quatsch. Beim ersten natürlich: void umfang(float *umfang, float *a, float *flaeche) { *flaeche=a*a; *u=4*a; } Hey, danke für die Antwort...also muss es so aussehen und dann entspricht es der Aufgabenstellung? void umfang(float *u, float a, float *f) { *f=a*a; *u=4*a; } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 7. Juli 2008 Teilen Geschrieben 7. Juli 2008 Ich würde die Funktion nicht "umfang" nennen, und a als ersten Parameter übergeben, aber auch das sind Stilfragen. Dein Code erfüllt die Aufgabenstellung. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bjoe_frie Geschrieben 7. Juli 2008 Autor Teilen Geschrieben 7. Juli 2008 Ich würde die Funktion nicht "umfang" nennen, und a als ersten Parameter übergeben, aber auch das sind Stilfragen. Dein Code erfüllt die Aufgabenstellung. Vielen herzlichen Dank! Hab bei so Übergabe Aufgaben meine Probleme. Bei konkreten Programmieraufgaben krieg ich das irgendwie automatisch hin, aber so theoretisch überlegen is das so ne Sache. Also danke für die Hilfe! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.