Aufgabe 3-5
This commit is contained in:
parent
3442cc5697
commit
65abdc34a9
@ -22,7 +22,8 @@ Vektor addVektor(Vektor vektor1, Vektor vektor2)
|
||||
|
||||
Koerper bewegeKoerper(Koerper koerper, Vektor gesamtkraft, float dt)
|
||||
{
|
||||
// Beschleunigung = bewegung / masse
|
||||
// Beschleunigung = Kraft / masse
|
||||
// Geschwindigkeit = Beschleunigung * Zeit
|
||||
koerper.geschwindigkeit.x += dt * gesamtkraft.x / koerper.masse;
|
||||
koerper.geschwindigkeit.y += dt * gesamtkraft.y / koerper.masse;
|
||||
|
||||
|
||||
@ -1,10 +1,36 @@
|
||||
#include <stdio.h>
|
||||
#include "summe.h"
|
||||
#include <vector>
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
||||
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
const int N = 4;
|
||||
const float daten[N] = {1.0f,2.0f,3.0f,4.0f};
|
||||
float summe = berechneSumme(daten,N);
|
||||
printf("Summe = %f\n", summe);
|
||||
{
|
||||
using namespace std;
|
||||
|
||||
string name;
|
||||
int anzahlWerte;
|
||||
int summe;
|
||||
vector<int> werte;
|
||||
|
||||
|
||||
cout << "Bitte gebe deinen Namen ein: ";
|
||||
cin >> name;
|
||||
cout << "Hallo " << name << "!\nGebe die Anzahl deiner Werte an: ";
|
||||
cin >> anzahlWerte;
|
||||
if(anzahlWerte<= 0) return 0;
|
||||
|
||||
for( int i = 0; i < anzahlWerte; i++)
|
||||
{
|
||||
int eingelesen;
|
||||
cout << "Wert " << i + 1 << " : ";
|
||||
cin >> eingelesen;
|
||||
werte.push_back(eingelesen);
|
||||
}
|
||||
|
||||
summe = berechneSumme(werte);
|
||||
|
||||
cout << "Die Summe deiner Werte beträgt: " << summe << "\n\nAuf Wiedersehen, " << name;
|
||||
}
|
||||
|
||||
@ -1,8 +1,13 @@
|
||||
#include "summe.h"
|
||||
|
||||
float berechneSumme(const float* const wert, int anzahlWerte)
|
||||
int berechneSumme(std::vector<int> werte)
|
||||
{
|
||||
return (anzahlWerte) ? *wert+berechneSumme(wert+1, anzahlWerte-1) : 0;
|
||||
int summe = 0;
|
||||
for(int i = 0; i < (int)werte.size(); i++)
|
||||
{
|
||||
summe += werte[i];
|
||||
}
|
||||
return summe;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -1,12 +1,13 @@
|
||||
#ifndef __SUMME_H
|
||||
#define __SUMME_H
|
||||
|
||||
#include <vector>
|
||||
/**
|
||||
* Berechnet die Summe ueber eine Menge von Werten.
|
||||
* @param wert Werte
|
||||
* @param anzahlWerte Anzahl der Werte
|
||||
* @return Summe
|
||||
*/
|
||||
float berechneSumme(const float* const wert, int anzahlWerte);
|
||||
int berechneSumme(std::vector<int> werte);
|
||||
|
||||
#endif
|
||||
|
||||
19
4_Flugkurve02/code/flugkurve02.h
Normal file
19
4_Flugkurve02/code/flugkurve02.h
Normal file
@ -0,0 +1,19 @@
|
||||
#ifndef FLUGKURVE02_H
|
||||
#define FLUGKURVE02_H
|
||||
|
||||
struct Vektor{
|
||||
float x;
|
||||
float y;
|
||||
};
|
||||
|
||||
struct Koerper{
|
||||
float masse;
|
||||
Vektor position;
|
||||
Vektor geschwindigkeit;
|
||||
};
|
||||
|
||||
Vektor mulVektor(const Vektor &vektor, const float &skalar);
|
||||
Vektor addVektor(const Vektor &vektor1, const Vektor &vektor2);
|
||||
Koerper bewegeKoerper(const Koerper &koerper, const Vektor &bewegung, const float &dt);
|
||||
void ausgabeKoerper(const Koerper &koerper);
|
||||
#endif
|
||||
44
4_Flugkurve02/code/flugkurve02bearbeitet.cpp
Normal file
44
4_Flugkurve02/code/flugkurve02bearbeitet.cpp
Normal file
@ -0,0 +1,44 @@
|
||||
#include <iostream>
|
||||
#include "flugkurve02.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
Vektor mulVektor(const Vektor &vec, const float &skalar)
|
||||
{
|
||||
Vektor ergebnis;
|
||||
ergebnis.x = skalar * vec.x;
|
||||
ergebnis.y = skalar * vec.y;
|
||||
|
||||
return ergebnis;
|
||||
}
|
||||
|
||||
Vektor addVektor(const Vektor &vektor1, const Vektor &vektor2)
|
||||
{
|
||||
Vektor result;
|
||||
result.x = vektor1.x + vektor2.x;
|
||||
result.y = vektor1.y + vektor2.y;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
Koerper bewegeKoerper(const Koerper &koerper, const Vektor &gesamtkraft, const float &dt)
|
||||
{
|
||||
Koerper ergebnis;
|
||||
ergebnis.masse = koerper.masse;
|
||||
// Beschleunigung = Kraft / masse
|
||||
// Geschwindigkeit = Beschleunigung * Zeit
|
||||
ergebnis.geschwindigkeit.x = koerper.geschwindigkeit.x + dt * gesamtkraft.x / koerper.masse;
|
||||
ergebnis.geschwindigkeit.y = koerper.geschwindigkeit.y + dt * gesamtkraft.y / koerper.masse;
|
||||
|
||||
// Neue Position
|
||||
ergebnis.position.x = koerper.position.x + dt * ergebnis.geschwindigkeit.x;
|
||||
ergebnis.position.y = koerper.position.y + dt * ergebnis.geschwindigkeit.y;
|
||||
|
||||
return ergebnis;
|
||||
}
|
||||
|
||||
void ausgabeKoerper(const Koerper &koerper)
|
||||
{
|
||||
cout << "(" << koerper.position.x << "," << koerper.position.y << ") ";
|
||||
cout << "Geschwindigkeit: (" << koerper.geschwindigkeit.x << ", " << koerper.geschwindigkeit.y << ")" << endl;
|
||||
}
|
||||
@ -4,4 +4,53 @@
|
||||
#include "flugkurve03.h"
|
||||
using namespace std;
|
||||
|
||||
//to be implemented
|
||||
Vektor Vektor::mul(const float &skalar)
|
||||
{
|
||||
this->x *= skalar;
|
||||
this->y *= skalar;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
Vektor Vektor::add(const Vektor &vektor_to_add)
|
||||
{
|
||||
this->x += vektor_to_add.x;
|
||||
this->y += vektor_to_add.y;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
Koerper Koerper::bewegen(const Vektor &beschleunigung, const float &dt)
|
||||
{
|
||||
this->position.x += this->geschwindigkeit.x * dt;
|
||||
this->position.y += this->geschwindigkeit.y * dt;
|
||||
|
||||
this->geschwindigkeit.x += beschleunigung.x * dt;
|
||||
this->geschwindigkeit.y += beschleunigung.y * dt;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
Vektor Koerper::liefereGeschwindigkeit()
|
||||
{
|
||||
return this->geschwindigkeit;
|
||||
}
|
||||
|
||||
Vektor Koerper::lieferePosition()
|
||||
{
|
||||
return this->position;
|
||||
}
|
||||
|
||||
float Koerper::liefereMasse()
|
||||
{
|
||||
return this->masse;
|
||||
}
|
||||
|
||||
string Koerper::text()
|
||||
{
|
||||
stringstream ausgabe;
|
||||
|
||||
ausgabe << "(" << this->position.x << "," << this->position.y << ")";
|
||||
|
||||
return ausgabe.str();
|
||||
}
|
||||
@ -1,4 +1,31 @@
|
||||
#include <string>
|
||||
using namespace std;
|
||||
|
||||
// to be defined
|
||||
class Vektor{
|
||||
public:
|
||||
float x;
|
||||
float y;
|
||||
|
||||
Vektor() : x(0), y(0) {}
|
||||
Vektor(float x, float y) : x(x), y(y) {}
|
||||
|
||||
Vektor mul(const float &skalar);
|
||||
Vektor add(const Vektor &vektor_to_add);
|
||||
};
|
||||
|
||||
class Koerper{
|
||||
public:
|
||||
|
||||
float masse;
|
||||
Vektor position;
|
||||
Vektor geschwindigkeit;
|
||||
|
||||
Koerper() : masse(0), position(0,0), geschwindigkeit(0,0){}
|
||||
Koerper(float m, Vektor pos, Vektor gesch) : masse(m), position(pos), geschwindigkeit(gesch) {}
|
||||
|
||||
Koerper bewegen(const Vektor &beschleunigung, const float &dt);
|
||||
Vektor liefereGeschwindigkeit();
|
||||
Vektor lieferePosition();
|
||||
float liefereMasse();
|
||||
string text();
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user