Compare commits

..

No commits in common. "main" and "A3" have entirely different histories.
main ... A3

11 changed files with 22 additions and 23 deletions

Binary file not shown.

View File

@ -7,7 +7,7 @@ struct Vektor {
};
// Körper:
struct Koerper {
float masse; // [kg]
float masse = 10; // [kg]
Vektor position;
Vektor geschwindigkeit;
};

View File

@ -1,9 +1,9 @@
const float* const wert
Welche Bedeuting haben das erste und zweite const?
wert ist ein konstanter Zeiger auf ein konstanten float.
1. const: es ist ein konstanter float
2. const: es ist ein konstanter zeiger
Welchen Nutzen könnte die Verwendung von const an den beiden Stellen bieten?
An der 1. Stelle: sichergehen, dass der Wert mit den gearbeitet wird nicht geändert wird
An der 2. Stelle: sichergehen, dass der Zeiger nicht auf etwas anderes zeigt, womit sich der Wert ändern würde.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -30,7 +30,6 @@ void function_checks() {
assert(fabs(koerper.geschwindigkeit.x - 10.7) < 0.1 && "Result must be 10.7");
assert(fabs(koerper.geschwindigkeit.y - 9.3) < 0.1 && "Result must be 9.3");
assert(fabs(koerper.position.x - 74.9) < 0.1 && "Result must be 74.9");
cout << koerper.position.y << endl;
assert(fabs(koerper.position.y - 65.1) < 0.1 && "Result must be 65.1");
cout << "bewegeKoerper erfolgreich" << endl;
}

View File

@ -3,36 +3,36 @@
using namespace std;
Vektor mulVektor(const Vektor &vec, const float &skalar){
Vektor ergebnis = {vec.x * skalar, vec.y * skalar};
Vektor ergebnis = {vec.x * num, vec.y * num};
return ergebnis;
}
Vektor addVektor(const Vektor &vec1, const Vektor &vec2) {
Vektor addVektor(Vektor vec1, Vektor vec2) {
Vektor erg = {vec1.x + vec2.x, vec1.y + vec2.y};
return erg;
}
Koerper bewegeKoerper(const Koerper &korp, const Vektor &gesamtkraft,const float &dt) {
Koerper erg = {0, {0,0}, {0,0}};
Koerper bewegeKoerper(Koerper korp, Vektor gesamtkraft, float dt) {
// Berechnung der Beschleunigung aus der Kraft
const float xBeschleunigung = gesamtkraft.x / korp.masse;
const float yBeschleunigung = gesamtkraft.y / korp.masse;
float xBeschleunigung = gesamtkraft.x / korp.masse;
float yBeschleunigung = gesamtkraft.y / korp.masse;
// Ermittlung der neuen Geschwindigkeit
erg.geschwindigkeit.x = korp.geschwindigkeit.x + dt * xBeschleunigung;
erg.geschwindigkeit.y = korp.geschwindigkeit.y + dt * yBeschleunigung;
korp.geschwindigkeit.x += dt * xBeschleunigung;
korp.geschwindigkeit.y += dt * yBeschleunigung;
// Ermittlung der neuen Position
erg.position.x += korp.position.x + dt * erg.geschwindigkeit.x;
erg.position.y += korp.position.y + dt * erg.geschwindigkeit.y;
return erg;
korp.position.x += dt * korp.geschwindigkeit.x;
korp.position.y += dt * korp.geschwindigkeit.y;
return korp;
}
void ausgabeKoerper(const Koerper &korp){
void ausgabeKoerper(Koerper korp){
cout << "x = " << korp.position.x << "y = " << korp.position.y;
}
void ausgabeVektor(const Vektor &vec){
void ausgabeVektor(Vektor vec){
cout << "x = " << vec.x << endl;
cout << "y = " << vec.y << endl;
}

View File

@ -2,8 +2,8 @@
// Parametrierung der auf den Körper wirkende Kräfte:
struct Vektor {
float x; // [m/s^2]
float y; // [m/s^2]
const float x; // [m/s^2]
const float y; // [m/s^2]
};
// Körper:
struct Koerper {
@ -12,8 +12,8 @@ struct Koerper {
Vektor geschwindigkeit;
};
Vektor addVektor(const Vektor &vec1, const Vektor &vec2);
Vektor mulVektor(const Vektor &vec, const float &skalar);
Koerper bewegeKoerper(const Koerper &korp, const Vektor &gesamtkraft,const float &dt);
void ausgabeKoerper(const Koerper &korp);
void ausgabeVektor(const Vektor &vec);
Vektor addVektor(Vektor vec1, Vektor vec2);
Vektor mulVektor(Vektor vec, float skalar);
Koerper bewegeKoerper(Koerper korp, Vektor gesamtkraft, float dt);
void ausgabeKoerper(Koerper korp);
void ausgabeVektor(Vektor vec);

Binary file not shown.