Hilfe bei Aufgabe

F330

Grünschnabel
Hallo miteinander;)

vorerst ich bin blutiger Anfänger in Programmierung und das hier ist mein erster Beitrag im Forum!

ich muss diese Aufgabe lösen:

Schreiben und implementieren Sie eine Funktion in der Programmiersprache C, die als Übergangsparameter die Kantenlängen a und b eines Rechtecks erhält und als Rückgabewert den Flächeninhalt dieses Rechteckes bereitstellt. Verwenden Sie dabei Werteparameter. Schreiben und implementieren Sie dazu eine passende main ()-Funktion, welche das Volumen ausgibt.

Hinweis: Die Kantenlängen des Rechtecks sollen a=5 und b=10 betragen.

Also den Flächeninhalt des Rechteckes bring ich ja noch hin, aber das mit dem Volumen verwird mich dann komplett weil ich ja dann eiglt noch "c" brauch zum berechnen.
Oder bin ich da falsch?

Ich hoff Ihr könnt mir weiter helfen?

Vielen Dank im Vorraus!
 

Jennesta

Erfahrenes Mitglied
Ist das die originale Aufgabenstellung?
Die liest sich tatsächlich etwas merkwürdig. Kann es sein, dass der Aufgabensteller sich verschrieben hat und nur den Flächeninhalt in der main ausgegeben haben möchte?
 

vfl_freak

Premium-User
das würde ich auch vermuten!

Ein Rechteck hat lediglich eine Fläche.
Hätte man eine zusätzliche Höhe c, dann wäre es ja kein Rechteck mehr, sondern ein Quader (allenfalls noch Würfel, wenn alle drei Seiten gleich lang sind) !

VG Klaus
 

F330

Grünschnabel
Ist das die originale Aufgabenstellung?
Die liest sich tatsächlich etwas merkwürdig. Kann es sein, dass der Aufgabensteller sich verschrieben hat und nur den Flächeninhalt in der main ausgegeben haben möchte?
Ja ist die Originale Aufgabenstellung!
Also kann es sein das man nach der Berechnung der Fläche einfach noch c abfragen soll? Wie würde das in einem Programm aussehen ?
 

Jennesta

Erfahrenes Mitglied
Naja, wir wissen auch nicht mehr als da steht.
Du könntest bei deinem Lehrer natürlich einmal nachfragen, wie es gemeint ist. Evtl. hat er sich wirklich verschrieben und er wird dich informieren (und alle anderen die an der Aufgabe sitzen).
Wenn du nicht fragen möchtest, dann kannst du natürlich auch beide Varianten implementieren und zeigen, dass du beides kannst.
 

F330

Grünschnabel
int main(void) {

float a = 5, b = 10;

float c, A, V;



printf("Berechnung der Flaeche eines Rechtecks & Berechnung des Volumen eines Quaders.\n\n"); fflush(stdout); printf("Kantenlaenge a betraegt: %f \n", a); fflush(stdout); printf("Kantenlaenge b betraegt: %f \n" , b); fflush(stdout); A = a * b; printf("Der Flaecheninhalt des Rechteckes mit der Kantenlaenge %f und %f betraegt %f.\n\n", a, b, A); printf("Kantenlaenge c fuer eine Berechnung des Volumen eingeben: "); fflush(stdout); scanf("%f", &c); fflush(stdin); V = a * b * c; printf("Das Volumen des Quaders mit der Kantenlaenge %lf, %lf und %lf betraegt %lf.", a, b, c, V); getchar(); return 0; }

so hab ich jetzt mal begonnen
 

vfl_freak

Premium-User
Nutze doch bitte die Code-Tags (im Menü mit den drei Punkten rechts neben dem Smilie), so bekommt man ja Augenkrebs!
Zudem schreibt man den gesamten Code nicht in EINE Zeile !!!

C++:
int main( void )
{
    float a = 5, b = 10;
    float c, A, V;

    printf("Berechnung der Flaeche eines Rechtecks & Berechnung des Volumen eines Quaders.\n\n");  
    fflush(stdout);
    printf("Kantenlaenge a betraegt: %f \n", a);
    fflush(stdout);
    printf("Kantenlaenge b betraegt: %f \n" , b);
    fflush(stdout);
    A = a * b;
    printf("Der Flaecheninhalt des Rechteckes mit der Kantenlaenge %f und %f betraegt %f.\n\n", a, b, A);    
    printf("Kantenlaenge c fuer eine Berechnung des Volumen eingeben: ");
    fflush(stdout);
    scanf("%f", &c);
    fflush(stdin);
    V = a * b * c;
    printf("Das Volumen des Quaders mit der Kantenlaenge %lf, %lf und %lf betraegt %lf.", a, b, c, V);
    getchar();
    return 0;
}

Hast Du jetzt hiertzu auch eine Frage?
Macht das Programm das, was Du erwartest??

Warum nutzt du den Datentyp float?? int wäre doch wohl zunächst mal ausreichend!
Und das getchar() kann raus! damit würdest Du (wenn Du es richtig aufrufst) einen weiteren Wert einlesen, was direkt vor dem Programmende sinnlos ist!
Und nutze sprechende Variablen (laenge, breite etc.) statt a, A etc. !!

VG Klaus
 

Jennesta

Erfahrenes Mitglied
Und das getchar() kann raus! damit würdest Du (wenn Du es richtig aufrufst) einen weiteren Wert einlesen, was direkt vor dem Programmende sinnlos ist!
Grundsätzlich hast du recht. Ich nutze das allerdings auch häufiger, da in manchen IDEs (wie VS bis 2017 oder sowas) die Konsole nach Beendigung des Programms direkt geschlossen wird und man den Output nicht mehr sieht.
In ein fertiges Programm gehört das selbstverständlich nicht.
 

vfl_freak

Premium-User
Grundsätzlich hast du recht. Ich nutze das allerdings auch häufiger, da in manchen IDEs (wie VS bis 2017 oder sowas) die Konsole nach Beendigung des Programms direkt geschlossen wird und man den Output nicht mehr sieht.
ah, ok !
Wir arbeiten hier in der Firma nicht mit Konsolenausgaben, deswegen kannte ich diesen Trick nicht :)
VG Klaus
 

Neue Beiträge