diff --git a/3_Summe/code/SchluesselwortConst.txt b/3_Summe/code/SchluesselwortConst.txt new file mode 100644 index 0000000..e3d51e5 --- /dev/null +++ b/3_Summe/code/SchluesselwortConst.txt @@ -0,0 +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. diff --git a/3_Summe/code/main.cpp b/3_Summe/code/main.cpp index 8d4c443..0555d6a 100644 --- a/3_Summe/code/main.cpp +++ b/3_Summe/code/main.cpp @@ -1,10 +1,25 @@ -#include #include "summe.h" +#include +#include -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); +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); */ + string name; + int anzahlSummanten; + int hilfvar; + vector summanten; + cout << "Was ist dein Name?" << endl; + cin >> name; + cout << "Hallo " << name << ", Wie viele Zahlen willst du addieren?" << endl; + cin >> anzahlSummanten; + for (int i = 0; i < anzahlSummanten; i++) { + cout << "Der " << i + 1 << ". Summant ist:" << endl; + cin >> hilfvar; + summanten.push_back(hilfvar); + } + cout << name << ", die Summe ist: " << berechneSumme(summanten) << endl; + cout << "Auf Wiedersehen " << name << endl; } diff --git a/3_Summe/code/summe.cpp b/3_Summe/code/summe.cpp index 7038832..7e435db 100644 --- a/3_Summe/code/summe.cpp +++ b/3_Summe/code/summe.cpp @@ -1,8 +1,13 @@ #include "summe.h" -float berechneSumme(const float* const wert, int anzahlWerte) -{ - return (anzahlWerte) ? *wert+berechneSumme(wert+1, anzahlWerte-1) : 0; +/* float berechneSumme(const float *const wert, int anzahlWerte) { + return (anzahlWerte) ? *wert + berechneSumme(wert + 1, anzahlWerte - 1) : 0; +} */ + +int berechneSumme(vector myvector) { + int summe; + for (unsigned int i = 0; i < myvector.size(); i++) { + summe += myvector[i]; + } + return summe; } - - diff --git a/3_Summe/code/summe.h b/3_Summe/code/summe.h index 67bf774..6e89ab6 100644 --- a/3_Summe/code/summe.h +++ b/3_Summe/code/summe.h @@ -1,6 +1,8 @@ #ifndef __SUMME_H #define __SUMME_H +#include +using namespace std; /** * Berechnet die Summe ueber eine Menge von Werten. * @param wert Werte @@ -8,5 +10,5 @@ * @return Summe */ float berechneSumme(const float* const wert, int anzahlWerte); - +int berechneSumme(vector myvector); #endif