Veröffentlicht 7. Juli 200817 j 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!
7. Juli 200817 j 1. Schlecht, weil Parameter kante und Parameter a, die kante heißt aber a. 2. Besser, aber a muss hier keine Referenz sein.
7. Juli 200817 j 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) ); }
7. Juli 200817 j Quatsch. Beim ersten natürlich: void umfang(float *umfang, float *a, float *flaeche) { *flaeche=a*a; *u=4*a; }
7. Juli 200817 j 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.
7. Juli 200817 j 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; }
7. Juli 200817 j 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.
7. Juli 200817 j 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!
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.