Wie schreibe ich es in c++ wenn ich mit 3 Seiten Volumen,Oberfläche und Raumdiagonale eines Quaders ausrechnen will?

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ich kann auch kein C++, aber ich habe mir mal den Spaß erlaubt ein Programm zusammenzuschustern :

#include <iostream>

#include <math.h>

using namespace std;

int main() {

   double a,b,c,v,o,d;

   cout << "Länge der Seite a ? ";

   cin >> a;

   cout << "Länge der Seite b ? ";

   cin >> b;

   cout << "Länge der Seite c ? ";

   cin >> c;

   v=a*b*c;

   o=2*(a*b+b*c+a*c);

   d=sqrt(pow(a,2)+pow(b,2)+pow(c,2));

   std::cout << "" << std::endl;

   std::cout << "Das Volumen beträgt : " << v << std::endl;

   std::cout << "Die Oberfläche beträgt : " << o << std::endl;

   std::cout << "Die Raumdiagonale beträgt : " << d << std::endl;

   return 0;

   exit(0);

}

Ich habe das Programm online ausprobiert, und zwar hier :

https://www.jdoodle.com/online-compiler-c++

Das C++ dort ist das GCC 8.1.0 und man muss "Interactive mode" auf "On" stellen, damit die Eingaben auf der Webseite funktionieren.

Vielleicht kann man an dem Programm noch einiges optimieren.

pow(a, 2) auf jeden Fall, das kann man auch aus a * a schreiben, aber ich wollte dir auch gleich zeigen, wie der Befehl zum potenzieren lautet.

return 0; und exit(0); wahrscheinlich brauchst du nur eines davon.

Nun zur Programmbeschreibung, weil ich C++ selber nicht kann, kann ich dir das nur sehr primitiv beschreiben :

#include <iostream>

Das importiert die Bibliothek iostream, damit man die Befehle cout und cin verwenden kann.

#include <math.h>

Das importiert die Bibliothek math.h, damit man die Befehle wie Wurzelziehen und potenzieren verwenden kann.

using namespace std;

Ist dazu gedacht um Namenskonflikte zu vermeiden, und bestimmte Variablennamen verwenden zu können, mehr weiß ich dazu auch nicht.

int main() {

}

Hier drin steht das Hauptprogramm / die Hauptfunktion.

double a,b,c,v,o,d;

Definiert die Variablen a,b,c,v,o und d als Variablen mit doppelter Rechengenauigkeit.

cout

Gibt etwas auf dem Bildschirm aus.

cin >> a;

Erwartet eine Eingabe und speichert diese Eingabe dann in die Variable a

sqrt(Argument)

Das berechnet die Quadratwurzel.

pow(a, 2)

Das berechnet a ^ 2, also es wird potenziert.

std::cout << "" << std::endl;

Das gibt lediglich eine Leerzeile auf dem Bildschirm aus, kann man auch abkürzen mit std::cout << std::endl;

std::endl zeigt an, dass die Zeile zu ende ist.

std:: kann ich dir auch nicht richtig erklären, sorry.

return 0; und exit(0); beenden Programme, was der Unterschied ist, und welches davon man wirklich braucht kann ich dir nicht sagen, sorry.


precursor  05.04.2019, 10:28

Ach ja, und hier auch der Beweis, dass das Programm funktioniert :

https://www.bilder-upload.eu/bild-9c3981-1554452810.png.html

Warum bei der Raumdiagonalen nur 5 Stellen nach dem Komma auf dem Bildschirm angezeigt werden, und auf die 5-te Stelle gerundet wird, obwohl ich d als double deklariert habe, kann ich dir nicht sagen, sorry.

0
precursor  05.04.2019, 11:25
@precursor

Ergänzung :

Will man mehr als 5 Stellen nach dem Komma haben, dann muss man in der Hauptfunktion vorher zum Beispiel den Befehl

cout.precision(15);

stehen haben, das gibt 15 signifikante Stellen aus.

0
precursor  05.04.2019, 11:38

Ergänzung :

 exit(0);

lässt du lieber weg, das beendet das Programm vollständig.

Eventuell wird dann auch das Ausgabefenster sofort wieder geschlossen.

Verwende lieber return 0;

Obwohl sie angeblich innnerhalb der Hauptfunktion genau das gleiche bewirken.

0
precursor  11.04.2019, 17:25

Vielen Dank für den Stern !

0
#include <cmath> //Benötigt für std::sqrt und std::pow

//Die Seiten
double a = 5, b = 2.5, c = 7;
//Das Volumen
double V = a * b * c;
//Die Oberfläche
double A = 2 * a * b + 2 * a * c + 2 * b * c;
//Die Länge der Raumdiagonalen
double d = std::sqrt(std::pow(a, 2) + std::pow(b, 2) + std::pow(c, 2));

Vorschlag

#include <cmath>
#include <iostream>
using namespace std;
int main(){
   double s1,s2,s3,volumen,oberflaeche,raumdia;
   cin>>s1;cin>>s2;cin>>s3;
   volumen=s1*s2*s3;
   oberflaeche=2*s1*s2+2*s1*s3+2*s2*s3;
   raumdia=sqrt(s1*s1+s2*s2+s3*s3);
   cout<<"V: "<<volumen<<"O: "<<oberflaeche<<"R: "<<raumdia;
}
Woher ich das weiß:eigene Erfahrung – Hobby und teilweise beruflich

Einfach mal in in Buch über C (C++ brauchst
du nicht dafür) schauen.

Wenn Dir derart einfache Berechnungen schon zu komplex erscheinen, solltest zuerst mehr über C++ lernen.

Woher ich das weiß:eigene Erfahrung