From f47c9b4e973bf94b5c90b8b05c134a1c35b7b230 Mon Sep 17 00:00:00 2001 From: rbuss <rudi.buss@th-deg.de> Date: Thu, 26 Sep 2024 18:40:09 +0200 Subject: [PATCH] Umbenennungen --- .../Loesung Uebung 1 - Bauernhof.cpp" | 13 +++ .../Loesung Uebung 2 - Personendaten.cpp" | 15 +++ .../Loesung Uebungen 1 - Bauernhof.cpp" | 13 --- .../Loesung Uebungen 2 - Personendaten.cpp" | 15 --- .../Uebungen/Uebung 1 - Bauernhof.txt" | 15 +++ .../Uebungen/Uebung 2 - Personendaten.txt" | 15 +++ .../Uebungen/Uebungen 1 - Bauernhof.txt" | 15 --- .../Uebungen/Uebungen 2 - Personendaten.txt" | 16 --- .../Loesung Uebung 1 - Datentypen.cpp | 22 +++++ .../Loesung Uebung 2 - Bauernhof.cpp | 24 +++++ .../Loesung Uebung 3 - Temperatur.cpp | 22 +++++ .../Solution Exercise 1 - Datentypen.cpp | 22 ----- .../Solution Exercise 2 - Bauernhof.cpp | 24 ----- .../Solution Exercise 3 - Temperatur.cpp | 22 ----- .../Uebungen/Uebung 1 - Datentypen.txt | 10 ++ .../Uebungen/Uebung 2 - Bauernhof.txt | 13 +++ .../Uebungen/Uebung 3 - Temperatur.txt | 11 +++ .../Uebungen/Uebungen 1 - Datentypen.txt | 10 -- .../Uebungen/Uebungen 2 - Bauernhof.txt | 13 --- .../Uebungen/Uebungen 3 - Temperatur.txt | 11 --- ...f.cpp => Loesung Uebung 1 - Bauernhof.cpp} | 0 ...ung Uebung 2 - Quadrieren und Flaeche.cpp} | 0 .../Uebungen/Uebung 1 - Bauernhof.txt | 7 ++ .../Uebung 2 - Quadrieren und Flaeche.txt | 13 +++ .../Uebungen/Uebungen 1 - Bauernhof.txt | 7 -- .../Uebungen 2 - Quadrieren und Flaeche.txt | 13 --- ....cpp => Loesung Uebung 1 - Einmaleins.cpp} | 0 ...sung Uebung 2 - Fahrenheit in Celsius.cpp} | 0 ...cpp => Loesung Uebung 3 - Zahlenraten.cpp} | 0 ... => Loesung Uebung 4 - Taschenrechner.cpp} | 0 ...f.cpp => Loesung Uebung 5 - Bauernhof.cpp} | 0 ...Loesung Uebung 6 - Continue Anweisung.cpp} | 0 .../Uebungen/Uebung 1 - Einmaleins.txt | 24 +++++ .../Uebung 2 - Fahrenheit in Celsius.txt | 32 ++++++ .../Uebungen/Uebung 3 - Zahlenraten.txt | 9 ++ .../Uebungen/Uebung 4 - Taschenrechner.txt | 8 ++ .../Uebungen/Uebung 5 - Bauernhof.txt | 29 ++++++ .../Uebung 6 - Continue Anweisung.txt | 4 + .../Uebungen/Uebungen 1 - Einmaleins.txt | 24 ----- .../Uebungen 2 - Fahrenheit in Celsius.txt | 35 ------- .../Uebungen/Uebungen 3 - Zahlenraten.txt | 9 -- .../Uebungen/Uebungen 4 - Taschenrechner.txt | 10 -- .../Uebungen/Uebungen 5 - Bauernhof.txt | 11 --- .../Uebungen 6 - Continue Anweisung.txt | 4 - ...f.cpp => Loesung Uebung 1 - Bauernhof.cpp} | 0 ...sung Uebung 2 - Fahrenheit in Celsius.cpp} | 0 ...n.cpp => Loesung Uebung 3 - Sortieren.cpp} | 0 ...p => Loesung Uebung 4 - Bubble Sort_1.cpp} | 0 .../Uebungen/Uebung 1 - Bauernhof.txt | 5 + .../Uebung 2 - Fahrenheit in Celsius.txt | 11 +++ .../Uebungen/Uebung 3 - Sortieren.txt | 27 ++++++ .../Uebungen/Uebung 4 - Bubble Sort.txt | 5 + .../Uebungen/Uebungen 1 - Bauernhof.txt | 4 - .../Uebungen 2 - Fahrenheit in Celsius.txt | 10 -- .../Uebungen/Uebungen 3 - Sortieren.txt | 29 ------ .../Uebungen/Uebungen 4 - Bubble Sort_1.txt | 5 - ...f.cpp => Loesung Uebung 1 - Bauernhof.cpp} | 0 ...Tiere.cpp => Loesung Uebung 2 - Tiere.cpp} | 0 ...kel.cpp => Loesung Uebung 3 - Artikel.cpp} | 0 ...rson.cpp => Loesung Uebung 4 - Person.cpp} | 0 .../Uebungen/Uebung 1 - Bauernhof.txt | 35 +++++++ .../Uebungen/Uebung 2 - Tiere.txt | 2 + .../Uebungen/Uebung 3 - Artikel.txt | 19 ++++ .../Uebungen/Uebung 4 - Person.txt | 7 ++ .../Uebungen/Uebungen 1 - Bauernhof.txt | 37 ------- .../Uebungen/Uebungen 2 - Tiere.txt | 2 - .../Uebungen/Uebungen 3 - Artikel.txt | 19 ---- .../Uebungen/Uebungen 4 - Person.txt | 4 - .../Loesung Uebung 1 - Bauernhof.cpp" | 0 .../Loesungen/Loesung Uebung 2 - Auto.cpp" | 0 .../Uebungen/Uebung 1 - Bauernhof.txt" | 8 ++ .../Uebungen/Uebung 2 - Auto.txt" | 19 ++++ .../Uebungen/Uebungen 1 - Bauernhof.txt" | 8 -- .../Uebungen/Uebungen 2 - Auto.txt" | 21 ---- ...- Tier.cpp => Loesung Uebung 1 - Tier.cpp} | 0 ...2 - KFZ.cpp => Loesung Uebung 2 - KFZ.cpp} | 0 .../9. Vererbung/Uebungen/Uebung 1 - Tier.txt | 38 ++++++++ .../9. Vererbung/Uebungen/Uebung 2 - KFZ.txt | 38 ++++++++ .../Uebungen/Uebungen 1 - Tier.txt | 41 -------- .../Uebungen/Uebungen 2 - KFZ.txt | 41 -------- .../Uebungen/Uebung 1 - Fahrzeug.txt | 36 +++++++ .../Uebungen/Uebungen 1 - Fahrzeug.txt | 47 --------- ...=> Loesung Uebung 1 - Textdatei lesen.cpp} | 0 ...esung Uebung 2 - Buchstaben ermitteln.cpp} | 0 ...sung Uebung 3 - Leerzeichen entfernen.cpp} | 0 ...p => Loesung Uebung 4 - Personendatei.cpp} | 0 ...ume.cpp => Loesung Uebung 5 - Volumen.cpp} | 0 ....cpp => Loesung Uebung 6 - Dividieren.cpp} | 0 .../Uebungen/Uebung 1 - Textdatei lesen.txt | 4 + .../Uebung 2 - Buchstaben ermitteln.txt | 3 + .../Uebung 3 - Leerzeichen entfernen.txt | 3 + .../Uebungen/Uebung 4 - Personendatei.txt | 12 +++ .../Uebungen/Uebung 5 - Volumen.txt | 4 + .../Uebungen/Uebung 6 - Dividieren.txt | 15 +++ .../Uebungen/Uebungen 1 - Read text file.txt | 4 - .../Uebungen 2 - Determine letters.txt | 4 - .../Uebungen/Uebungen 3 - Remove blanks.txt | 3 - .../Uebungen/Uebungen 4 - Person file.txt | 14 --- .../Uebungen/Uebungen 5 - Volume.txt | 5 - .../Uebungen/Uebungen 6 - Divide.txt | 17 ---- .../Uebungen/Uebung 1 - PKW und LKW.txt | 11 +++ .../Uebungen/Uebung 2 - Vertauschen.txt | 6 ++ .../2. Pointers/Uebungen/Uebung 3 - Array.txt | 12 +++ .../Uebungen/Uebung 4 - Stringlaenge.txt | 5 + .../Uebungen/Uebung 5 - Sortieren.txt | 38 ++++++++ .../Uebungen/Uebung 6 - Prosumo.txt | 6 ++ .../Uebungen/Uebungen 1 - PKW und LKW.txt | 8 -- .../Uebungen/Uebungen 2 - Vertauschen.txt | 5 - .../Uebungen/Uebungen 3 - Array.txt | 12 --- .../Uebungen/Uebungen 4 - Stringlaenge.txt | 4 - .../Uebungen/Uebungen 5 - Sortieren.txt | 40 -------- .../Uebungen/Uebungen 6 - Prosumo.txt | 6 -- .../Uebungen/Uebung 1 - PKW und LKW.txt | 9 ++ .../Uebungen/Uebung 2 - Rechteck.txt | 9 ++ .../Uebungen/Uebung 3 - Array.txt | 4 + .../Uebungen/Uebung 4 - Dungeon.txt | 36 +++++++ .../Uebungen/Uebungen 1 - PKW und LKW.txt | 8 -- .../Uebungen/Uebungen 2 - Rechteck.txt | 9 -- .../Uebungen/Uebungen 3 - Array.txt | 4 - .../Uebungen/Uebungen 4 - Dungeon.txt | 37 ------- .../Uebungen/Uebung 1 - Element.txt | 14 +++ .../Uebungen/Uebung 2 - Film.txt | 17 ++++ .../Uebungen/Uebung 3 - Fahrzeug.txt | 97 +++++++++++++++++++ .../Uebungen/Uebungen 1 - Element.txt | 16 --- .../Uebungen/Uebungen 2 - Film.txt | 19 ---- .../Uebungen/Uebungen 3 - Fahrzeug.txt | 87 ----------------- .../Uebungen/Uebung 1 - Telefon.txt | 15 +++ .../Uebungen/Uebung 2 - Kunde.txt | 11 +++ .../Uebungen/Uebung 3 - Tier.txt | 8 ++ .../Uebungen/Uebung 4 - Polygon.txt | 15 +++ .../Uebungen/Uebungen 1 - Phone.txt | 1 - .../Uebungen/Uebungen 2 - Kunde.txt | 1 - .../Uebungen/Uebungen 3 - Tier.txt | 1 - .../Uebungen/Uebungen 4 - Polygon.txt | 1 - .../Uebungen/Uebung 1 - Euro.txt | 33 ++++++- .../Uebungen/Uebung 2 - Fahrzeug.txt | 35 +++++++ .../Uebungen/Uebung 2 - Fahrzeut.txt | 1 - .../Uebungen/Uebung 3 - Datum.txt | 15 ++- .../Uebung 4 - Schere Stein Papier.txt | 35 ++++++- .../Uebung 1 - Addition und Verknuepfung.txt | 10 +- .../Uebungen/Uebung 2 - Minimum.txt | 4 +- .../Uebungen/Uebung 3 - Durchschnitt.txt | 8 +- .../Uebungen/Uebung 4 - Berechnen.txt | 7 +- .../Uebungen/Uebung 5 - Array.txt | 18 +++- 144 files changed, 1046 insertions(+), 858 deletions(-) create mode 100644 "Teil 1/1. Einf\303\274hrung in die Programmierung/Loesungen/Loesung Uebung 1 - Bauernhof.cpp" create mode 100644 "Teil 1/1. Einf\303\274hrung in die Programmierung/Loesungen/Loesung Uebung 2 - Personendaten.cpp" delete mode 100644 "Teil 1/1. Einf\303\274hrung in die Programmierung/Loesungen/Loesung Uebungen 1 - Bauernhof.cpp" delete mode 100644 "Teil 1/1. Einf\303\274hrung in die Programmierung/Loesungen/Loesung Uebungen 2 - Personendaten.cpp" create mode 100644 "Teil 1/1. Einf\303\274hrung in die Programmierung/Uebungen/Uebung 1 - Bauernhof.txt" create mode 100644 "Teil 1/1. Einf\303\274hrung in die Programmierung/Uebungen/Uebung 2 - Personendaten.txt" delete mode 100644 "Teil 1/1. Einf\303\274hrung in die Programmierung/Uebungen/Uebungen 1 - Bauernhof.txt" delete mode 100644 "Teil 1/1. Einf\303\274hrung in die Programmierung/Uebungen/Uebungen 2 - Personendaten.txt" create mode 100644 Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Loesung Uebung 1 - Datentypen.cpp create mode 100644 Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Loesung Uebung 2 - Bauernhof.cpp create mode 100644 Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Loesung Uebung 3 - Temperatur.cpp delete mode 100644 Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Solution Exercise 1 - Datentypen.cpp delete mode 100644 Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Solution Exercise 2 - Bauernhof.cpp delete mode 100644 Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Solution Exercise 3 - Temperatur.cpp create mode 100644 Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebung 1 - Datentypen.txt create mode 100644 Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebung 2 - Bauernhof.txt create mode 100644 Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebung 3 - Temperatur.txt delete mode 100644 Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebungen 1 - Datentypen.txt delete mode 100644 Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebungen 2 - Bauernhof.txt delete mode 100644 Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebungen 3 - Temperatur.txt rename Teil 1/3. Funktionen/Loesungen/{Loesung Uebungen 1 - Bauernhof.cpp => Loesung Uebung 1 - Bauernhof.cpp} (100%) rename Teil 1/3. Funktionen/Loesungen/{Loesung Uebungen 2 - Quadrieren und Flaeche.cpp => Loesung Uebung 2 - Quadrieren und Flaeche.cpp} (100%) create mode 100644 Teil 1/3. Funktionen/Uebungen/Uebung 1 - Bauernhof.txt create mode 100644 Teil 1/3. Funktionen/Uebungen/Uebung 2 - Quadrieren und Flaeche.txt delete mode 100644 Teil 1/3. Funktionen/Uebungen/Uebungen 1 - Bauernhof.txt delete mode 100644 Teil 1/3. Funktionen/Uebungen/Uebungen 2 - Quadrieren und Flaeche.txt rename Teil 1/4. Kontrollstrukturen/Loesungen/{Loesung Uebungen 1 - Einmaleins.cpp => Loesung Uebung 1 - Einmaleins.cpp} (100%) rename Teil 1/4. Kontrollstrukturen/Loesungen/{Loesung Uebungen 2 - Fahrenheit in Celsius.cpp => Loesung Uebung 2 - Fahrenheit in Celsius.cpp} (100%) rename Teil 1/4. Kontrollstrukturen/Loesungen/{Loesung Uebungen 3 - Zahlenraten.cpp => Loesung Uebung 3 - Zahlenraten.cpp} (100%) rename Teil 1/4. Kontrollstrukturen/Loesungen/{Loesung Uebungen 4 - Taschenrechner.cpp => Loesung Uebung 4 - Taschenrechner.cpp} (100%) rename Teil 1/4. Kontrollstrukturen/Loesungen/{Loesung Uebungen 5 - Bauernhof.cpp => Loesung Uebung 5 - Bauernhof.cpp} (100%) rename Teil 1/4. Kontrollstrukturen/Loesungen/{Loesung Uebungen 6 - Continue Anweisung.cpp => Loesung Uebung 6 - Continue Anweisung.cpp} (100%) create mode 100644 Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 1 - Einmaleins.txt create mode 100644 Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 2 - Fahrenheit in Celsius.txt create mode 100644 Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 3 - Zahlenraten.txt create mode 100644 Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 4 - Taschenrechner.txt create mode 100644 Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 5 - Bauernhof.txt create mode 100644 Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 6 - Continue Anweisung.txt delete mode 100644 Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 1 - Einmaleins.txt delete mode 100644 Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 2 - Fahrenheit in Celsius.txt delete mode 100644 Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 3 - Zahlenraten.txt delete mode 100644 Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 4 - Taschenrechner.txt delete mode 100644 Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 5 - Bauernhof.txt delete mode 100644 Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 6 - Continue Anweisung.txt rename Teil 1/5. Felder/Loesungen/{Loesung Uebungen 1 - Bauernhof.cpp => Loesung Uebung 1 - Bauernhof.cpp} (100%) rename Teil 1/5. Felder/Loesungen/{Loesung Uebungen 2 - Fahrenheit in Celsius.cpp => Loesung Uebung 2 - Fahrenheit in Celsius.cpp} (100%) rename Teil 1/5. Felder/Loesungen/{Loesung Uebungen 3 - Sortieren.cpp => Loesung Uebung 3 - Sortieren.cpp} (100%) rename Teil 1/5. Felder/Loesungen/{Loesung Uebungen 4 - Bubble Sort_1.cpp => Loesung Uebung 4 - Bubble Sort_1.cpp} (100%) create mode 100644 Teil 1/5. Felder/Uebungen/Uebung 1 - Bauernhof.txt create mode 100644 Teil 1/5. Felder/Uebungen/Uebung 2 - Fahrenheit in Celsius.txt create mode 100644 Teil 1/5. Felder/Uebungen/Uebung 3 - Sortieren.txt create mode 100644 Teil 1/5. Felder/Uebungen/Uebung 4 - Bubble Sort.txt delete mode 100644 Teil 1/5. Felder/Uebungen/Uebungen 1 - Bauernhof.txt delete mode 100644 Teil 1/5. Felder/Uebungen/Uebungen 2 - Fahrenheit in Celsius.txt delete mode 100644 Teil 1/5. Felder/Uebungen/Uebungen 3 - Sortieren.txt delete mode 100644 Teil 1/5. Felder/Uebungen/Uebungen 4 - Bubble Sort_1.txt rename Teil 1/7. Das Klassenkonzept/Loesungen/{Loesung Uebungen 1 - Bauernhof.cpp => Loesung Uebung 1 - Bauernhof.cpp} (100%) rename Teil 1/7. Das Klassenkonzept/Loesungen/{Loesung Uebungen 2 - Tiere.cpp => Loesung Uebung 2 - Tiere.cpp} (100%) rename Teil 1/7. Das Klassenkonzept/Loesungen/{Loesung Uebungen 3 - Artikel.cpp => Loesung Uebung 3 - Artikel.cpp} (100%) rename Teil 1/7. Das Klassenkonzept/Loesungen/{Loesung Uebungen 4 - Person.cpp => Loesung Uebung 4 - Person.cpp} (100%) create mode 100644 Teil 1/7. Das Klassenkonzept/Uebungen/Uebung 1 - Bauernhof.txt create mode 100644 Teil 1/7. Das Klassenkonzept/Uebungen/Uebung 2 - Tiere.txt create mode 100644 Teil 1/7. Das Klassenkonzept/Uebungen/Uebung 3 - Artikel.txt create mode 100644 Teil 1/7. Das Klassenkonzept/Uebungen/Uebung 4 - Person.txt delete mode 100644 Teil 1/7. Das Klassenkonzept/Uebungen/Uebungen 1 - Bauernhof.txt delete mode 100644 Teil 1/7. Das Klassenkonzept/Uebungen/Uebungen 2 - Tiere.txt delete mode 100644 Teil 1/7. Das Klassenkonzept/Uebungen/Uebungen 3 - Artikel.txt delete mode 100644 Teil 1/7. Das Klassenkonzept/Uebungen/Uebungen 4 - Person.txt rename "Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Loesungen/Loesung Uebungen 1 - Bauernhof.cpp" => "Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Loesungen/Loesung Uebung 1 - Bauernhof.cpp" (100%) rename "Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Loesungen/Loesung Uebungen 2 - Auto.cpp" => "Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Loesungen/Loesung Uebung 2 - Auto.cpp" (100%) create mode 100644 "Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Uebungen/Uebung 1 - Bauernhof.txt" create mode 100644 "Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Uebungen/Uebung 2 - Auto.txt" delete mode 100644 "Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Uebungen/Uebungen 1 - Bauernhof.txt" delete mode 100644 "Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Uebungen/Uebungen 2 - Auto.txt" rename Teil 1/9. Vererbung/Loesungen/{Loesung Uebungen 1 - Tier.cpp => Loesung Uebung 1 - Tier.cpp} (100%) rename Teil 1/9. Vererbung/Loesungen/{Loesung Uebungen 2 - KFZ.cpp => Loesung Uebung 2 - KFZ.cpp} (100%) create mode 100644 Teil 1/9. Vererbung/Uebungen/Uebung 1 - Tier.txt create mode 100644 Teil 1/9. Vererbung/Uebungen/Uebung 2 - KFZ.txt delete mode 100644 Teil 1/9. Vererbung/Uebungen/Uebungen 1 - Tier.txt delete mode 100644 Teil 1/9. Vererbung/Uebungen/Uebungen 2 - KFZ.txt create mode 100644 Teil 2/0. Repetition Inheritance/Uebungen/Uebung 1 - Fahrzeug.txt delete mode 100644 Teil 2/0. Repetition Inheritance/Uebungen/Uebungen 1 - Fahrzeug.txt rename Teil 2/1. File processing, error handling/Loesungen/{Loesung Uebungen 1 - Read text file.cpp => Loesung Uebung 1 - Textdatei lesen.cpp} (100%) rename Teil 2/1. File processing, error handling/Loesungen/{Loesung Uebungen 2 - Determine letters.cpp => Loesung Uebung 2 - Buchstaben ermitteln.cpp} (100%) rename Teil 2/1. File processing, error handling/Loesungen/{Loesung Uebungen 3 - Remove blanks.cpp => Loesung Uebung 3 - Leerzeichen entfernen.cpp} (100%) rename Teil 2/1. File processing, error handling/Loesungen/{Loesung Uebungen 4 - Person file.cpp => Loesung Uebung 4 - Personendatei.cpp} (100%) rename Teil 2/1. File processing, error handling/Loesungen/{Loesung Uebungen 5 - Volume.cpp => Loesung Uebung 5 - Volumen.cpp} (100%) rename Teil 2/1. File processing, error handling/Loesungen/{Loesung Uebungen 6 - Divide.cpp => Loesung Uebung 6 - Dividieren.cpp} (100%) create mode 100644 Teil 2/1. File processing, error handling/Uebungen/Uebung 1 - Textdatei lesen.txt create mode 100644 Teil 2/1. File processing, error handling/Uebungen/Uebung 2 - Buchstaben ermitteln.txt create mode 100644 Teil 2/1. File processing, error handling/Uebungen/Uebung 3 - Leerzeichen entfernen.txt create mode 100644 Teil 2/1. File processing, error handling/Uebungen/Uebung 4 - Personendatei.txt create mode 100644 Teil 2/1. File processing, error handling/Uebungen/Uebung 5 - Volumen.txt create mode 100644 Teil 2/1. File processing, error handling/Uebungen/Uebung 6 - Dividieren.txt delete mode 100644 Teil 2/1. File processing, error handling/Uebungen/Uebungen 1 - Read text file.txt delete mode 100644 Teil 2/1. File processing, error handling/Uebungen/Uebungen 2 - Determine letters.txt delete mode 100644 Teil 2/1. File processing, error handling/Uebungen/Uebungen 3 - Remove blanks.txt delete mode 100644 Teil 2/1. File processing, error handling/Uebungen/Uebungen 4 - Person file.txt delete mode 100644 Teil 2/1. File processing, error handling/Uebungen/Uebungen 5 - Volume.txt delete mode 100644 Teil 2/1. File processing, error handling/Uebungen/Uebungen 6 - Divide.txt create mode 100644 Teil 2/2. Pointers/Uebungen/Uebung 1 - PKW und LKW.txt create mode 100644 Teil 2/2. Pointers/Uebungen/Uebung 2 - Vertauschen.txt create mode 100644 Teil 2/2. Pointers/Uebungen/Uebung 3 - Array.txt create mode 100644 Teil 2/2. Pointers/Uebungen/Uebung 4 - Stringlaenge.txt create mode 100644 Teil 2/2. Pointers/Uebungen/Uebung 5 - Sortieren.txt create mode 100644 Teil 2/2. Pointers/Uebungen/Uebung 6 - Prosumo.txt delete mode 100644 Teil 2/2. Pointers/Uebungen/Uebungen 1 - PKW und LKW.txt delete mode 100644 Teil 2/2. Pointers/Uebungen/Uebungen 2 - Vertauschen.txt delete mode 100644 Teil 2/2. Pointers/Uebungen/Uebungen 3 - Array.txt delete mode 100644 Teil 2/2. Pointers/Uebungen/Uebungen 4 - Stringlaenge.txt delete mode 100644 Teil 2/2. Pointers/Uebungen/Uebungen 5 - Sortieren.txt delete mode 100644 Teil 2/2. Pointers/Uebungen/Uebungen 6 - Prosumo.txt create mode 100644 Teil 2/3. Dynamic objects/Uebungen/Uebung 1 - PKW und LKW.txt create mode 100644 Teil 2/3. Dynamic objects/Uebungen/Uebung 2 - Rechteck.txt create mode 100644 Teil 2/3. Dynamic objects/Uebungen/Uebung 3 - Array.txt create mode 100644 Teil 2/3. Dynamic objects/Uebungen/Uebung 4 - Dungeon.txt delete mode 100644 Teil 2/3. Dynamic objects/Uebungen/Uebungen 1 - PKW und LKW.txt delete mode 100644 Teil 2/3. Dynamic objects/Uebungen/Uebungen 2 - Rechteck.txt delete mode 100644 Teil 2/3. Dynamic objects/Uebungen/Uebungen 3 - Array.txt delete mode 100644 Teil 2/3. Dynamic objects/Uebungen/Uebungen 4 - Dungeon.txt create mode 100644 Teil 2/4. Linked lists/Uebungen/Uebung 1 - Element.txt create mode 100644 Teil 2/4. Linked lists/Uebungen/Uebung 2 - Film.txt create mode 100644 Teil 2/4. Linked lists/Uebungen/Uebung 3 - Fahrzeug.txt delete mode 100644 Teil 2/4. Linked lists/Uebungen/Uebungen 1 - Element.txt delete mode 100644 Teil 2/4. Linked lists/Uebungen/Uebungen 2 - Film.txt delete mode 100644 Teil 2/4. Linked lists/Uebungen/Uebungen 3 - Fahrzeug.txt create mode 100644 Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebung 1 - Telefon.txt create mode 100644 Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebung 2 - Kunde.txt create mode 100644 Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebung 3 - Tier.txt create mode 100644 Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebung 4 - Polygon.txt delete mode 100644 Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebungen 1 - Phone.txt delete mode 100644 Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebungen 2 - Kunde.txt delete mode 100644 Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebungen 3 - Tier.txt delete mode 100644 Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebungen 4 - Polygon.txt create mode 100644 Teil 2/6. Operator overloading/Uebungen/Uebung 2 - Fahrzeug.txt delete mode 100644 Teil 2/6. Operator overloading/Uebungen/Uebung 2 - Fahrzeut.txt diff --git "a/Teil 1/1. Einf\303\274hrung in die Programmierung/Loesungen/Loesung Uebung 1 - Bauernhof.cpp" "b/Teil 1/1. Einf\303\274hrung in die Programmierung/Loesungen/Loesung Uebung 1 - Bauernhof.cpp" new file mode 100644 index 0000000..25140b7 --- /dev/null +++ "b/Teil 1/1. Einf\303\274hrung in die Programmierung/Loesungen/Loesung Uebung 1 - Bauernhof.cpp" @@ -0,0 +1,13 @@ +#include <iostream> + +using namespace std; + +int main() +{ + + cout << "Willkommen bei der Bauernhofverwaltung" << endl; + + system("PAUSE"); /*Compilerabhängig, evtl. auch getchar(); oder cin.ignore(); und dann cin.get(); oder es kann entfallen */ + return 0; + +}; \ No newline at end of file diff --git "a/Teil 1/1. Einf\303\274hrung in die Programmierung/Loesungen/Loesung Uebung 2 - Personendaten.cpp" "b/Teil 1/1. Einf\303\274hrung in die Programmierung/Loesungen/Loesung Uebung 2 - Personendaten.cpp" new file mode 100644 index 0000000..eae32ec --- /dev/null +++ "b/Teil 1/1. Einf\303\274hrung in die Programmierung/Loesungen/Loesung Uebung 2 - Personendaten.cpp" @@ -0,0 +1,15 @@ +#include <iostream> + +using namespace std; + +int main() +{ + cout << "Vorname: Max" << endl; + cout << "Nachname: Mustermann" << endl; + cout << "Alter: 21" << endl; + + cout << "Vorname: Erika" << endl << "Nachname: Engel " << endl << "Alter: 18" << endl; + + return 0; +} + diff --git "a/Teil 1/1. Einf\303\274hrung in die Programmierung/Loesungen/Loesung Uebungen 1 - Bauernhof.cpp" "b/Teil 1/1. Einf\303\274hrung in die Programmierung/Loesungen/Loesung Uebungen 1 - Bauernhof.cpp" deleted file mode 100644 index ab71d19..0000000 --- "a/Teil 1/1. Einf\303\274hrung in die Programmierung/Loesungen/Loesung Uebungen 1 - Bauernhof.cpp" +++ /dev/null @@ -1,13 +0,0 @@ -#include <iostream> - -using namespace std; - -int main() -{ - - cout << "Welcome to the farm management" << endl; - - system("PAUSE"); /* Depending on the compiler perhaps also getchar(); or cin.ignore(); and then cin.get(); or it can be omitted */ - return 0; - -}; \ No newline at end of file diff --git "a/Teil 1/1. Einf\303\274hrung in die Programmierung/Loesungen/Loesung Uebungen 2 - Personendaten.cpp" "b/Teil 1/1. Einf\303\274hrung in die Programmierung/Loesungen/Loesung Uebungen 2 - Personendaten.cpp" deleted file mode 100644 index 89cef68..0000000 --- "a/Teil 1/1. Einf\303\274hrung in die Programmierung/Loesungen/Loesung Uebungen 2 - Personendaten.cpp" +++ /dev/null @@ -1,15 +0,0 @@ -#include <iostream> - -using namespace std; - -int main() -{ - cout << "First Name: Max" << endl; - cout << "Last Name: Mustermann" << endl; - cout << "Age: 21" << endl; - - cout << "First Name: Erika" << endl << "Last Name: Engel " << endl << "Age: 18" << endl; - - return 0; -} - diff --git "a/Teil 1/1. Einf\303\274hrung in die Programmierung/Uebungen/Uebung 1 - Bauernhof.txt" "b/Teil 1/1. Einf\303\274hrung in die Programmierung/Uebungen/Uebung 1 - Bauernhof.txt" new file mode 100644 index 0000000..f7e014f --- /dev/null +++ "b/Teil 1/1. Einf\303\274hrung in die Programmierung/Uebungen/Uebung 1 - Bauernhof.txt" @@ -0,0 +1,15 @@ +Liebe Kursteilnehmer, + +parallel zum Kurs möchte ich mit Ihnen gemeinsam in +wöchentlichen Schritten ein kleines Programm entwickeln. +Sie können so den erlernten Stoff gleich einüben. +Ich werde am Ende der Woche meinen Lösungsvorschlag ins LMS stellen. + +Hier die erste Aufgabe: + +Bauer Max hat einen Bauernhof mit Enten und Schweinen. Diese will er verkaufen. + +Schreiben Sie ein C++-Programm, das den Nutzer am Bauernhof begrüßt. + +Grüße +Monika Eberle \ No newline at end of file diff --git "a/Teil 1/1. Einf\303\274hrung in die Programmierung/Uebungen/Uebung 2 - Personendaten.txt" "b/Teil 1/1. Einf\303\274hrung in die Programmierung/Uebungen/Uebung 2 - Personendaten.txt" new file mode 100644 index 0000000..6a789f7 --- /dev/null +++ "b/Teil 1/1. Einf\303\274hrung in die Programmierung/Uebungen/Uebung 2 - Personendaten.txt" @@ -0,0 +1,15 @@ +Erstellen Sie ein Programm, welches folgende Ausgabe erzeuegen soll: + +Vorname: Max +Nachname: Mustermann +Alter: 21 + +Vorname, Nachname und Alter soll jeweils durch eine eigenen Anweisung ausgegeben werden. + +Erstellen Sie zusätzlich folgende Ausgabe: + +Vorname: Erika +Nachname: Engel +Alter: 18 + +Diese Ausgabe soll in einer einzigen Anweisung erzeugt werden. \ No newline at end of file diff --git "a/Teil 1/1. Einf\303\274hrung in die Programmierung/Uebungen/Uebungen 1 - Bauernhof.txt" "b/Teil 1/1. Einf\303\274hrung in die Programmierung/Uebungen/Uebungen 1 - Bauernhof.txt" deleted file mode 100644 index c02ec7f..0000000 --- "a/Teil 1/1. Einf\303\274hrung in die Programmierung/Uebungen/Uebungen 1 - Bauernhof.txt" +++ /dev/null @@ -1,15 +0,0 @@ -Dear course participants, - -along with the course, I would like to work with you on -a small program every week. -In this way, you can practice the content you have learned right away. -At the end of the week I will submit my solution to the exercise online. - -Here is the first exercise: - -Farmer Max has a farm with ducks and pigs. He wants to sell them. - -Write a C++ program that welcomes the user to the farm. - -Regards, -Rudi Buss \ No newline at end of file diff --git "a/Teil 1/1. Einf\303\274hrung in die Programmierung/Uebungen/Uebungen 2 - Personendaten.txt" "b/Teil 1/1. Einf\303\274hrung in die Programmierung/Uebungen/Uebungen 2 - Personendaten.txt" deleted file mode 100644 index fc58e36..0000000 --- "a/Teil 1/1. Einf\303\274hrung in die Programmierung/Uebungen/Uebungen 2 - Personendaten.txt" +++ /dev/null @@ -1,16 +0,0 @@ -Write a program that generates the following output: - - -First Name: Max -Last Name: Mustermann -Age: 21 - -First Name, Last Name und Age should each be output by a separate statement. - -In addition, generate the following output: - -First Name: Erika -Last Name: Engel -Age: 18 - -First Name, Last Name and Age should be output in a single statement. \ No newline at end of file diff --git a/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Loesung Uebung 1 - Datentypen.cpp b/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Loesung Uebung 1 - Datentypen.cpp new file mode 100644 index 0000000..24b0f62 --- /dev/null +++ b/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Loesung Uebung 1 - Datentypen.cpp @@ -0,0 +1,22 @@ +#include <iostream> + +using namespace std; + +int main() +{ + + int zahl = 21; + float kommazahl = 3.14; + string zeichenkette = "Hallo Welt"; + char zeichen = 'A'; + bool wahl = true; + + cout << zahl << endl; + cout << kommazahl << endl; + cout << zeichenkette << endl; + cout << zeichen << endl; + cout << wahl << endl; + + return 0; + +}; diff --git a/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Loesung Uebung 2 - Bauernhof.cpp b/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Loesung Uebung 2 - Bauernhof.cpp new file mode 100644 index 0000000..364db82 --- /dev/null +++ b/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Loesung Uebung 2 - Bauernhof.cpp @@ -0,0 +1,24 @@ +#include <iostream> + +using namespace std; + +int main() +{ + + int Gewicht=0; + float Tagespreis=0; + float Einnahme=0; + + cout << "Wie ist das Gewicht? " << endl; + cin >> Gewicht; + cout << "Wie steht der Tagespreis? " << endl; + cin >> Tagespreis; + + Einnahme = Gewicht*Tagespreis; + + cout << "Einnahme: " << Einnahme << endl; + cout << endl << endl; + + return 0; + +} diff --git a/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Loesung Uebung 3 - Temperatur.cpp b/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Loesung Uebung 3 - Temperatur.cpp new file mode 100644 index 0000000..2bab33f --- /dev/null +++ b/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Loesung Uebung 3 - Temperatur.cpp @@ -0,0 +1,22 @@ +#include <iostream> + +using namespace std; + +int main() +{ + + float fahrenheit; + float celsius; + const int wert = 32; + + cout << "Hallo. Bitte Wert eingeben: "; + cin >> fahrenheit; + cout << endl << "Eingabe war: " << fahrenheit; + + celsius = ((fahrenheit - wert) * 5) / 9; + + cout << endl; + cout << "Wert in Celsius: " << celsius; + + return 0; +} diff --git a/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Solution Exercise 1 - Datentypen.cpp b/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Solution Exercise 1 - Datentypen.cpp deleted file mode 100644 index 0c6238d..0000000 --- a/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Solution Exercise 1 - Datentypen.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include <iostream> - -using namespace std; - -int main() -{ - - int number = 21; - float floatingNumber = 3.14; - string AString = "Hello World"; - char ACharacter = 'A'; - bool choice = true; - - cout << number << endl; - cout << floatingNumber << endl; - cout << AString << endl; - cout << ACharacter << endl; - cout << choice << endl; - - return 0; - -}; diff --git a/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Solution Exercise 2 - Bauernhof.cpp b/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Solution Exercise 2 - Bauernhof.cpp deleted file mode 100644 index 72dd616..0000000 --- a/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Solution Exercise 2 - Bauernhof.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include <iostream> - -using namespace std; - -int main() -{ - - int weight=0; - float dailyPrice=0; - float revenue=0; - - cout << "What is the weight? " << endl; - cin >> weight; - cout << "What is the daily price? " << endl; - cin >> dailyPrice; - - revenue = weight*dailyPrice; - - cout << "Revenue: " << revenue << endl; - cout << endl << endl; - - return 0; - -} diff --git a/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Solution Exercise 3 - Temperatur.cpp b/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Solution Exercise 3 - Temperatur.cpp deleted file mode 100644 index 9e593f5..0000000 --- a/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Loesungen/Solution Exercise 3 - Temperatur.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include <iostream> - -using namespace std; - -int main() -{ - - float fahrenheit; - float celsius; - const int value = 32; - - cout << "Hello. Please insert a value (in Fahrenheit): "; - cin >> fahrenheit; - cout << endl << "The input was: " << fahrenheit; - - celsius = ((fahrenheit - value) * 5) / 9; - - cout << endl; - cout << "The temperature in degree Celsius is: " << celsius; - - return 0; -} diff --git a/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebung 1 - Datentypen.txt b/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebung 1 - Datentypen.txt new file mode 100644 index 0000000..40b1555 --- /dev/null +++ b/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebung 1 - Datentypen.txt @@ -0,0 +1,10 @@ +Machen Sie sich mit den einzelnen Datentypen vertraut. +Erstellen Sie für jeden Punkt eine Variable mit dem passenden Datentyp: + +- Ganzzahl +- Dezimalzahl +- Zeichenkette bzw. Text +- Zeichen bzw. Buchstabe +- Wahrheitswert + +Weisen Sie Ihnen einen Wert zu und geben sie anschließend diese Werte auf dem Bildschirm aus. diff --git a/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebung 2 - Bauernhof.txt b/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebung 2 - Bauernhof.txt new file mode 100644 index 0000000..e2f7c94 --- /dev/null +++ b/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebung 2 - Bauernhof.txt @@ -0,0 +1,13 @@ +Bauer Max will ein Schwein verkaufen. +Ergänzen Sie Ihr Programm aus Kapitel 1 "Uebung 1 - Bauernhof" um folgende Variablen: + +- Gewicht +- Tagespreis +- Einnahme + +In der Variablen Gewicht (Ganzzahl) soll das Gewicht des zu verkaufenden Schweins gespeichert werden. +In der Variable Tagespreis (Dezimalzahl) soll der Tagespreis für das Schwein gespeichert werden. +Beide Variablen werden im Dialog vom Nutzer über die Konsole eingegeben. +Die Einnahme errechnet sich dann aus Gewicht * Tagespreis. + +Geben Sie die Höhe der Einnahme auf dem Bildschirm aus. diff --git a/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebung 3 - Temperatur.txt b/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebung 3 - Temperatur.txt new file mode 100644 index 0000000..4808cec --- /dev/null +++ b/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebung 3 - Temperatur.txt @@ -0,0 +1,11 @@ +Wir planen eine Amerikareise. Jedoch sind dort Temperatur, Entfernung und Währung anders als in Deutschland. +Um uns die Planung zu erleichtern, wollen wir ein Programm schreiben, welches uns die Temperatur von Fahrenheit in Celsius umrechnet. +Die Formel für die Umrechnung lautet: Celsius = ((temperatur_fahrenheit - 32)*5)/9 + +Es gilt folgende Anforderungen umzusetzen: + +1. Begrüßung und Eingabe der Temperatur in Fahrenheit +2. Ausgabe der eingegebenen Temperatur in Fahrenheit +3. Umrechnung, wobei die 32 aus der Formel als Konstante deklariert wird und mit dieser Konstanten die Umrechnung erfolgen soll. + 5/9 soll in der Formel stehen bleiben. +4. Ausgabe der Temperatur in Celsius diff --git a/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebungen 1 - Datentypen.txt b/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebungen 1 - Datentypen.txt deleted file mode 100644 index 28489c4..0000000 --- a/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebungen 1 - Datentypen.txt +++ /dev/null @@ -1,10 +0,0 @@ -Get familiar with the different data types. -Create a variable with the corresponding data type for each of the following bullet points: - -- Integer -- Decimal number -- String or text -- Character -- Boolean value - -Assign a value to the variables and then display them on the screen. diff --git a/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebungen 2 - Bauernhof.txt b/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebungen 2 - Bauernhof.txt deleted file mode 100644 index 33a8800..0000000 --- a/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebungen 2 - Bauernhof.txt +++ /dev/null @@ -1,13 +0,0 @@ -Farmer Max wants to sell a pig. -Add the following variables to your program from Chapter 1 "Exercise 1 - Farm": - -¥ weight -¥ dailyPrice -¥ revenue - -The variable weight (integer) should be used to store the weight of the pig. -The variable dailyPrice (decimal number) should be used to store the daily price of the pig. -Both variables are to be entered in a dialog with the user via the console. -The revenue is then calculated from weight * daily price. -Print the revenue on the screen. - diff --git a/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebungen 3 - Temperatur.txt b/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebungen 3 - Temperatur.txt deleted file mode 100644 index 7faf456..0000000 --- a/Teil 1/2. Variablen, Datentypen, Rechenoperatoren, Ein-Ausgabe/Uebungen/Uebungen 3 - Temperatur.txt +++ /dev/null @@ -1,11 +0,0 @@ -We are planning a trip to America. The units for temperature, distance and currency in America are different from the units used in Germany. -In order to facilitate our planning, we want to write a program that converts the temperature from Fahrenheit to Celsius. -The conversion formula is as follows: Celsius = ((temperature_fahrenheit - 32)*5)/9 - -The following requirements have to be met: - -1. Welcome the user, input of temperature in Fahrenheit -2. Output of the entered temperature in Fahrenheit -3. Conversion from Fahrenheit to Celsius. The 32 in the formula is to be declared as a constant, this constant should also be used for the conversion. - 5/9 should remain in the formula. -4. Output of the temperature in Celsius diff --git a/Teil 1/3. Funktionen/Loesungen/Loesung Uebungen 1 - Bauernhof.cpp b/Teil 1/3. Funktionen/Loesungen/Loesung Uebung 1 - Bauernhof.cpp similarity index 100% rename from Teil 1/3. Funktionen/Loesungen/Loesung Uebungen 1 - Bauernhof.cpp rename to Teil 1/3. Funktionen/Loesungen/Loesung Uebung 1 - Bauernhof.cpp diff --git a/Teil 1/3. Funktionen/Loesungen/Loesung Uebungen 2 - Quadrieren und Flaeche.cpp b/Teil 1/3. Funktionen/Loesungen/Loesung Uebung 2 - Quadrieren und Flaeche.cpp similarity index 100% rename from Teil 1/3. Funktionen/Loesungen/Loesung Uebungen 2 - Quadrieren und Flaeche.cpp rename to Teil 1/3. Funktionen/Loesungen/Loesung Uebung 2 - Quadrieren und Flaeche.cpp diff --git a/Teil 1/3. Funktionen/Uebungen/Uebung 1 - Bauernhof.txt b/Teil 1/3. Funktionen/Uebungen/Uebung 1 - Bauernhof.txt new file mode 100644 index 0000000..0d58feb --- /dev/null +++ b/Teil 1/3. Funktionen/Uebungen/Uebung 1 - Bauernhof.txt @@ -0,0 +1,7 @@ +Ergänzen Sie Ihr Bauernhof-Programm aus Kapitel 2 "Uebung 2 - Bauernhof" um folgende zwei Funktionen: + +- Daten_erfassen() -> Für die Eingabe des Gewichts und des Preises +- Einnahme_berechnen() -> Berechnet die Einnahme und gibt diese aus + +Die Variablen können global definiert werden. +Rufen Sie die beiden Funktionen auf. \ No newline at end of file diff --git a/Teil 1/3. Funktionen/Uebungen/Uebung 2 - Quadrieren und Flaeche.txt b/Teil 1/3. Funktionen/Uebungen/Uebung 2 - Quadrieren und Flaeche.txt new file mode 100644 index 0000000..0098423 --- /dev/null +++ b/Teil 1/3. Funktionen/Uebungen/Uebung 2 - Quadrieren und Flaeche.txt @@ -0,0 +1,13 @@ +Es soll folgendes Programm erstellt werden: + +- Ausgabe eines Willkommensbildschirms +- Eingabeaufforderungen und Eingabe einer Dezimalzahl +- Quadrieren der Dezimalzahl (in einer Funktion, Rückgabe ist das Ergebnis + [produkt = zahl * zahl]) und Ausgabe des Ergebnisses in der Main-Funktion +- Eingabeaufforderungen und Eingabe eines Radius +- Berechnung der Kreisfläche (in einer Funktion, keine Rückgabe. + Das Ergebnis der Berechnung [flaeche = radius * radius * konstante_pi]) + soll in dieser Funktion ausgegeben werden.) + Die Variable konstante_pi soll als Konstante deklariert und mit dem Wert + 3.14 initialisiert werden. + Verwenden Sie für die Berechnung [radius * radius] die vorher erstellte Funktion. diff --git a/Teil 1/3. Funktionen/Uebungen/Uebungen 1 - Bauernhof.txt b/Teil 1/3. Funktionen/Uebungen/Uebungen 1 - Bauernhof.txt deleted file mode 100644 index ff11f13..0000000 --- a/Teil 1/3. Funktionen/Uebungen/Uebungen 1 - Bauernhof.txt +++ /dev/null @@ -1,7 +0,0 @@ -Add the following two functions to your farm program from Chapter 2 "Exercise 2 - Farm": - -- Data_query() -> To enter the weight and price. -- Calculate_revenue() -> Calculates and displays the revenue. - -The variables can be defined globally. -Call the two functions. \ No newline at end of file diff --git a/Teil 1/3. Funktionen/Uebungen/Uebungen 2 - Quadrieren und Flaeche.txt b/Teil 1/3. Funktionen/Uebungen/Uebungen 2 - Quadrieren und Flaeche.txt deleted file mode 100644 index ecb3936..0000000 --- a/Teil 1/3. Funktionen/Uebungen/Uebungen 2 - Quadrieren und Flaeche.txt +++ /dev/null @@ -1,13 +0,0 @@ -The following program is to be created: - -- Displaying a welcome screen -- Prompt and entering a decimal number -- Squaring the decimal number (in a function, return is the result - [square = number * number]) and output of the result in the main function -- Prompt and entering a radius -- Calculation of the circular area (in one function, no return value). - The result of the calculation [area = radius * radius * constant_pi]) - is to be output in this function. - The variable constant_pi should be declared as a constant and initialized - with the value 3.14. - Use the previously created function for the calculation [radius * radius]. diff --git a/Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebungen 1 - Einmaleins.cpp b/Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebung 1 - Einmaleins.cpp similarity index 100% rename from Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebungen 1 - Einmaleins.cpp rename to Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebung 1 - Einmaleins.cpp diff --git a/Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebungen 2 - Fahrenheit in Celsius.cpp b/Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebung 2 - Fahrenheit in Celsius.cpp similarity index 100% rename from Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebungen 2 - Fahrenheit in Celsius.cpp rename to Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebung 2 - Fahrenheit in Celsius.cpp diff --git a/Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebungen 3 - Zahlenraten.cpp b/Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebung 3 - Zahlenraten.cpp similarity index 100% rename from Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebungen 3 - Zahlenraten.cpp rename to Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebung 3 - Zahlenraten.cpp diff --git a/Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebungen 4 - Taschenrechner.cpp b/Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebung 4 - Taschenrechner.cpp similarity index 100% rename from Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebungen 4 - Taschenrechner.cpp rename to Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebung 4 - Taschenrechner.cpp diff --git a/Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebungen 5 - Bauernhof.cpp b/Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebung 5 - Bauernhof.cpp similarity index 100% rename from Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebungen 5 - Bauernhof.cpp rename to Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebung 5 - Bauernhof.cpp diff --git a/Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebungen 6 - Continue Anweisung.cpp b/Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebung 6 - Continue Anweisung.cpp similarity index 100% rename from Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebungen 6 - Continue Anweisung.cpp rename to Teil 1/4. Kontrollstrukturen/Loesungen/Loesung Uebung 6 - Continue Anweisung.cpp diff --git a/Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 1 - Einmaleins.txt b/Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 1 - Einmaleins.txt new file mode 100644 index 0000000..b05410f --- /dev/null +++ b/Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 1 - Einmaleins.txt @@ -0,0 +1,24 @@ +Erstellen Sie ein Tableau, welches das kleine "Einmaleins" ausgibt. +Das Tableu soll in der Funktion void printTable() ausgegeben werden. + +Ausgabe: + +1 2 3 4 5 6 7 8 9 10 +2 4 6 8 10 12 14 16 18 20 +3 6 9 12 15 18 21 24 27 30 +4 8 12 16 20 24 28 32 36 40 +5 10 15 20 25 30 35 40 45 50 +6 12 18 24 30 36 42 48 54 60 +7 14 21 28 35 42 49 56 63 70 +8 16 24 32 40 48 56 64 72 80 +9 18 27 36 45 54 63 72 81 90 +10 20 30 40 50 60 70 80 90 100 + + +Tipp: +- Rufen Sie die printTableFor()-Methode in der main()-Methode auf +- Für diese Aufgabe benötigt man eine verschachtelte for-Schleife. +- Den Tabulator erzeugt man mit "\t". + +Realisieren Sie anschließend die gleiche Ausgabe mit einer while +und einer do-while Schleife, welche jeweils in einer neuen Methode aufgerufen wird. \ No newline at end of file diff --git a/Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 2 - Fahrenheit in Celsius.txt b/Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 2 - Fahrenheit in Celsius.txt new file mode 100644 index 0000000..910a8f2 --- /dev/null +++ b/Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 2 - Fahrenheit in Celsius.txt @@ -0,0 +1,32 @@ +Schreiben Sie ein Programm, dass die Berechnung von Fahrenheit nach Celsius ausgibt. +Hierbei soll der Wert von Fahrenheit eingegeben werden können. +Die Eingabe darf nicht negativ sein und soll solange erfolgen, bis ein Wert größer gleich Null eingegeben wurde. + +Legen Sie anschließend eine Schrittweite und einen Maximalwert fest. + +Anhand einer Schleife soll der Wert von Fahrenheit und der dazugehörige Celsiuswert ausgegeben werden. + +Beispiel + +Eingabe: + + Fahrenheit = 50 + Schrittweite = 5 + Maximalwert = 75 + +Ausgabe: + + Fahrenheit: 50 | Celsius: 10 + Fahrenheit: 55 | Celsius: 12.7778 + Fahrenheit: 60 | Celsius: 15.5556 + Fahrenheit: 65 | Celsius: 18.3333 + Fahrenheit: 70 | Celsius: 21.1111 + Fahrenheit: 75 | Celsius: 23.88889 + + +Erstellen Sie nun eine weitere Schleife (verwenden Sie nun aber aber einen anderen Schleifentyp). +Geben Sie den Celsiuswert und noch folgenden Text aus: + +- Wenn es kleiner gleich 10 Grad hat, dann kommt der Text "es ist kalt" +- Wenn es kleiner gleich 20 Grad hat, dann kommt der Text "es ist angenehm" +- Wenn es größer als 20 Grad hat, dann kommt der Text "es wird heiss" \ No newline at end of file diff --git a/Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 3 - Zahlenraten.txt b/Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 3 - Zahlenraten.txt new file mode 100644 index 0000000..264cc46 --- /dev/null +++ b/Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 3 - Zahlenraten.txt @@ -0,0 +1,9 @@ +Programmieren Sie das Spiel "Zahlenraten": Der Computer generiert eine Zufallszahl +zwischen 1 und 100, die der Spieler erraten muss. +Es wird bei jedem Durchgang mitgeteilt, ob die eingegebene Zahl zu groß oder zu klein war. +Sie haben maximal 6 Versuche, die Zahl zu erraten. + +Tipp: Zufallszahlen werden wie folgt generiert: +Ein einmaliger Aufruf srand(time(NULL)) initialisiert den Zufallszahlengenerator. +Anschließend liefert jeder Aufruf von rand()%100 eine Zufallszahl zwischen 0 und 99. +Die Funktionen sind in <ctime> und <cstdlib> deklariert. \ No newline at end of file diff --git a/Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 4 - Taschenrechner.txt b/Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 4 - Taschenrechner.txt new file mode 100644 index 0000000..386f3f1 --- /dev/null +++ b/Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 4 - Taschenrechner.txt @@ -0,0 +1,8 @@ +Programmieren Sie mithilfe der switch-case Anweisung einen Mini-Taschenrechner, der zwei +Zahlen und einen Operator (+, -, *, /) einliest und das Ergebnis ausgibt. +Die Eingabe soll direkt in einer Zeile erfolgen, z.B. 5+4 +Tipp: Sie können bei cin mehrere Variablen verwenden, z.B. cin >> var1 << var2; + +Eine eventuelle Division durch 0 soll abgefangen werden. + +Bei Eingabe eines falschen Operators soll eine Fehlermeldung erscheinen. \ No newline at end of file diff --git a/Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 5 - Bauernhof.txt b/Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 5 - Bauernhof.txt new file mode 100644 index 0000000..c48eac1 --- /dev/null +++ b/Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 5 - Bauernhof.txt @@ -0,0 +1,29 @@ +Ergänzen Sie Ihr Bauernhof-Programm aus Kapitel 3 "Uebung 1 - Bauernhof" um folgendes: + +Erstellen Sie mit Hilfe einer switch-Anweisung ein Benutzermenü, +welches folgende 3 Funktionen aufruft: + +- 1: Tier anlegen () +- 3: Tier anzeigen () +- 2: Tier verkaufen (Tiernummer) +- 0: Programm beenden + +Das Menü soll solange wiedererscheinen, bis der Nutzer die Zahl für "Programm beenden" eingibt (Do-While-Schleife). + +Beim Anlegen sollen folgende Daten gespeichert werden: +- Tierart +- Tiernummer +- Gewicht + +Beim Anzeigen sollen folgende Daten angezeigt werden: +- Tierart +- Tiernummer +- Gewicht +- ob das Tier noch im Bestand ist + +Beim Verkauf soll geprüft werden, ob das Tier noch im Bestand ist und ob die gespeicherte Tiernummer mit der eingegebenen Tiernummer übereinstimmt. +Es soll folgendes funktionieren: +- Eingabe des Tagespreises +- Einnahmen erhöhen sich (Gewicht * Tagespreis) +- Ausgabe der Gesamteinnahmen +- Tier ist anschließend nicht mehr im Bestand \ No newline at end of file diff --git a/Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 6 - Continue Anweisung.txt b/Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 6 - Continue Anweisung.txt new file mode 100644 index 0000000..b663dea --- /dev/null +++ b/Teil 1/4. Kontrollstrukturen/Uebungen/Uebung 6 - Continue Anweisung.txt @@ -0,0 +1,4 @@ +Erstellen Sie eine Schleife, in welcher Sie alle Zahlen von 1 bis 100 ausgeben, welche durch die Zahl 2 teilbar sind. +Verwenden Sie hierfür die continue-Anweisung, um die Zahlen zu überspringen, welche nicht durch die Zahl 2 teilbar sind! + +Nähere Informationen zur continue-Anweisung finden Sie im Glossar des VHB-Kurses oder auf folgender Seite: https://en.cppreference.com/w/cpp/language/continue \ No newline at end of file diff --git a/Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 1 - Einmaleins.txt b/Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 1 - Einmaleins.txt deleted file mode 100644 index c6c064d..0000000 --- a/Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 1 - Einmaleins.txt +++ /dev/null @@ -1,24 +0,0 @@ -Create a tableau that displays the multiplication tables. -Output the tableau with the function void printTable(). - - -Output: - -1 2 3 4 5 6 7 8 9 10 -2 4 6 8 10 12 14 16 18 20 -3 6 9 12 15 18 21 24 27 30 -4 8 12 16 20 24 28 32 36 40 -5 10 15 20 25 30 35 40 45 50 -6 12 18 24 30 36 42 48 54 60 -7 14 21 28 35 42 49 56 63 70 -8 16 24 32 40 48 56 64 72 80 -9 18 27 36 45 54 63 72 81 90 -10 20 30 40 50 60 70 80 90 100 - - -Tip: -- Call the function printTableFor() in the main function. -- This task requires a nested for loop. -- To create the tabulator, use „\t“. - -Then create the same output with a while and a do-while loop, each of which is called with a new function. \ No newline at end of file diff --git a/Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 2 - Fahrenheit in Celsius.txt b/Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 2 - Fahrenheit in Celsius.txt deleted file mode 100644 index bdb7047..0000000 --- a/Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 2 - Fahrenheit in Celsius.txt +++ /dev/null @@ -1,35 +0,0 @@ -Write a program that outputs the conversion from Fahrenheit into Celsius. -The value of Fahrenheit should be entered. -The input cannot be negative and should continue until a value greater than or equal to zero has been entered. - -Then define a step size and a maximum value. - -Use a loop to output the value of Fahrenheit and the corresponding Celsius value. - - -Example - -Input: - - Fahrenheit = 50 - Step size = 5 - Maximum value = 75 - -Output: - - Fahrenheit: 50 | Celsius: 10 - Fahrenheit: 55 | Celsius: 12.7778 - Fahrenheit: 60 | Celsius: 15.5556 - Fahrenheit: 65 | Celsius: 18.3333 - Fahrenheit: 70 | Celsius: 21.1111 - Fahrenheit: 75 | Celsius: 23.88889 - - -Then create another loop (but now use a different loop type). -Output the value in Celsius and the following text: - -- If it is less than or equal to 10 degrees, display the text "it is cold" -- If it is less than or equal to 20 degrees, display the text "it is pleasantly warmÒ -- If it is greater than 20 degrees, display the text ãit is getting hotã - - diff --git a/Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 3 - Zahlenraten.txt b/Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 3 - Zahlenraten.txt deleted file mode 100644 index 459fed3..0000000 --- a/Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 3 - Zahlenraten.txt +++ /dev/null @@ -1,9 +0,0 @@ -Program the game "Guessing Numbers": The computer generates a random number -between 1 and 100 which the player has to guess. -At each pass, the system tells you whether the number entered was too large or too small. -You have 6 tries to guess the number. - -Tip: Random numbers are generated as follows: -A single call of srand(time(NULL)) initializes the random number generator. -Subsequently, each call of rand()%100 returns a random number between 0 and 99. -The functions are declared in <ctime> and <cstdlib>. \ No newline at end of file diff --git a/Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 4 - Taschenrechner.txt b/Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 4 - Taschenrechner.txt deleted file mode 100644 index b508011..0000000 --- a/Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 4 - Taschenrechner.txt +++ /dev/null @@ -1,10 +0,0 @@ - -Use the switch-case statement to program a mini calculator that reads two numbers and an operator (+, -, *, /) and outputs the result. - -The input should be made directly in one line, e. g. 5+4 - -Tip: You can use several variables with cin, e. g. cin >> var1 <<< var2; - -Any division by 0 is to be intercepted. - -If an incorrect operator is entered, an error message should appear. diff --git a/Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 5 - Bauernhof.txt b/Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 5 - Bauernhof.txt deleted file mode 100644 index c6f8778..0000000 --- a/Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 5 - Bauernhof.txt +++ /dev/null @@ -1,11 +0,0 @@ -Do the following changes to your farm program from Chapter 3 "Exercise 2 - Farm": - -Use a switch statement to create a user menu. -The user can type in a number (0, 1 or 2) that calls one of the following functions: - -- 1: Data_query -- 2: Calculate_revenue -- 0: Exit program - -The menu should reappear until the user enters the number 0 to exit the program (do-while loop). -A corresponding message should appear if a wrong input has been made. \ No newline at end of file diff --git a/Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 6 - Continue Anweisung.txt b/Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 6 - Continue Anweisung.txt deleted file mode 100644 index 3f553d2..0000000 --- a/Teil 1/4. Kontrollstrukturen/Uebungen/Uebungen 6 - Continue Anweisung.txt +++ /dev/null @@ -1,4 +0,0 @@ -Create a loop in which you output all numbers from 1 to 100, which are divisible by the number 2. -Use the continue statement to skip the numbers that are not divisible by the number 2! - -You can find more information on the continue statement in the glossary of the VHB course or on the following page: https://en.cppreference.com/w/cpp/language/continue \ No newline at end of file diff --git a/Teil 1/5. Felder/Loesungen/Loesung Uebungen 1 - Bauernhof.cpp b/Teil 1/5. Felder/Loesungen/Loesung Uebung 1 - Bauernhof.cpp similarity index 100% rename from Teil 1/5. Felder/Loesungen/Loesung Uebungen 1 - Bauernhof.cpp rename to Teil 1/5. Felder/Loesungen/Loesung Uebung 1 - Bauernhof.cpp diff --git a/Teil 1/5. Felder/Loesungen/Loesung Uebungen 2 - Fahrenheit in Celsius.cpp b/Teil 1/5. Felder/Loesungen/Loesung Uebung 2 - Fahrenheit in Celsius.cpp similarity index 100% rename from Teil 1/5. Felder/Loesungen/Loesung Uebungen 2 - Fahrenheit in Celsius.cpp rename to Teil 1/5. Felder/Loesungen/Loesung Uebung 2 - Fahrenheit in Celsius.cpp diff --git a/Teil 1/5. Felder/Loesungen/Loesung Uebungen 3 - Sortieren.cpp b/Teil 1/5. Felder/Loesungen/Loesung Uebung 3 - Sortieren.cpp similarity index 100% rename from Teil 1/5. Felder/Loesungen/Loesung Uebungen 3 - Sortieren.cpp rename to Teil 1/5. Felder/Loesungen/Loesung Uebung 3 - Sortieren.cpp diff --git a/Teil 1/5. Felder/Loesungen/Loesung Uebungen 4 - Bubble Sort_1.cpp b/Teil 1/5. Felder/Loesungen/Loesung Uebung 4 - Bubble Sort_1.cpp similarity index 100% rename from Teil 1/5. Felder/Loesungen/Loesung Uebungen 4 - Bubble Sort_1.cpp rename to Teil 1/5. Felder/Loesungen/Loesung Uebung 4 - Bubble Sort_1.cpp diff --git a/Teil 1/5. Felder/Uebungen/Uebung 1 - Bauernhof.txt b/Teil 1/5. Felder/Uebungen/Uebung 1 - Bauernhof.txt new file mode 100644 index 0000000..f651366 --- /dev/null +++ b/Teil 1/5. Felder/Uebungen/Uebung 1 - Bauernhof.txt @@ -0,0 +1,5 @@ +Auf dem Bauernhof können maximal 50 Tiere leben. +Legen Sie ein Feld an, dass 50 Tiernummern aufnehmen kann und +schreiben Sie eine For-Schleife, welches die Nummern 1-50 im Feld ablegt. + +Geben Sie anschließend die eingegeben Nummern und ihre Position im Feld in einer For-Schleife aus. \ No newline at end of file diff --git a/Teil 1/5. Felder/Uebungen/Uebung 2 - Fahrenheit in Celsius.txt b/Teil 1/5. Felder/Uebungen/Uebung 2 - Fahrenheit in Celsius.txt new file mode 100644 index 0000000..ef58fd9 --- /dev/null +++ b/Teil 1/5. Felder/Uebungen/Uebung 2 - Fahrenheit in Celsius.txt @@ -0,0 +1,11 @@ +Verwenden Sie als Vorlage Ihr Programm "Uebung 2 - Fahrenheit in Celsius" aus Kapitel 4 +und ändern Sie es wie folgt ab: + +Sie möchten nun die Celsiuswerte in einem Feld hinterlegen. +Legen Sie ein Feld an, dass 10 Celsiuswerte aufnehmen kann. +Hierbei wird der eingegebene Fahrenheitswerte jeweils in 10er Schritten erhöht. + +Realisieren Sie dies mit einer for-Schleife. + +Geben Sie anschließend die berechneten Celsiuswerte mit dem dazugehörigen Fahrenheitswert +und der Position im Feld in einer while-Schleife aus. \ No newline at end of file diff --git a/Teil 1/5. Felder/Uebungen/Uebung 3 - Sortieren.txt b/Teil 1/5. Felder/Uebungen/Uebung 3 - Sortieren.txt new file mode 100644 index 0000000..a566c5a --- /dev/null +++ b/Teil 1/5. Felder/Uebungen/Uebung 3 - Sortieren.txt @@ -0,0 +1,27 @@ +Folgendes Programm ist gegeben: + +#include <iostream> + +using namespace std; + +int main() +{ + string namen[5]; + cout << "Bitte geben Sie 5 Namen ein:" << endl; + for (int i = 0; i < 5; i++) + { + cout << "Name " << i+1 << ": "; + cin >> namen[i]; + } + + return 0; +} + + +Bitte erweitern Sie das Programm: + +- Deklarieren und definieren Sie die Funktion sortiere mit 2 Übergabeparameter: + Array mit namen und size als integer. Wobei size die Anzahl der Namen repräsentiert. + Diese Funktion hat die Aufgabe, die Namen in alphabetischer Reihenfolge zu sortieren. +- Rufen Sie die Funktion im Programm auf +- Geben Sie die sortierte Liste mit Namen wieder aus. diff --git a/Teil 1/5. Felder/Uebungen/Uebung 4 - Bubble Sort.txt b/Teil 1/5. Felder/Uebungen/Uebung 4 - Bubble Sort.txt new file mode 100644 index 0000000..4a25b21 --- /dev/null +++ b/Teil 1/5. Felder/Uebungen/Uebung 4 - Bubble Sort.txt @@ -0,0 +1,5 @@ +Sortieren Sie ein mit Zufallszahlen belegtes Array beliebiger Größe mit dem +Bubble-Sort Verfahren. +Es soll zuerst die unsortierte Ausgabe erscheinen. +Geben Sie während dem sortieren immer den Zwischenschritt aus. +Zum Schluss soll die sortierte Ausgabe erscheinen. \ No newline at end of file diff --git a/Teil 1/5. Felder/Uebungen/Uebungen 1 - Bauernhof.txt b/Teil 1/5. Felder/Uebungen/Uebungen 1 - Bauernhof.txt deleted file mode 100644 index be427b4..0000000 --- a/Teil 1/5. Felder/Uebungen/Uebungen 1 - Bauernhof.txt +++ /dev/null @@ -1,4 +0,0 @@ -A maximum of 50 animals can live on the farm. -Create an array that can hold 50 animal numbers and write a for loop that stores the numbers 1-50 in the array. - -Output the entered numbers and their position in the array in a for loop. \ No newline at end of file diff --git a/Teil 1/5. Felder/Uebungen/Uebungen 2 - Fahrenheit in Celsius.txt b/Teil 1/5. Felder/Uebungen/Uebungen 2 - Fahrenheit in Celsius.txt deleted file mode 100644 index b07d377..0000000 --- a/Teil 1/5. Felder/Uebungen/Uebungen 2 - Fahrenheit in Celsius.txt +++ /dev/null @@ -1,10 +0,0 @@ -Use your program from ãExercise 2 - Fahrenheit into CelsiusÒ from Chapter 4 and modify it as follows: - -You want to store the celsius values in an array. - -Create an array that can hold 10 Celsius values. -The entered Fahrenheit value is increased in increments of 10. - -Use a for loop to do this. - -Use a while loop to output the calculated Celsius values with the corresponding Fahrenheit values and the index. \ No newline at end of file diff --git a/Teil 1/5. Felder/Uebungen/Uebungen 3 - Sortieren.txt b/Teil 1/5. Felder/Uebungen/Uebungen 3 - Sortieren.txt deleted file mode 100644 index 5cb456d..0000000 --- a/Teil 1/5. Felder/Uebungen/Uebungen 3 - Sortieren.txt +++ /dev/null @@ -1,29 +0,0 @@ -The following is given: - -#include <iostream> -#include <cstdlib> - -using namespace std; - -int main(int argc, char *argv[]) -{ - string names[5]; - cout << ãPlease enter 5 names:Ò << endl; - for (int i = 0; i < 5; i++) - { - cout << "Name " << i+1 << ": "; - cin >> names[i]; - } - -system("PAUSE"); -return 0; -} - - -Please extend the program: - -- Declare and define the function ãsortÒ with 2 data arguments: - Array (with a name, a size, and data type integer). The size of the array represents the number of names. - The goal of this function is to sort the names in an alphabetical order. -- Call the function in the main program. -- Output the sorted list with names. \ No newline at end of file diff --git a/Teil 1/5. Felder/Uebungen/Uebungen 4 - Bubble Sort_1.txt b/Teil 1/5. Felder/Uebungen/Uebungen 4 - Bubble Sort_1.txt deleted file mode 100644 index ec2c5ff..0000000 --- a/Teil 1/5. Felder/Uebungen/Uebungen 4 - Bubble Sort_1.txt +++ /dev/null @@ -1,5 +0,0 @@ -Sort an array of any size holding random numbers using the bubble sort procedure. - -First, output the unsorted numbers. -Output the intermediate steps while sorting. -Finally, the sorted numbers should be output. diff --git a/Teil 1/7. Das Klassenkonzept/Loesungen/Loesung Uebungen 1 - Bauernhof.cpp b/Teil 1/7. Das Klassenkonzept/Loesungen/Loesung Uebung 1 - Bauernhof.cpp similarity index 100% rename from Teil 1/7. Das Klassenkonzept/Loesungen/Loesung Uebungen 1 - Bauernhof.cpp rename to Teil 1/7. Das Klassenkonzept/Loesungen/Loesung Uebung 1 - Bauernhof.cpp diff --git a/Teil 1/7. Das Klassenkonzept/Loesungen/Loesung Uebungen 2 - Tiere.cpp b/Teil 1/7. Das Klassenkonzept/Loesungen/Loesung Uebung 2 - Tiere.cpp similarity index 100% rename from Teil 1/7. Das Klassenkonzept/Loesungen/Loesung Uebungen 2 - Tiere.cpp rename to Teil 1/7. Das Klassenkonzept/Loesungen/Loesung Uebung 2 - Tiere.cpp diff --git a/Teil 1/7. Das Klassenkonzept/Loesungen/Loesung Uebungen 3 - Artikel.cpp b/Teil 1/7. Das Klassenkonzept/Loesungen/Loesung Uebung 3 - Artikel.cpp similarity index 100% rename from Teil 1/7. Das Klassenkonzept/Loesungen/Loesung Uebungen 3 - Artikel.cpp rename to Teil 1/7. Das Klassenkonzept/Loesungen/Loesung Uebung 3 - Artikel.cpp diff --git a/Teil 1/7. Das Klassenkonzept/Loesungen/Loesung Uebungen 4 - Person.cpp b/Teil 1/7. Das Klassenkonzept/Loesungen/Loesung Uebung 4 - Person.cpp similarity index 100% rename from Teil 1/7. Das Klassenkonzept/Loesungen/Loesung Uebungen 4 - Person.cpp rename to Teil 1/7. Das Klassenkonzept/Loesungen/Loesung Uebung 4 - Person.cpp diff --git a/Teil 1/7. Das Klassenkonzept/Uebungen/Uebung 1 - Bauernhof.txt b/Teil 1/7. Das Klassenkonzept/Uebungen/Uebung 1 - Bauernhof.txt new file mode 100644 index 0000000..9833a69 --- /dev/null +++ b/Teil 1/7. Das Klassenkonzept/Uebungen/Uebung 1 - Bauernhof.txt @@ -0,0 +1,35 @@ +Wandeln Sie folgenden Quellcode in ein objektorientiertes Programm um. +Erzeugen Sie in main ein Tierobjekt und rufen Sie für dieses Objekt die Methoden auf. + +#include <iostream> +#include <cstdlib> + +using namespace std; + +float Einnahme=0; // 3 globale Variablenen deklarieren und initialisieren +float Gewicht=0; +float Tagespreis=0; + +void Daten_abfragen() //Deklaration und Definition der Methode Daten_abfragen +{ + cout << "Wie steht der Tagespreis?" << endl; + cin >> Tagespreis; + cout << "Wie ist das Gewicht?" << endl; + cin >> Gewicht; +} + +void Einnahme_berechnen() //Deklaration und Definition der Methode Einnahme_berechnen +{ + Einnahme = Gewicht*Tagespreis; + cout << "Einnahme: " << Einnahme<<endl; +} + +int main() +{ + Daten_abfragen(); //Methodenaufrufe + Einnahme_berechnen(); + + cout << endl << endl; + + return 0; +} diff --git a/Teil 1/7. Das Klassenkonzept/Uebungen/Uebung 2 - Tiere.txt b/Teil 1/7. Das Klassenkonzept/Uebungen/Uebung 2 - Tiere.txt new file mode 100644 index 0000000..42b4007 --- /dev/null +++ b/Teil 1/7. Das Klassenkonzept/Uebungen/Uebung 2 - Tiere.txt @@ -0,0 +1,2 @@ +Legen Sie je 2 Instanzen der Klasse Tier (aus "Uebung 1 - Bauernhof") als Array an. +Belegen Sie jede Instanz mit Daten und geben Sie anschließend die Daten von allen Instanzen auf dem Bildschirm aus. \ No newline at end of file diff --git a/Teil 1/7. Das Klassenkonzept/Uebungen/Uebung 3 - Artikel.txt b/Teil 1/7. Das Klassenkonzept/Uebungen/Uebung 3 - Artikel.txt new file mode 100644 index 0000000..e226952 --- /dev/null +++ b/Teil 1/7. Das Klassenkonzept/Uebungen/Uebung 3 - Artikel.txt @@ -0,0 +1,19 @@ +Erstellen Sie eine Klasse namens Artikel. Diese soll folgende Eigenschaften haben: + +- Bezeichnung +- Preis + +Die Klasse soll folgende Methoden beinhalten: + +- get_Bezeichnung() -> gibt die Artikelbezeichnung zurück +- get_Preis() -> gibt den Artikelpreis zurück +- set_Bezeichnung() -> setzt die Bezeichnung für den Artikel +- set_Preis() -> setzt den Preis für den Artikel +- Daten_erfassen() -> setzt die Bezeichnung und den Preis mit Hilfer der Setter-Methoden +- Daten_ausgeben() -> gibt die Bezeichnung und den Preis für den Artikel aus +- Gesamtpreis_berechnen() -> Es wird eine Stückzahl übergeben. + Der Gesamtpreis (Stückzahl*Preis) wird ermittelt und ausgegeben + +Erstellen Sie im Hauptprogramm ein Objekt vom Typ Artikel. +Erfassen Sie die Daten und geben sie anschließend diese nochmal aus. +Der Benutzer soll anschließend eine Stückzahl eingeben können, wodurch dann der Gesamtpreis ermittelt wird. diff --git a/Teil 1/7. Das Klassenkonzept/Uebungen/Uebung 4 - Person.txt b/Teil 1/7. Das Klassenkonzept/Uebungen/Uebung 4 - Person.txt new file mode 100644 index 0000000..2fe07f3 --- /dev/null +++ b/Teil 1/7. Das Klassenkonzept/Uebungen/Uebung 4 - Person.txt @@ -0,0 +1,7 @@ +Erstellen Sie ein Programm mit einer Klasse namens Person, die einige Daten (Name, +Vorname, Alter) einer Person speichert. Eine Methode namens einlesen in der Klasse +die Attribute befüllen. +Eine Methode in der Klasse namens vergleich soll erstellt werden. +Eine Person ruft diese Methode auf und zusätzlich soll als Übergabeparameter +eine weitere Person vorhanden sein. +Dort soll überprüft und ausgegeben werden, welcher der beiden Personen älter ist. \ No newline at end of file diff --git a/Teil 1/7. Das Klassenkonzept/Uebungen/Uebungen 1 - Bauernhof.txt b/Teil 1/7. Das Klassenkonzept/Uebungen/Uebungen 1 - Bauernhof.txt deleted file mode 100644 index 1dad03c..0000000 --- a/Teil 1/7. Das Klassenkonzept/Uebungen/Uebungen 1 - Bauernhof.txt +++ /dev/null @@ -1,37 +0,0 @@ -Convert the following source code into an object-oriented program -Create an animal object in main program and call the member functions for this object. - - -#include <iostream> -#include <cstdlib> - -using namespace std; - -float Revenue=0; // Declare and initialize 3 global variables -float Weight=0; -float DailyPrice=0; - -void Request_data() //Declaration and definition of the member function Request_data -{ - cout << ãHow is the daily price?Ò<< endl; - cin >> DailyPrice; - cout << ãWhat is the weight of the animal? " << endl; - cin >> Weight; -} - -void Calculate_revenue() //Declaration and definition of the member function Calculate_revenue -{ - Revenue = Weight* DailyPrice; - cout << "Revenue: " << Einnahme <<endl; -} - -int main() -{ - Request_data(); //Calling functions - Calculate_revenue(); - - cout << endl << endl; - - system("PAUSE"); - return 0; -} diff --git a/Teil 1/7. Das Klassenkonzept/Uebungen/Uebungen 2 - Tiere.txt b/Teil 1/7. Das Klassenkonzept/Uebungen/Uebungen 2 - Tiere.txt deleted file mode 100644 index af4df93..0000000 --- a/Teil 1/7. Das Klassenkonzept/Uebungen/Uebungen 2 - Tiere.txt +++ /dev/null @@ -1,2 +0,0 @@ -Create two instances each of the class Animal (from "Exercise 1 - Farm") as an array. -Assign data to each instance and then output the data of all instances on the screen. \ No newline at end of file diff --git a/Teil 1/7. Das Klassenkonzept/Uebungen/Uebungen 3 - Artikel.txt b/Teil 1/7. Das Klassenkonzept/Uebungen/Uebungen 3 - Artikel.txt deleted file mode 100644 index cea8151..0000000 --- a/Teil 1/7. Das Klassenkonzept/Uebungen/Uebungen 3 - Artikel.txt +++ /dev/null @@ -1,19 +0,0 @@ -Create a class called Article. The class should have the following characteristics: - -- Name -- Price - -The class should contain the following member functions: - -- get_ Name() -> returns the name of the article -- get_ Price() -> returns the price of the article -- set_ Name() -> sets the name of the article -- set_ Price() -> sets the price of the article -- Enter_data() -> set the name and price of the article using setter functions -- Show_data() -> returns the name and the price of the article -- Calculate_TotalPrice() -> A quantity is passed to the function - The total price (Quantity*Price) is calculated. - -Create an object of type Article in the main program. -Enter the data and then output it again. -The user should then be able to enter a quantity, which will determine the total price. diff --git a/Teil 1/7. Das Klassenkonzept/Uebungen/Uebungen 4 - Person.txt b/Teil 1/7. Das Klassenkonzept/Uebungen/Uebungen 4 - Person.txt deleted file mode 100644 index 92f7580..0000000 --- a/Teil 1/7. Das Klassenkonzept/Uebungen/Uebungen 4 - Person.txt +++ /dev/null @@ -1,4 +0,0 @@ -Create a program with a class named Person that saves some data (last name, first name, age) of a person. A member function called ãInsertÒ adds data to the data members of the class. -A member function called ãCompareÒ should also be created in the class. -A person calls this member function and an additional person should exist as a transfer parameter. -This member function is used to check and display which of the two persons is older. \ No newline at end of file diff --git "a/Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Loesungen/Loesung Uebungen 1 - Bauernhof.cpp" "b/Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Loesungen/Loesung Uebung 1 - Bauernhof.cpp" similarity index 100% rename from "Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Loesungen/Loesung Uebungen 1 - Bauernhof.cpp" rename to "Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Loesungen/Loesung Uebung 1 - Bauernhof.cpp" diff --git "a/Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Loesungen/Loesung Uebungen 2 - Auto.cpp" "b/Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Loesungen/Loesung Uebung 2 - Auto.cpp" similarity index 100% rename from "Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Loesungen/Loesung Uebungen 2 - Auto.cpp" rename to "Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Loesungen/Loesung Uebung 2 - Auto.cpp" diff --git "a/Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Uebungen/Uebung 1 - Bauernhof.txt" "b/Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Uebungen/Uebung 1 - Bauernhof.txt" new file mode 100644 index 0000000..d0c0c60 --- /dev/null +++ "b/Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Uebungen/Uebung 1 - Bauernhof.txt" @@ -0,0 +1,8 @@ +Verwenden Sie als Vorlage Ihr Programm "Uebung 1 - Bauernhof" aus Kapitel 7 +und ändern Sie es wie folgt ab: + +Verwenden Sie zur Initialisierung der Instanzen einen Konstruktor mit Elementinitialisierungsliste +und einen Standardkonstruktor, welcher die Daten abfragt. + +Erstellen Sie dann in der main-Funktion zwei Objekte. Verwenden Sie hier die beiden Konstruktoren. +Rufen Sie anschließend die Methode Einnahme_berechnen auf. diff --git "a/Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Uebungen/Uebung 2 - Auto.txt" "b/Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Uebungen/Uebung 2 - Auto.txt" new file mode 100644 index 0000000..eae1dc3 --- /dev/null +++ "b/Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Uebungen/Uebung 2 - Auto.txt" @@ -0,0 +1,19 @@ +Erstellen Sie eine Klasse Auto, welche folgende Eigenschaften und Methoden hat: + +Eigenschaften: + +- Marke +- Kilometerstand + +Methode: + +- fahren() -> Hat als Übergabeparameter eine Ganzzahl, welche den Kilometerstand erhöht + +Verwenden Sie zur Initialisierung der Instanzen einen Konstruktor mit Elementinitialisierungsliste, welche die zwei Attribute annimmt. + +Zusätzlich soll eine Klassenvariable deklariert werden, welche sich merkt, wie oft man gefahren ist. + +Es sollen drei Fahrten erfolgen. Nach jeder Fahrt sollen die Daten ausgegeben werden. + +Zuletzt soll ein Destruktor erstellt werden, welcher zum Schluss des Programms aufegrufen wird und ausgibt, +dass das Objekt entfernt wurde. diff --git "a/Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Uebungen/Uebungen 1 - Bauernhof.txt" "b/Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Uebungen/Uebungen 1 - Bauernhof.txt" deleted file mode 100644 index 4e17d6b..0000000 --- "a/Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Uebungen/Uebungen 1 - Bauernhof.txt" +++ /dev/null @@ -1,8 +0,0 @@ - - -Use your program from Chapter 7 "Exercise 1 - Farm" as template and modify it as follows: - -To initialize the instances, use a constructor with a member initialization list and a standard constructor that queries the data. - - -Create two objects in the main program using the two constructors. Then call the function Calculate_revenue. diff --git "a/Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Uebungen/Uebungen 2 - Auto.txt" "b/Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Uebungen/Uebungen 2 - Auto.txt" deleted file mode 100644 index 6915b9f..0000000 --- "a/Teil 1/8. Konstruktoren, Elementinitialisierung, \303\234berladen, Destruktor, Klassenvariablen/Uebungen/Uebungen 2 - Auto.txt" +++ /dev/null @@ -1,21 +0,0 @@ -Create a class named Car that has the following properties and member functions: - - -Properties: - -- brand -- mileage - -Member function: - -- drive() -> Has an integer as parameter, which increases the mileage. - - -To initialize the instances, use a constructor with a member initialization list that takes the two data members. - -In addition, you want to declare a class variable that remembers how often you have been driving. - -There will be three car rides. The data should be output after each ride. - -Finally, a destructor is to be created, that is called at the end of the program and displays, -that the object has been removed. \ No newline at end of file diff --git a/Teil 1/9. Vererbung/Loesungen/Loesung Uebungen 1 - Tier.cpp b/Teil 1/9. Vererbung/Loesungen/Loesung Uebung 1 - Tier.cpp similarity index 100% rename from Teil 1/9. Vererbung/Loesungen/Loesung Uebungen 1 - Tier.cpp rename to Teil 1/9. Vererbung/Loesungen/Loesung Uebung 1 - Tier.cpp diff --git a/Teil 1/9. Vererbung/Loesungen/Loesung Uebungen 2 - KFZ.cpp b/Teil 1/9. Vererbung/Loesungen/Loesung Uebung 2 - KFZ.cpp similarity index 100% rename from Teil 1/9. Vererbung/Loesungen/Loesung Uebungen 2 - KFZ.cpp rename to Teil 1/9. Vererbung/Loesungen/Loesung Uebung 2 - KFZ.cpp diff --git a/Teil 1/9. Vererbung/Uebungen/Uebung 1 - Tier.txt b/Teil 1/9. Vererbung/Uebungen/Uebung 1 - Tier.txt new file mode 100644 index 0000000..bbeb358 --- /dev/null +++ b/Teil 1/9. Vererbung/Uebungen/Uebung 1 - Tier.txt @@ -0,0 +1,38 @@ +Gegeben ist folgendes Programm: + +#include <iostream> + +using namespace std; + +class Tier +{ +public: + float Anzahl; + float Gewicht; + + void datenausgeben() + { + cout << "Es sind " << Anzahl << " Tiere mit je " << Gewicht << " kg vorhanden"<<endl; + } +}; + +int main() +{ + Tier Schwein; + Schwein.Anzahl=50; + Schwein.Gewicht=20; + Schwein.datenausgeben(); + + return 0; +}; + +Ändern Sie das Programm wie folgt ab: + +Im Programm soll es nun 3 Klassen geben: + +- Die Oberklasse "Tier" (hier soll nur noch die Anzahl der Tiere verwaltet werden) +- Die Unterklasse "Schlachtvieh" (mit dem Attribut Gewicht) +- Die Unterklasse "Milchvieh" (mit dem Attribut Milchleistung) + +Verwenden Sie einen Konstruktor mit Elementinitialisierungsliste, welche die Attribute befüllt. +Erzeugen Sie je eine Instanz der Klasse Schlachtvieh und Milchvieh und geben Sie die Daten auf dem Bildschirm aus. diff --git a/Teil 1/9. Vererbung/Uebungen/Uebung 2 - KFZ.txt b/Teil 1/9. Vererbung/Uebungen/Uebung 2 - KFZ.txt new file mode 100644 index 0000000..00c4191 --- /dev/null +++ b/Teil 1/9. Vererbung/Uebungen/Uebung 2 - KFZ.txt @@ -0,0 +1,38 @@ +Erstellen Sie eine Klasse KFZ mit den Attributen + +- Marke + +Erstellen Sie die beiden abgeleitete Klassen Auto und LKW. Diese erben die Attribute von KFZ. + + +Auto hat folgende Eigenschaften: + +Attribut: +- Anzahl_Passagiere + +Konstruktor: +- Standardkonstruktor -> Erfasst die Daten der Basis-/abgeleiteten Klasse + +Methode: +- Ausgabe() -> Gibt alle Daten aus +- Einsteigen() -> Erhöht die Anzahl der Passagiere + +LKW hat folgende Eigenschaften: + +Attribut: +- Tonnen + +Konstruktor: +- Standardkonstruktor -> Erfasst die Daten der Basis-/abgeleiteten Klasse + +Methode: +- Ausgabe() -> Gibt alle Daten aus +- Beladen() -> Einene Übergabeparameter, erhöht die Tonnen + + +Erstellen Sie in der Main-Funktion 2 Felder. +Das erste Feld kann 3 Autos aufnehmen, das zweite Feld kann 2 LKWs aufnehmen. +Erstellen Sie jeweils 3 Instanzen der beiden Felder. +Rufen Sie Aanschließend die Methode einsteigen und beladen aller Instanzen auf, +wobei die Eingabe der dafür nötigen Daten in der Main-Funktion abgefragt werden. +Geben Sie zum Schluss nochmal alle Daten aus. \ No newline at end of file diff --git a/Teil 1/9. Vererbung/Uebungen/Uebungen 1 - Tier.txt b/Teil 1/9. Vererbung/Uebungen/Uebungen 1 - Tier.txt deleted file mode 100644 index c826c9d..0000000 --- a/Teil 1/9. Vererbung/Uebungen/Uebungen 1 - Tier.txt +++ /dev/null @@ -1,41 +0,0 @@ -Given is the following program: - -#include <iostream> -#include <cstdlib> - -using namespace std; - -class Animal -{ -public: - float Number; - float Weight; - - void displaydata() - { - cout <<"There are "<<Number << " animals with " <<Weight <<" kg each availableÒ<<endl; - } -}; - -int main() -{ - Animal Pig; - Pig.Number=50; - Pig.Weight=20; - Pig.displaydata(); - - system("PAUSE"); - return 0; -}; - - -Modify the program as follows: - -There should be 3 classes in the program: - -- The base class Animals (here only the number of animals is to be administered) -- The subclass SlaughterCattle (with the data member weight) -- The subclass DairyCattle (with the data member milkyield) - -Use a constructor with a member initialization list that attaches values to the data members. -Create an instance of the class SlaughterCattle and DairyCattle and display the data on the screen. diff --git a/Teil 1/9. Vererbung/Uebungen/Uebungen 2 - KFZ.txt b/Teil 1/9. Vererbung/Uebungen/Uebungen 2 - KFZ.txt deleted file mode 100644 index 7056f80..0000000 --- a/Teil 1/9. Vererbung/Uebungen/Uebungen 2 - KFZ.txt +++ /dev/null @@ -1,41 +0,0 @@ -Create a class Vehicle with the following data members - - -- brand - - -Create the derived classes Car and Truck. Both of them inherit the data members of Vehicle. - -Class Car has the following properties: - -Data member: -- Number_Passengers - -Constructor: -- Default constructor -> Records the data of the base/derived class - -Member function: -- Display() -> Outputs all the data -- Boarding() -> Increases the number of passengers - -Class Truck has the following properties: - -Data member: -- Tonnes - -Constructor: -- Default constructor -> Records the data of the base/derived class - -Member function: -- Display() -> Outputs all the data -- Loading() -> Increases the weight - - -Create two arrays in the main program. -The first array can hold 3 cars, the second array can hold 2 trucks. -Create 3 instances of each of the two arrays. -Then call the functions boarding and loading of all instances, whereby the input of the required data is queried in the main function. -Finally, output all data again. - - - diff --git a/Teil 2/0. Repetition Inheritance/Uebungen/Uebung 1 - Fahrzeug.txt b/Teil 2/0. Repetition Inheritance/Uebungen/Uebung 1 - Fahrzeug.txt new file mode 100644 index 0000000..9400de0 --- /dev/null +++ b/Teil 2/0. Repetition Inheritance/Uebungen/Uebung 1 - Fahrzeug.txt @@ -0,0 +1,36 @@ +Gegeben ist folgendes Programm: + +#include <iostream> +using namespace std; + +class Fahrzeug +{ +private: +string marke; +string kennzeichen; +int ps; +int baujahr; + +public: +void datenausgeben(){ +cout << "Marke: " << marke << endl; +cout << "Kennzeichen: " << kennzeichen << endl; +cout << "Anzahl PS: " << ps << endl; +cout << "Baujahr: " << baujahr << endl; +} +}; + +int main(){ + + return 0; +}; + +Ändern und erweitern Sie das Programm wie folgt ab: + +- Erweitern Sie die Klasse Fahrzeug um einen Standardkonstruktor und Konstruktor mit Elementinitialisierungsliste +- Legen Sie 2 Instanzen der Klasse Fahrzeug (unter Benutzung des Konstruktors mit Elementinitialisierungsliste) an und geben Sie die Daten auf dem Bildschirm aus. +- Das Programm soll 3 Klassen haben: Die Basisklasse Fahrzeug mit bereits vorhandenen Attributen, und 2 abgeleitete Klassen von der Basisklasse Fahrzeug: die Klasse PKW mit einem Attribut maxGeschwindigkeit vom Datentyp float, und die Klasse LKW mit 2 Attributen: maxLadung (float) und anzahlRaeder (int). +- Für je neu angelegte Klasse definieren Sie sowohl den Standard- als auch Konstruktor mit Elementinitialisierungsliste, sowie eine datenausgeben() Methode. +- Legen Sie je eine Insatanz der Klasse PKW und LKW und geben Sie die Daten auf dem Bildschirm aus. + +Tipp: entwickeln Sie das Programm Schritt für Schritt. Nach jedem Zwischenschritt Programm kompilieren und das erwünschte Ergebnis überprüfen. \ No newline at end of file diff --git a/Teil 2/0. Repetition Inheritance/Uebungen/Uebungen 1 - Fahrzeug.txt b/Teil 2/0. Repetition Inheritance/Uebungen/Uebungen 1 - Fahrzeug.txt deleted file mode 100644 index d4e2345..0000000 --- a/Teil 2/0. Repetition Inheritance/Uebungen/Uebungen 1 - Fahrzeug.txt +++ /dev/null @@ -1,47 +0,0 @@ -Dear course participants, - -Along with the course, I would like to work with you on a small program every week. In this way, you can practice the content you have learned right away. At the end of the week I will submit my solution to the exercise online. You can also comment on my solution or post your solution in the forum. - -Here is the first task to repeat the content of the first part of the course: - -Given is the following program: - -#include "cstdlib" -#include "iostream" -using namespace std; - -class Vehicle -{ -private: -string brand; -string licencePlate; -int ps; -int constructionYear; - -public: -void displayData(){ -cout << "Brand: " << brand << endl; -cout << ãLicence Plate: " << licencePlate << endl; -cout << "PS: " << ps << endl; -cout << ãConstruction Year: " << constructionYear << endl; -} -}; - -int main(){ - -system("pause"); -return 0; -}; - - -Modify and extend the program as follows: - -- Add a default constructor and constructor with a member initialization list to the class Vehicle. -- Create 2 instances of the class Vehicle (using the constructor with the member initialization list) and display the data on the screen. -- The program should have 3 classes: The program should have 3 classes: The base class Vehicle with already existing attributes, and 2 derived classes from the base class Vehicle: the class Car with an attribute maxSpeed of the data type float, and the class Truck with 2 attributes: maxLoad (float) and numberWheels (int). -- For each new created class, define both the default constructor and the constructor with a member initialization list, as well as a member function to output the data displaydata(). -- Create an instance of class Car and Truck and display the data on the screen. -Hint: Develop the program step by step. Compile the program after each intermediate step and check the desired result. - -Regards, -Barbara Handy \ No newline at end of file diff --git a/Teil 2/1. File processing, error handling/Loesungen/Loesung Uebungen 1 - Read text file.cpp b/Teil 2/1. File processing, error handling/Loesungen/Loesung Uebung 1 - Textdatei lesen.cpp similarity index 100% rename from Teil 2/1. File processing, error handling/Loesungen/Loesung Uebungen 1 - Read text file.cpp rename to Teil 2/1. File processing, error handling/Loesungen/Loesung Uebung 1 - Textdatei lesen.cpp diff --git a/Teil 2/1. File processing, error handling/Loesungen/Loesung Uebungen 2 - Determine letters.cpp b/Teil 2/1. File processing, error handling/Loesungen/Loesung Uebung 2 - Buchstaben ermitteln.cpp similarity index 100% rename from Teil 2/1. File processing, error handling/Loesungen/Loesung Uebungen 2 - Determine letters.cpp rename to Teil 2/1. File processing, error handling/Loesungen/Loesung Uebung 2 - Buchstaben ermitteln.cpp diff --git a/Teil 2/1. File processing, error handling/Loesungen/Loesung Uebungen 3 - Remove blanks.cpp b/Teil 2/1. File processing, error handling/Loesungen/Loesung Uebung 3 - Leerzeichen entfernen.cpp similarity index 100% rename from Teil 2/1. File processing, error handling/Loesungen/Loesung Uebungen 3 - Remove blanks.cpp rename to Teil 2/1. File processing, error handling/Loesungen/Loesung Uebung 3 - Leerzeichen entfernen.cpp diff --git a/Teil 2/1. File processing, error handling/Loesungen/Loesung Uebungen 4 - Person file.cpp b/Teil 2/1. File processing, error handling/Loesungen/Loesung Uebung 4 - Personendatei.cpp similarity index 100% rename from Teil 2/1. File processing, error handling/Loesungen/Loesung Uebungen 4 - Person file.cpp rename to Teil 2/1. File processing, error handling/Loesungen/Loesung Uebung 4 - Personendatei.cpp diff --git a/Teil 2/1. File processing, error handling/Loesungen/Loesung Uebungen 5 - Volume.cpp b/Teil 2/1. File processing, error handling/Loesungen/Loesung Uebung 5 - Volumen.cpp similarity index 100% rename from Teil 2/1. File processing, error handling/Loesungen/Loesung Uebungen 5 - Volume.cpp rename to Teil 2/1. File processing, error handling/Loesungen/Loesung Uebung 5 - Volumen.cpp diff --git a/Teil 2/1. File processing, error handling/Loesungen/Loesung Uebungen 6 - Divide.cpp b/Teil 2/1. File processing, error handling/Loesungen/Loesung Uebung 6 - Dividieren.cpp similarity index 100% rename from Teil 2/1. File processing, error handling/Loesungen/Loesung Uebungen 6 - Divide.cpp rename to Teil 2/1. File processing, error handling/Loesungen/Loesung Uebung 6 - Dividieren.cpp diff --git a/Teil 2/1. File processing, error handling/Uebungen/Uebung 1 - Textdatei lesen.txt b/Teil 2/1. File processing, error handling/Uebungen/Uebung 1 - Textdatei lesen.txt new file mode 100644 index 0000000..481ec2b --- /dev/null +++ b/Teil 2/1. File processing, error handling/Uebungen/Uebung 1 - Textdatei lesen.txt @@ -0,0 +1,4 @@ +Erstellen Sie eine Textdatei mit beliebigem Inhalt. +Lesen Sie anschließend den Inhalt der Datei aus und geben Sie in der Konsole +die einzelnen Zeilen aus. +Geben Sie zusätzlich zu jeder Ausgabe die Zeilennummer mit an. \ No newline at end of file diff --git a/Teil 2/1. File processing, error handling/Uebungen/Uebung 2 - Buchstaben ermitteln.txt b/Teil 2/1. File processing, error handling/Uebungen/Uebung 2 - Buchstaben ermitteln.txt new file mode 100644 index 0000000..5b18b84 --- /dev/null +++ b/Teil 2/1. File processing, error handling/Uebungen/Uebung 2 - Buchstaben ermitteln.txt @@ -0,0 +1,3 @@ +Schreiben Sie ein Programm, das einen Text aus einer Datei einliest. +Anschließend soll der Benutzer einen Buchstaben eingeben können. Das Programm soll ermitteln, +wie oft der Buchstabe im Text vorkommt. diff --git a/Teil 2/1. File processing, error handling/Uebungen/Uebung 3 - Leerzeichen entfernen.txt b/Teil 2/1. File processing, error handling/Uebungen/Uebung 3 - Leerzeichen entfernen.txt new file mode 100644 index 0000000..92ad837 --- /dev/null +++ b/Teil 2/1. File processing, error handling/Uebungen/Uebung 3 - Leerzeichen entfernen.txt @@ -0,0 +1,3 @@ +Schreiben Sie ein Programm, das aus einem Text in einer Datei alle mehrfach vorkommenden +Leerzeichen entfernt und den Text auf dem Bildschirm ausgibt. +Die neue Ausgabe soll nun in einer extra Datei gespeichert werden. \ No newline at end of file diff --git a/Teil 2/1. File processing, error handling/Uebungen/Uebung 4 - Personendatei.txt b/Teil 2/1. File processing, error handling/Uebungen/Uebung 4 - Personendatei.txt new file mode 100644 index 0000000..49c93d0 --- /dev/null +++ b/Teil 2/1. File processing, error handling/Uebungen/Uebung 4 - Personendatei.txt @@ -0,0 +1,12 @@ +Eine Personendatei enthält folgende vier Datensätze + +Persnr Name Stunden Std.lohn +100 Meier 152 9.20 +102 Kunze 165 11.05 +108 Weber 190 15.50 +111 Berger 80 14.20 + +Definieren Sie eine dazu passende Klasse und lesen Sie diese vier Datensätze in ein Array ein. + +Anschließend sollen die Datensätze formatiert ausgegeben werden, wobei in der 5. Spalte der +Bruttolohn (Stunden * Std.lohn) ausgewiesen werden soll. \ No newline at end of file diff --git a/Teil 2/1. File processing, error handling/Uebungen/Uebung 5 - Volumen.txt b/Teil 2/1. File processing, error handling/Uebungen/Uebung 5 - Volumen.txt new file mode 100644 index 0000000..07cd167 --- /dev/null +++ b/Teil 2/1. File processing, error handling/Uebungen/Uebung 5 - Volumen.txt @@ -0,0 +1,4 @@ +Berechnen Sie das Volumen eines Quaders in einer Funktionen. +Sollte einer der eingegebenen Werte negativ oder Null sein, +dann soll eine Fehlermeldung mit throw geworfen werden. +Sind die Werte korrekt, dann wird das Ergebnis ausgegeben. \ No newline at end of file diff --git a/Teil 2/1. File processing, error handling/Uebungen/Uebung 6 - Dividieren.txt b/Teil 2/1. File processing, error handling/Uebungen/Uebung 6 - Dividieren.txt new file mode 100644 index 0000000..999d72c --- /dev/null +++ b/Teil 2/1. File processing, error handling/Uebungen/Uebung 6 - Dividieren.txt @@ -0,0 +1,15 @@ +Schreiben Sie ein Programm, wo der Benutzer solange einen Dividend und einen Divisor eingeben kann, +bis er bei einer Abfrage (Ja/Nein) eingibt, dass er keine Berechnung mehr durchführen will. +Bei jedem Schleifendurchlauf soll die Division stattfinden. Sollte der Divisor 0 sein, +tritt eine Fehlermeldung auf. +Außerdem soll jedes (gültige) Ergebnis mit Berechnung in eine Datei abgespeichert werden. + +Beispiel Inhalt der Datei: + +10/5=2 +40/10=4 + +Wenn das Programm neu gestartet wird, werden die neuen Berechnungen in der Datei hinten angefügt. +Sollte die Datei schreibgeschützt sein, wird eine Fehlermeldung geworfen. + +Beim Verlassen des Programms soll nochmal der Inhalt der Datei erscheinen. \ No newline at end of file diff --git a/Teil 2/1. File processing, error handling/Uebungen/Uebungen 1 - Read text file.txt b/Teil 2/1. File processing, error handling/Uebungen/Uebungen 1 - Read text file.txt deleted file mode 100644 index dec5c3b..0000000 --- a/Teil 2/1. File processing, error handling/Uebungen/Uebungen 1 - Read text file.txt +++ /dev/null @@ -1,4 +0,0 @@ - -Create a text file with any content. -Then read the content of the file and display the single lines in the console. -Enter the line number for each line. \ No newline at end of file diff --git a/Teil 2/1. File processing, error handling/Uebungen/Uebungen 2 - Determine letters.txt b/Teil 2/1. File processing, error handling/Uebungen/Uebungen 2 - Determine letters.txt deleted file mode 100644 index 8adbb69..0000000 --- a/Teil 2/1. File processing, error handling/Uebungen/Uebungen 2 - Determine letters.txt +++ /dev/null @@ -1,4 +0,0 @@ - -Write a program that reads text from a file. -The user should then be able to enter a letter. The program should determine how often the letter appears within the text. - \ No newline at end of file diff --git a/Teil 2/1. File processing, error handling/Uebungen/Uebungen 3 - Remove blanks.txt b/Teil 2/1. File processing, error handling/Uebungen/Uebungen 3 - Remove blanks.txt deleted file mode 100644 index 2f2b5db..0000000 --- a/Teil 2/1. File processing, error handling/Uebungen/Uebungen 3 - Remove blanks.txt +++ /dev/null @@ -1,3 +0,0 @@ -Write a program that replaces all multiple blanks by a single blank from a text in a file and displays the text on the screen. -The new output should then be saved in an separate file. - diff --git a/Teil 2/1. File processing, error handling/Uebungen/Uebungen 4 - Person file.txt b/Teil 2/1. File processing, error handling/Uebungen/Uebungen 4 - Person file.txt deleted file mode 100644 index c87f25b..0000000 --- a/Teil 2/1. File processing, error handling/Uebungen/Uebungen 4 - Person file.txt +++ /dev/null @@ -1,14 +0,0 @@ -A person file contains the four following datasets: - - -Persno Name Hours HourlyWage -100 Meier 152 9.20 -102 Kunze 165 11.05 -108 Weber 190 15.50 -111 Berger 80 14.20 - -Define a appropriate class. Create a txt file, which contains the above data set and read it. -Save these four data sets in an array. - -The data records are then to be displayed formatted, whereby in the 5th column the -GrossWage (Hours * HourlyWage) is to be displayed. \ No newline at end of file diff --git a/Teil 2/1. File processing, error handling/Uebungen/Uebungen 5 - Volume.txt b/Teil 2/1. File processing, error handling/Uebungen/Uebungen 5 - Volume.txt deleted file mode 100644 index d83ef0c..0000000 --- a/Teil 2/1. File processing, error handling/Uebungen/Uebungen 5 - Volume.txt +++ /dev/null @@ -1,5 +0,0 @@ - -Calculate the volume of a cuboid within a function. -If one of the values entered is negative or zero, - an error message should be thrown. -If the values are correct, the result is to be displayed on the screen. \ No newline at end of file diff --git a/Teil 2/1. File processing, error handling/Uebungen/Uebungen 6 - Divide.txt b/Teil 2/1. File processing, error handling/Uebungen/Uebungen 6 - Divide.txt deleted file mode 100644 index 4b76d12..0000000 --- a/Teil 2/1. File processing, error handling/Uebungen/Uebungen 6 - Divide.txt +++ /dev/null @@ -1,17 +0,0 @@ - -Write a program where the user can enter a dividend and a divisor, until the he/she enters (Yes/No) that he/she no longer wants to perform a calculation. - -The division is to be carried out at each loop pass. If the divisor is 0, an error message occurs. - -In addition, each (valid) result should be saved to a file, including the calculation. - -Example content of the file: - -10/5=2 -40/10=4 - -When the program is restarted, the new calculations are added to the end of the file. - -If the file is write-protected, an error message is thrown. - -When exiting the program, the contents of the file should be displayed again. \ No newline at end of file diff --git a/Teil 2/2. Pointers/Uebungen/Uebung 1 - PKW und LKW.txt b/Teil 2/2. Pointers/Uebungen/Uebung 1 - PKW und LKW.txt new file mode 100644 index 0000000..46980b5 --- /dev/null +++ b/Teil 2/2. Pointers/Uebungen/Uebung 1 - PKW und LKW.txt @@ -0,0 +1,11 @@ +Machen Sie sich mit Referenzen und Zeiger vertraut. Schauen Sie sich die Beispielprogramme im Skript an. Testen Sie diese. + +Legen Sie je eine Instanz der Klasse PKW und LKW als Zeiger an (aus Übung 1, Kapitel: Wiederholung aus Kursteil 1: Vererbung). + +Verwenden Sie + +a) Zeiger + +b) Referenzen + +Geben Sie anschließend die Daten auf dem Bildschirm aus. \ No newline at end of file diff --git a/Teil 2/2. Pointers/Uebungen/Uebung 2 - Vertauschen.txt b/Teil 2/2. Pointers/Uebungen/Uebung 2 - Vertauschen.txt new file mode 100644 index 0000000..de36917 --- /dev/null +++ b/Teil 2/2. Pointers/Uebungen/Uebung 2 - Vertauschen.txt @@ -0,0 +1,6 @@ +Schreiben Sie eine Funktion "swap", die die Werte von zwei eingegebenen Integern-Zahlen vertauscht. + +Die Zahlen sollen als Referenz übergeben werden (die geänderten Werte in der Funktion werden +somit auch in main abgeändert). + +Schreiben Sie eine einfache main-Funktion dazu, die swap testet. \ No newline at end of file diff --git a/Teil 2/2. Pointers/Uebungen/Uebung 3 - Array.txt b/Teil 2/2. Pointers/Uebungen/Uebung 3 - Array.txt new file mode 100644 index 0000000..b0d6a75 --- /dev/null +++ b/Teil 2/2. Pointers/Uebungen/Uebung 3 - Array.txt @@ -0,0 +1,12 @@ +Gegeben ist folgendes Array: + +int numbers[] = {10,20,30}; + +Übergeben Sie den Anfang und das Ende vom Array als Pointer einer Funktion. +Erhöhen Sie dort solange jeden Wert um 1, bis das Ende erreicht wurde. +Geben Sie anschließend die neuen Werte (11,21,31) in einer Funktion aus. +Die Ausgabe erfolgt wieder anhand des Anfangs und dem Ende des Arrays. + +Tipp: Arrays werden wie folgt als Pointer übergeben: + +meineFunktion(numbers+2); \ No newline at end of file diff --git a/Teil 2/2. Pointers/Uebungen/Uebung 4 - Stringlaenge.txt b/Teil 2/2. Pointers/Uebungen/Uebung 4 - Stringlaenge.txt new file mode 100644 index 0000000..8d5aded --- /dev/null +++ b/Teil 2/2. Pointers/Uebungen/Uebung 4 - Stringlaenge.txt @@ -0,0 +1,5 @@ +Schreiben Sie eine Funktion "stringlength", an die ein char-Array, welches 50 Zeichen aufnehmen kann, +Übergeben wird, und die Länge dieser Zeichenkette zurückliefert. +Nach Eingabe der Zeichenkette soll die Anzahl an Zeichen ausgegeben werden. + +Tipp: Das Ende einer Zeichenkette wird mit \0 gekennzeichnet. \ No newline at end of file diff --git a/Teil 2/2. Pointers/Uebungen/Uebung 5 - Sortieren.txt b/Teil 2/2. Pointers/Uebungen/Uebung 5 - Sortieren.txt new file mode 100644 index 0000000..326ce65 --- /dev/null +++ b/Teil 2/2. Pointers/Uebungen/Uebung 5 - Sortieren.txt @@ -0,0 +1,38 @@ +Gegeben ist folgendes Programm: + +#include <iostream> + +using namespace std; + +void sortiere (int); + +int main ( void ) +{ + int a [10], i; + + cout << "Unsortiertes Array : " << endl; + for ( i =0; i <10; i ++) + { + a [i]= rand()%100; + cout << a [i] << " "; + } + + cout << endl; + + cout << "Sortiertes Array : " << endl; + for ( i =0; i <10; i ++) + cout << a [i] << " "; + + cout << endl; + + return 0; +} + +void sortiere(int x) +{ + +} + + +Ändern und erweitern Sie das Programm so, dass die Funktion "sortiere" das übergebene Array sortiert. +Geben Sie die sortierte Ausgabe in der main-Funktion aus. \ No newline at end of file diff --git a/Teil 2/2. Pointers/Uebungen/Uebung 6 - Prosumo.txt b/Teil 2/2. Pointers/Uebungen/Uebung 6 - Prosumo.txt new file mode 100644 index 0000000..77e3e59 --- /dev/null +++ b/Teil 2/2. Pointers/Uebungen/Uebung 6 - Prosumo.txt @@ -0,0 +1,6 @@ +Schreiben Sie ein Programm, das eine Funktion "prosumo" enthält. Dieser Funktion wird ein +Array übergeben. Sie liefert die Summe und das Produkt der Arrayelemente zurück. + +Erstellen Sie die Funktion auf Basis von Zeigern. Die beiden Ergebnisse werden mittels Zeiger ermittelt. +Bei der Übergabe darf ein fester Wert übergeben werden, welche die Anzahl an Elementen des Arrays angibt. + diff --git a/Teil 2/2. Pointers/Uebungen/Uebungen 1 - PKW und LKW.txt b/Teil 2/2. Pointers/Uebungen/Uebungen 1 - PKW und LKW.txt deleted file mode 100644 index 29c9726..0000000 --- a/Teil 2/2. Pointers/Uebungen/Uebungen 1 - PKW und LKW.txt +++ /dev/null @@ -1,8 +0,0 @@ -Get acquainted with references and pointers. Have a look at the sample programs in the script. Test them. - -Create one instance each of the car class and the truck class as pointers (use exercise 1). -Use -a) Pointers -b) References - -Then display the data on the screen. diff --git a/Teil 2/2. Pointers/Uebungen/Uebungen 2 - Vertauschen.txt b/Teil 2/2. Pointers/Uebungen/Uebungen 2 - Vertauschen.txt deleted file mode 100644 index 5133c94..0000000 --- a/Teil 2/2. Pointers/Uebungen/Uebungen 2 - Vertauschen.txt +++ /dev/null @@ -1,5 +0,0 @@ -Write a function "swap" that swaps the values of two entered integer numbers. - -The numbers are to be passed as by pointer (the changed values in the function are therefore also changed in the main function). - -Add a simple main function that tests the function swap. \ No newline at end of file diff --git a/Teil 2/2. Pointers/Uebungen/Uebungen 3 - Array.txt b/Teil 2/2. Pointers/Uebungen/Uebungen 3 - Array.txt deleted file mode 100644 index 57f0eb1..0000000 --- a/Teil 2/2. Pointers/Uebungen/Uebungen 3 - Array.txt +++ /dev/null @@ -1,12 +0,0 @@ -The following array is given: - -int numbers[] = {10,20,30}; - -Pass the beginning and the end of the array as pointers to a function. -Increase each value by 1 until the end is reached. -Then output the new values (11,21,31) in a function. -The output is again based on the beginning and the end of the array. - -Tip: Arrays are passed as pointers as follows: - -myFunction(numbers+2); \ No newline at end of file diff --git a/Teil 2/2. Pointers/Uebungen/Uebungen 4 - Stringlaenge.txt b/Teil 2/2. Pointers/Uebungen/Uebungen 4 - Stringlaenge.txt deleted file mode 100644 index e0ea54d..0000000 --- a/Teil 2/2. Pointers/Uebungen/Uebungen 4 - Stringlaenge.txt +++ /dev/null @@ -1,4 +0,0 @@ -Write a function "stringlength". A char array, which can contain 50 characters and returns the length of this character string, is passed to this function. -After entering the character string, the number of characters is to be output. - -Tip: The end of a string is marked with \0. \ No newline at end of file diff --git a/Teil 2/2. Pointers/Uebungen/Uebungen 5 - Sortieren.txt b/Teil 2/2. Pointers/Uebungen/Uebungen 5 - Sortieren.txt deleted file mode 100644 index fe41489..0000000 --- a/Teil 2/2. Pointers/Uebungen/Uebungen 5 - Sortieren.txt +++ /dev/null @@ -1,40 +0,0 @@ -Given is the following program: - -#include <iostream> -#include <cstdlib> - -using namespace std ; - -void sort (int); - -int main ( void ) -{ -int a [10], i; - -cout << "Unsorted Array : " << endl; -for ( i =0; i <10; i ++) -{ - a [i]= rand()%100; - cout << a [i] << " "; -} - -cout << endl; - -cout << "Sorted Array : " << endl; -for ( i =0; i <10; i ++) - cout << a [i] << " "; - -cout << endl; - -system("pause"); -return 0; -} - -void sort(int x) -{ - -} - - -Modify and extend the program so that the function "sort" sorts the passed array. -Output the sorted results in the main function. \ No newline at end of file diff --git a/Teil 2/2. Pointers/Uebungen/Uebungen 6 - Prosumo.txt b/Teil 2/2. Pointers/Uebungen/Uebungen 6 - Prosumo.txt deleted file mode 100644 index 962c8b8..0000000 --- a/Teil 2/2. Pointers/Uebungen/Uebungen 6 - Prosumo.txt +++ /dev/null @@ -1,6 +0,0 @@ -Write a program that contains a function " prosumo ". An array is passed to this function. It returns the sum and the product of the array elements. - -Create the function based on pointers. The two results are determined using pointers. -A value specifying the number of elements in the array may be passed to the function. - - diff --git a/Teil 2/3. Dynamic objects/Uebungen/Uebung 1 - PKW und LKW.txt b/Teil 2/3. Dynamic objects/Uebungen/Uebung 1 - PKW und LKW.txt new file mode 100644 index 0000000..a8a4d2e --- /dev/null +++ b/Teil 2/3. Dynamic objects/Uebungen/Uebung 1 - PKW und LKW.txt @@ -0,0 +1,9 @@ +Legen Sie je 3 Instanzen der Klasse PKW und LKW (aus der "Uebung 1 - Fahrzeuge", Kapitel: Wiederholung aus Kursteil 1: Vererbung) an. + +Die Instanzen sollen dynamisch (als Zeiger über new) angelegt werden. + +Die Daten sollen durch den Benuzter über die Konsole eingegeben werden. + +Tipp: Lösung über Schleife (for oder while oder do while). + +Geben Sie die Daten anschließend (über Schleife) von allen Instanzen auf dem Bildschirm aus. \ No newline at end of file diff --git a/Teil 2/3. Dynamic objects/Uebungen/Uebung 2 - Rechteck.txt b/Teil 2/3. Dynamic objects/Uebungen/Uebung 2 - Rechteck.txt new file mode 100644 index 0000000..02a6b71 --- /dev/null +++ b/Teil 2/3. Dynamic objects/Uebungen/Uebung 2 - Rechteck.txt @@ -0,0 +1,9 @@ +Erstellen Sie eine Klasse "Rechteck", welches als Attribute eine Länge und Breite hat. +Erstellen Sie einen passenden Konstruktor, der die Attribute befüllt. + +In der main-Funktion soll ein dynamisches Objekt angelegt werden. +Erstellen Sie solange ein neues Objekt, bis entweder die Länge oder die Breite gleich Null ist. +Für jedes neu angelegte Objekt soll der Konstruktor aufgerufen, +der Flächeninhalt berechnet und anschließend ausgegeben werden. + +Geben Sie zum Schluss den Speicher des Objekts frei. \ No newline at end of file diff --git a/Teil 2/3. Dynamic objects/Uebungen/Uebung 3 - Array.txt b/Teil 2/3. Dynamic objects/Uebungen/Uebung 3 - Array.txt new file mode 100644 index 0000000..2f67893 --- /dev/null +++ b/Teil 2/3. Dynamic objects/Uebungen/Uebung 3 - Array.txt @@ -0,0 +1,4 @@ +Erstellen Sie ein Array mit einem vom Benutzer eingegebenen Speicherbereich. +Der Benutzer soll dann solange beliebige Zahlen eingeben können, welche im Array abgespeichert werden. +Geben Sie die hinterlegten Zahlen nochmal aus. +Geben Sie zum Schluss den Speicher vom Array frei. \ No newline at end of file diff --git a/Teil 2/3. Dynamic objects/Uebungen/Uebung 4 - Dungeon.txt b/Teil 2/3. Dynamic objects/Uebungen/Uebung 4 - Dungeon.txt new file mode 100644 index 0000000..f00ff32 --- /dev/null +++ b/Teil 2/3. Dynamic objects/Uebungen/Uebung 4 - Dungeon.txt @@ -0,0 +1,36 @@ +Ein Spieler soll gegen insgesamt 3 Monster kämpfen, um zu einem Schatz zu gelangen. + +Erstellen Sie eine Klasse "Kreatur", welche die Attribute Lebenspunkte und Schadenspunkte hat. +Erstellen Sie eine Unterklasse "Spieler", welche zusätzlich das Attribute Lebenstrank hat. + +Der Spieler hat am Anfang 100 Lebenspunkte und einen Trank, den er einsetzen kann. + +Es soll ein Menü erscheinen, welches immer die aktuelle Lebenspunkte des Spielers ausgibt. +Es gibt folgende Auswahlmöglichkeiten: + +- Kämpfen + Ein neues Monster (Kreatur) erscheint, wessens Lebenspunkte zufällig ist (zwischen 30 und 50) + --> Erstellen Sie hierfür immer ein neues Objekt vom Typ "Kreatur" und weisen Sie es dem dynamischen Objekt zu. + Es werden die Lebenspunkte vom Spieler und vom Monster ausgegeben. + Der Angriffsschaden wird durch eine Zufallszahl ermittelt (zwischen 10 und 20). + Der Spieler greift zuerst das Monster an. + Hat das Monster weniger als 1 Lebenspunkt, dann erscheint die Meldung, dass es gestorben ist. + Sollte das Monster nicht tot sein, greift das Monster anschließend den Spieler an. + Hat der Spieler weniger als 1 Lebenspunkt, dann erscheint die Meldung, dass er gestorben ist + und wie viele Kreaturen er bereits besiegt hat. +- Lebenstrank trinken + Die Lebenspunkte vom Spieler erhöhen sich (zufällig zwischen 20 und 30)! + Der Trank kann nur einmal eingesetzt werden. +- Fliehen + Der Spieler läuft davon [Programmende]. Es wird die Anzahl an besiegten Kreaturen ausgegeben. + +Hat der Spieler 3 Kreaturen besiegt erscheint die Meldung, dass er den Schatz gefunden hat [Programmende]. +Wurde außerdem kein Lebenstrank eingesetzt, erscheint die Meldung, dass er ein "wahrer Held" ist. + +Tipp: + +Binden Sie die Bibliothek <ctime> ein. +Eine Zufallszahl wird folgendermaßen erstellt: + +srand(time(NULL)); // Zufallszahl anhand der Uhrzeit neu initialisiert, damit nicht immer die gleichen Werte vorkommen +int zufallszahl = rand() % (maxZahl - minZahl) + minZahl; // Beispiel: maxZahl = 20, minZahl = 10 --> Zufallszahl zwischen 20 und 10 diff --git a/Teil 2/3. Dynamic objects/Uebungen/Uebungen 1 - PKW und LKW.txt b/Teil 2/3. Dynamic objects/Uebungen/Uebungen 1 - PKW und LKW.txt deleted file mode 100644 index bae20e4..0000000 --- a/Teil 2/3. Dynamic objects/Uebungen/Uebungen 1 - PKW und LKW.txt +++ /dev/null @@ -1,8 +0,0 @@ - -Create 3 instances each of the Car class and the Truck class (from "exercise 1 - Vehicles", Chapter: Repetition of course part 1: Inheritance). - -The instances are to be created dynamically (as pointers via new). -The data are to be entered by the user via the console. - -Hint: Use a loop (for or while or do while). -Then output the data from all instances on the screen (using a loop). diff --git a/Teil 2/3. Dynamic objects/Uebungen/Uebungen 2 - Rechteck.txt b/Teil 2/3. Dynamic objects/Uebungen/Uebungen 2 - Rechteck.txt deleted file mode 100644 index 7934878..0000000 --- a/Teil 2/3. Dynamic objects/Uebungen/Uebungen 2 - Rechteck.txt +++ /dev/null @@ -1,9 +0,0 @@ - -Create a class "Rectangle", which has a length and width as data members. -Create a suitable constructor that fills the data members with data. - -A dynamic object is to be created in the main function. -Create a new object until either the length or width is zero. -For each newly created object, the constructor is to be called and the area calculated and displayed on the screen. - -Finally, release the memory of the object. \ No newline at end of file diff --git a/Teil 2/3. Dynamic objects/Uebungen/Uebungen 3 - Array.txt b/Teil 2/3. Dynamic objects/Uebungen/Uebungen 3 - Array.txt deleted file mode 100644 index ca6539b..0000000 --- a/Teil 2/3. Dynamic objects/Uebungen/Uebungen 3 - Array.txt +++ /dev/null @@ -1,4 +0,0 @@ -Create an array with a user-specified memory area. -The user should then be able to enter any numbers that are stored in the array. -Output the stored numbers again. -Finally, release the memory of the array. \ No newline at end of file diff --git a/Teil 2/3. Dynamic objects/Uebungen/Uebungen 4 - Dungeon.txt b/Teil 2/3. Dynamic objects/Uebungen/Uebungen 4 - Dungeon.txt deleted file mode 100644 index 1d37f33..0000000 --- a/Teil 2/3. Dynamic objects/Uebungen/Uebungen 4 - Dungeon.txt +++ /dev/null @@ -1,37 +0,0 @@ -A player is to fight a total of 3 monsters to find a treasure. - -Create a class "Creature" that has the data members "healthPoints" and "damage". -Create a subclass "Player" that additionally has the data member "potionOfLife". - -The player has 100 life points at the beginning and one potion to use. - -A menu is to appear which always displays the player's current healthPoints. -The following options are available: - -- Attack - A new monster (creature) appears whose number of healthPoints is random (between 30 and 50). - --> Always create a new object of the type "Creature" and assign it to the dynamic object. - The player's and the monster's healthPoints are displayed. - The attack damage is determined by a random number (between 10 and 20). - The player attacks the monster first. - If the monster has less than 1 healthPoints, the message that it has died appears. - If the monster is not dead, the monster will then attack the player. - If the player has less than 1 healthPoints, the message that he has died appears and how many creatures he has defeated already. - -- Drink Potion of Life - The number of the player's healthPoints increase (randomly between 20 and 30) - The potionOfLife can only be used once. - -- Flee - The player runs away [program exits]. The number of defeated creatures is displayed. - -If the player has defeated 3 creatures, the message appears that he has found the treasure [program exits]. -If no potionOfLife has been used, the message appears that the player is a "true hero". - -Hint: - -Include the library <ctime>. -A random number is created as follows: - -srand(time(NULL)); // Random number re-initialized based on time, so that not always the same values occur -int randomNumber = rand() % (maxNumber - minNumber) + minNumber; // Example: maxNumber = 20, minNumber = 10 --> Random number between 20 and 10 diff --git a/Teil 2/4. Linked lists/Uebungen/Uebung 1 - Element.txt b/Teil 2/4. Linked lists/Uebungen/Uebung 1 - Element.txt new file mode 100644 index 0000000..700df5a --- /dev/null +++ b/Teil 2/4. Linked lists/Uebungen/Uebung 1 - Element.txt @@ -0,0 +1,14 @@ +Erstellen Sie eine Klasse "Element", welches als public die Attribute +einen Integer namens "Value" und einen Pointer namens "Next", welcher vom selben Datentyp wie die Klasse ist. + +Erstellen Sie in der main ein Objekt, welches am Anfang NULL ist. +Geben Sie solange einen Wert ein, bis 0 eingegeben wird. Dies soll das Ender der Liste kennzeichnen. +Für jeden eingegeben Wert soll ein neues Element erstellt werden. Der eingegebene Wert wird im Attribut "value" hinterlegt. +Verketten Sie diese Elemente, indem Sie das Anfangsobjekt und das Next-Objekt richtig setzen. + +Geben Sie anschließend die Liste mit den Werten der erstellten Objekte aus. + +Tipp: + +Beim Einfügen eines neuen Elements wird dessen Nachfolger der Anfang der Liste. +Das neue Element ist anschließend der neue Anfang der Liste. \ No newline at end of file diff --git a/Teil 2/4. Linked lists/Uebungen/Uebung 2 - Film.txt b/Teil 2/4. Linked lists/Uebungen/Uebung 2 - Film.txt new file mode 100644 index 0000000..3f8fc38 --- /dev/null +++ b/Teil 2/4. Linked lists/Uebungen/Uebung 2 - Film.txt @@ -0,0 +1,17 @@ +Erstellen Sie eine Klasse "Film", welche die Attribute Titel, Jahr und Genre beinhaltet. +Au�erdem soll das Attribute "Nachfolger" vorhanden sein, welches auf das nächste Film-Objekt in der Liste zeigt. +Erstellen Sie einen entsprechenden Konstruktor, der die drei Attribute befüllt. + +Erstellen Sie außerdem eine Klasse "FilmListe", welches die Attribute "Anfang" und "Ende" hat. Beide sind vom Typ "Film". + +Erstellen Sie eine verkettete Liste mit folgenden Methoden in der Klasse Filmliste: + +- hinzufuegen + Fügt einen Film am Ende der Liste hinzu +- loeschen + Löscht die komplette Liste (verwenden Sie hierbei delete, um die einzelnene Elemente vom Speicher zu entfernen) +- elementeAnzeigen + Gibt die Filme in der Liste aus (Titel, Jahr, Genre) + +In der Main-Funktion sollen 3 Film-Objekte in die Liste hinzugefügt werden. Geben Sie dann die Liste aus und löchen Sie diese. +Zum Schluss soll die Filmliste durch einen Destruktor gelöscht werden. \ No newline at end of file diff --git a/Teil 2/4. Linked lists/Uebungen/Uebung 3 - Fahrzeug.txt b/Teil 2/4. Linked lists/Uebungen/Uebung 3 - Fahrzeug.txt new file mode 100644 index 0000000..c053d55 --- /dev/null +++ b/Teil 2/4. Linked lists/Uebungen/Uebung 3 - Fahrzeug.txt @@ -0,0 +1,97 @@ +Erweitern Sie nachfolgendes Programm um folgendes: + +Objekte (Instanzen) der Klasse Fahrzeug sollen in einer verketteten Liste verwaltet werden. +Es soll m�glich sein, neue Elemente anzulegen und das letzte oder das erste Element der Liste zu l�schen. + + + +#include <iostream> + +using namespace std; + +class Fahrzeug +{ +protected: + int Anzahl; +public: + Fahrzeug(){};//Defaultkonstruktor + Fahrzeug(int anz) : Anzahl(anz){}; //Konstruktor mit Elementinitialisierungsliste +}; + +class Auto: public Fahrzeug +{ +// Attribute +private: + int AutoNr; + float Gewicht; + Auto *Nachfolger; // Verkettungszeiger zum Nachfolger +// Methoden +public: +// Konstructor + Auto (int az, int nr = 0, float gew = 0.0) : Fahrzeug(az), AutoNr(nr), Gewicht(gew), Nachfolger(0) {} + int getAutoNr () const { return AutoNr; } + float getGewicht () const { return Gewicht; } + void print () const { cout << "Auto-Nr: " << AutoNr << ", Gewicht: " << Gewicht << endl; } + Auto *next () { return Nachfolger; } +}; + +class Autoliste // Liste von Autos +{ + +}; + +int main () + +{ + int auswahl = 1; + Autoliste list; + int kNr, az; + float gew; + Auto *kp; + + do + { + system("cls"); + + cout << endl << "---- Auto-VERWALTUNG ----" << endl; + cout << "1. Neues Auto anlegen" << endl; + cout << "2. letzes Auto löschen" << endl; + cout << "3. Liste" << endl; + cout << "0. Programm beenden" << endl; + cout << "Auswahl: "; + cin >> auswahl; + cout << endl; + + switch (auswahl) + { + case 0: // Ende + cin.ignore(); + cin.get(); + break; + case 1: // Anlegen + cin.ignore(); + cin.get(); + break; + case 2: // Löschen + cin.ignore(); + cin.get(); + break; + case 3: // Liste aller Autos + cin.ignore(); + cin.get(); + break; + case 4: // Auto anhand AutoNr suchen und falls gefunden, dann Anzahl Passagiere/Gewicht ausgeben + cin.ignore(); + cin.get(); + break; + default: // Falsche Auswahl + cin.ignore(); + cin.get(); + break; + } + } while (auswahl != 0); + + //Alle Elemente in der Liste löschen + + return 0; +} diff --git a/Teil 2/4. Linked lists/Uebungen/Uebungen 1 - Element.txt b/Teil 2/4. Linked lists/Uebungen/Uebungen 1 - Element.txt deleted file mode 100644 index a51bd8e..0000000 --- a/Teil 2/4. Linked lists/Uebungen/Uebungen 1 - Element.txt +++ /dev/null @@ -1,16 +0,0 @@ - - -Create a class "Element", which (as public) contains the following data members an integer variable called "Value" and a pointer called "Next", which is of the same data type as the class. - -Create an object in the main that has the value NULL at the beginning. -Enter a value until 0 is entered. This is to indicate the end of the list. -A new element is to be created for each entered value. The value entered is stored in the variable "value". -Concatenate these elements by setting the "start" object and the "next" object correctly. - - -Then output the list of values for the created objects. - -Hint: - -When a new element is inserted, its successor becomes the beginning of the list. -The new element then marks the new beginning of the list. \ No newline at end of file diff --git a/Teil 2/4. Linked lists/Uebungen/Uebungen 2 - Film.txt b/Teil 2/4. Linked lists/Uebungen/Uebungen 2 - Film.txt deleted file mode 100644 index 433867a..0000000 --- a/Teil 2/4. Linked lists/Uebungen/Uebungen 2 - Film.txt +++ /dev/null @@ -1,19 +0,0 @@ - -Create a class "Film", which contains the data members Title, Year and Genre. -In addition, the data member "Successor" is to exist, which points to the next film object in the list. -Create a corresponding constructor that fills the three data members with values. - -Also create a class "FilmList", which contains the data members "Beginning" and "End". Both data members are of the type "Film". - -Create a concatenated list using the following methods in the class "Filmlist": - --add - Adds a movie to the end of the list --clearList - Deletes the complete list (use delete to remove each item from the memory) --displayElements - Outputs the films in the list (title, year, genre) - -In the main program 3 film objects are to be added to the list. Then output the list and delete it. -Finally, the FilmList is to be deleted by a destructor. - diff --git a/Teil 2/4. Linked lists/Uebungen/Uebungen 3 - Fahrzeug.txt b/Teil 2/4. Linked lists/Uebungen/Uebungen 3 - Fahrzeug.txt deleted file mode 100644 index 2f04608..0000000 --- a/Teil 2/4. Linked lists/Uebungen/Uebungen 3 - Fahrzeug.txt +++ /dev/null @@ -1,87 +0,0 @@ -Extend the following program as follows: - -Objects (instances) of the class "Vehicle" are to be managed in a linked list. -It should be possible to delete the last or the first element of the list and create new ones. - - - -#include <iostream> -#include <cstdlib> - -using namespace std; - -class Vehicle -{ -protected: - int Number; -public: - Vehicle(){};//Default constructor - Vehicle(int numb):Number(numb){}; // Constructor with member initializer list -}; - -class Car: public Vehicle -{ -// Data members -private: - int CarNo; - float Weight; - Auto *Successor; // Concatenation pointer to the successor -// Member functions -public: -// Constructor - Car (int no = 0, float wei = 0.0): CarNo(no), Weight(wei), Successor(0) {} - int getCarNo () const { return CarNo; } - float getWeight () const { return Weight; } - void print () const { cout << "Car number: " << CarNo << ", Weight: " << Weight << endl; } - Auto *next () { return Successor; } -}; - -class ListOfCars // List of cars -{ - -}; - -int main () - -{ - int selection = 1; - ListOfCars list; - int cNo, CarNo; - float wei; - Car *kp; - - do - { - system("cls"); - - cout << endl << "---- CAR MANAGEMENT ----" << endl; - cout << "1. Create a new car" << endl; - cout << "2. Delete car" << endl; - cout << "4. Show list" << endl; - cout << "0. Exit program" << endl; - cout << "> Make a selection [Return]: "; - cin >> selection; - cout << endl; - - switch (selection) - { - case 0: // End - break; - case 1: // Create - break; - case 2: // Delete - break; - case 3: // List of all cars - break; - case 4: // Search for car by CarNo. and if found, then output number of passengers/weight - break; - default: // Incorrect input - break; - } - } while (selection != 0); - - //Delete all elements of the list - - system("pause"); - return 0; -} diff --git a/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebung 1 - Telefon.txt b/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebung 1 - Telefon.txt new file mode 100644 index 0000000..1b70451 --- /dev/null +++ b/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebung 1 - Telefon.txt @@ -0,0 +1,15 @@ +Eine Klasse "Telefon" hat eine Rufnummer und eine Farbe, welche an die Unterklasse vererbt werden. +Außerdem gibt es die Unterklasssen "MobilTelefon" und "KabelTelefon". +Mobiltelefone haben zusätzlich ein Netz, Kabeltelefone eine Kabellänge. + +Erstellen Sie für jede Klasse eine Methode "datenausgeben", welche alle Attribute (der Ober-/Unerklasse) ausgibt. + +Erstellen Sie für jede Klasse ein dynamisches Objekt. +Weisen Sie die Instanzen von MobilTelefon und KabelTelefon der Instanz von Telefon zu. +Rufen Sie NUR von der Telefon-Instanz die Methode datenausgeben auf. + +Was wird ausgegeben? + +Wandeln Sie die Methode datenausgeben in der Klasse Telefon in eine virtuelle Methode um. + +Was wird jetzt ausgegeben? \ No newline at end of file diff --git a/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebung 2 - Kunde.txt b/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebung 2 - Kunde.txt new file mode 100644 index 0000000..f73d7fc --- /dev/null +++ b/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebung 2 - Kunde.txt @@ -0,0 +1,11 @@ +Eine Klasse "Kunde" hat das Attribut Zahlung. +Neben den Kunden gibt es außerdem Neukunden und Stammkunden. +Jeder Kunde kann eine Zahlung durchführen. +Sollte die Zahlung vom Neukunden kommen, wird ihm 10% Rabatt gewährt. +Sollte die Zahlung vom Stammkunden kommen, wird ihm 20% Rabatt gewährt. + +Erstellen Sie 2 Instanzen vom Kunden und vom Stammkunden und eine Instanz vom Neukunden. + +Erstellen Sie eine Methode "Bezahlen", welche als Übergabeparameter eine Referenz vom Typ "Kunden" hat und den zu bezahlenden Betrag. +Rufen Sie darin die Methode "Zahlung" auf, welche den Zahlungsbetrag für den entsprechen Kunden setzt. +Geben Sie dort außerdem den Kundentyp und dessen Zahlugsbetrag aus. \ No newline at end of file diff --git a/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebung 3 - Tier.txt b/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebung 3 - Tier.txt new file mode 100644 index 0000000..ac7098b --- /dev/null +++ b/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebung 3 - Tier.txt @@ -0,0 +1,8 @@ +Erstellen Sie eine Abstrakte Basisklasse "Tier", welche als Attribut einen Namen hat. +Ein geeigner Konstruktor soll das Attribut befüllen. + +Eine rein virtuelle Methode "machLaut" gibt den Laut des Tieres aus. +Die Unterklassen Kuh und Hund sollen diese Methode implementieren und geben die Laute "Muuh" und "Wuff" aus. + +Erstellen Sie in Ihrer Main-Funktion jeweils eine Instanz von der Klasse Kuh und Hund. +Vergeben Sie den Tieren einen Namen. Geben Sie den Namen und dessen Laut aus. \ No newline at end of file diff --git a/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebung 4 - Polygon.txt b/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebung 4 - Polygon.txt new file mode 100644 index 0000000..a157e3b --- /dev/null +++ b/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebung 4 - Polygon.txt @@ -0,0 +1,15 @@ +Realisieren Sie die Berechnung des Flächeninhalts eines Rechtecks und eines Dreiecks +durch eine Basisklasse namens "Polygon". Diese beinhaltet eine virtuelle Funktion namens "flaeche", +welche 0 zurückgibt. Die beiden Kindklassen sollen durch Nutzung dieser Methode deren Flächeninhalt zurückgeben. + +Rechteck: länge*breite +Dreieck: länge*breite/2 + +In der Main-Funktion soll jeweils eine Instanz von jeder Klasse erzeugt werden. +Anschließend soll jede Instanz auf ein Polygon-Objekt (Zeiger) referenzieren. +Setzen Sie die Länge und Breite durch Nutzung der jeweiligen Pointer und +geben Sie deren Flächeninhalte aus. + +Zusatzaufgabe: Verwandeln Sie ihre virtuelle Methode in eine rein virtuelle Methode. +Ändern Sie anschließend ihre Main-Funktion so ab, dass diese kompilierfähig ist. +(Der Flächeninhalt von Polygon wird nicht ausgegeben) \ No newline at end of file diff --git a/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebungen 1 - Phone.txt b/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebungen 1 - Phone.txt deleted file mode 100644 index 20201c9..0000000 --- a/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebungen 1 - Phone.txt +++ /dev/null @@ -1 +0,0 @@ -A class "Phone" has a phone number and a color, which are inherited by the subclass. There are also the subclasses "MobilePhone" and "CablePhone". Mobile phones have an additional network, cable telephones have a cable length. Create a function "displayData" for each class which outputs all data members (of the base/subclass). Create a dynamic object for each class. Assign the instances of MobilePhone and CablePhone to the instance of Phone. ONLY call the function "displayData" using an instance of the class "telephone". What is the output of the program? Convert the function "displayData" in the class "Phone" to a virtual function. What is the output now? \ No newline at end of file diff --git a/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebungen 2 - Kunde.txt b/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebungen 2 - Kunde.txt deleted file mode 100644 index f6a2cc7..0000000 --- a/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebungen 2 - Kunde.txt +++ /dev/null @@ -1 +0,0 @@ -A class "Customer" has the data member "Payment". In addition to the customers, there are also new customers and regular customers. Each customer can make a payment. If the payment comes from a new customer, he/she will be granted a 10% discount. If the payment comes from a regular customer, he/she will be granted a 20% discount. Create 2 instances of the customer and the regular customer and one instance of the new customer. Create a function "Pay" which has a reference of the type "Customer" and the amount to be paid as input parameters. Then call the function "Payment" in the class "Customer" which sets the payment amount for the corresponding customer. Also enter the customer type and the payment amount. \ No newline at end of file diff --git a/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebungen 3 - Tier.txt b/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebungen 3 - Tier.txt deleted file mode 100644 index 5c83940..0000000 --- a/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebungen 3 - Tier.txt +++ /dev/null @@ -1 +0,0 @@ - Create an abstract base class "Animal" which has a name as data member. A suitable constructor is to fill the data member. A purely virtual function "makeSound" outputs the sound of the animal. The subclasses "cow" and "dog" are to implement this function and output the sounds "Moo" and "Woof". Create an instance of the classes "Cow" and "Dog" in your main program. Give the animals names. Output the names and their sounds. \ No newline at end of file diff --git a/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebungen 4 - Polygon.txt b/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebungen 4 - Polygon.txt deleted file mode 100644 index 9b4a0e8..0000000 --- a/Teil 2/5. Polymorphism, virtual functions, abstract classes/Uebungen/Uebungen 4 - Polygon.txt +++ /dev/null @@ -1 +0,0 @@ -Realize the calculation of the areas of a rectangle and a triangle by a base class called "polygon". The class contains a virtual function called "area" which returns 0. The two derived classes are to return their areas by using this function. Rectangle: length*width Triangle: length* width/2 Create an instance of each class in the main program. Then each instance is to reference a polygon object (pointer). Set the length and width by using the respective pointers and output their areas. Additional task: Transform your virtual function into a purely virtual function. Then change the main function so that it can be compiled. (The area of polygon is not output) \ No newline at end of file diff --git a/Teil 2/6. Operator overloading/Uebungen/Uebung 1 - Euro.txt b/Teil 2/6. Operator overloading/Uebungen/Uebung 1 - Euro.txt index f32bbf6..58dbc56 100644 --- a/Teil 2/6. Operator overloading/Uebungen/Uebung 1 - Euro.txt +++ b/Teil 2/6. Operator overloading/Uebungen/Uebung 1 - Euro.txt @@ -1 +1,32 @@ -Overload operators '+', '-' and '*' so that the program below can be compiled. Also write a function Òoutput()Ó that outputs the amount. The cent amount must not be negative (if it is, the euro amount is reduced accordingly) and the cent amount must not be in three digits (the euro amount increases until the cent amount is in two digits). The interest rate increases the euro/cent amount by the respective factor. #include <iostream> #include <cstdlib> using namespace std; class euro { private: int euro; int cent; }; int main() { Euro myMoney(100.80), yourMoney(45.30), fine(25.80), ourMoney; double interestrate = 3.5; ourMoney = myMoney + yourMoney; ourMoney.output(); ourMoney = ourMoney - fine; ourMoney.output(); ourMoney = ourMoney.operator*(interestrate); ourMoney.output(); system("pause"); return 0; } \ No newline at end of file +Überladen Sie den '+', den '-' und den '*' Operator so, dass das untenstehende Programm compiliert werden kann. + +Schreiben Sie außerdem eine Methode ausgabe(), welche den Betrag ausgibt. + +Der Cent-Betrag darf nicht negativ sein (falls doch, verringert sich dementsprechend der Euro-Betrag) und +der Cent-Betrag darf nicht dreistellig sein (der Euro-Betrag erhöht sich solange, bis der Cent-Betrag zweistellig ist). +Die Zinsen erhöhen den Euro-/Cent-Betrag um den jeweiligen Faktor + +#include <iostream> + +using namespace std; + +class Euro +{ +private: + int euro; + int cent; +}; + +int main() +{ + Euro meinGeld(100,80), deinGeld(45,30), strafe(25,80), unserGeld; + double zinsen = 3.5; + unserGeld = meinGeld + deinGeld; + unserGeld.ausgabe(); + unserGeld = unserGeld - strafe; + unserGeld.ausgabe(); + unserGeld = unserGeld.operator*(zinsen); + unserGeld.ausgabe(); + + return 0; +} \ No newline at end of file diff --git a/Teil 2/6. Operator overloading/Uebungen/Uebung 2 - Fahrzeug.txt b/Teil 2/6. Operator overloading/Uebungen/Uebung 2 - Fahrzeug.txt new file mode 100644 index 0000000..e81b098 --- /dev/null +++ b/Teil 2/6. Operator overloading/Uebungen/Uebung 2 - Fahrzeug.txt @@ -0,0 +1,35 @@ +Überladen Sie den Vergleichsoperator, so dass er ausgibt, ob ein Fahrzeug gleich oder nicht gleich ist. Ein Fahrzeug ist gleich, wenn seine Attributwerte übereinstimmen. + +Zusätzlich überladen Sie den größer / kleiner Operator, so dass er ausgibt, ob ein Fahrzeug "älter", "jünger" oder "gleich alt" ist (Attributwert baujahr). + + +Verwenden Sie folgendes Ausgangsprogramm: + + +#include <iostream> + +using namespace std; + +class Fahrzeug +{ +private: + string marke; + string kennzeichen; + int ps; + int baujahr; + +public: + void datenausgeben() + { + cout << "Marke: " << marke << endl; + cout << "Kennzeichen: " << kennzeichen << endl; + cout << "Anzahl PS: " << ps << endl; + cout << "Baujahr: " << baujahr << endl; + } +}; + +int main() +{ + + return 0; +}; \ No newline at end of file diff --git a/Teil 2/6. Operator overloading/Uebungen/Uebung 2 - Fahrzeut.txt b/Teil 2/6. Operator overloading/Uebungen/Uebung 2 - Fahrzeut.txt deleted file mode 100644 index 40d552c..0000000 --- a/Teil 2/6. Operator overloading/Uebungen/Uebung 2 - Fahrzeut.txt +++ /dev/null @@ -1 +0,0 @@ -Overload the comparative operator so that it outputs whether a vehicle is the same or not. A vehicle is the same if its data members match. Additionally overload the greater than/ less than operator so that it outputs whether a vehicle is "older", "newer" or "the same age" (data member value yearOfConstruction). Use the following program: #include "iostream" #include "cstdlib" using namespace std; class Vehicle { private: string brand; string licencePlate; int hp; int yearOfConstruction; public: void displayData() { cout << "Brand: " << brand << endl; cout << "Licence plate: " << licencePlate << endl; cout << "Number of HP: " << hp << endl; cout << "Year of construction: " << yearOfConstruction << endl; } }; int main() { system("pause"); return 0; }; \ No newline at end of file diff --git a/Teil 2/6. Operator overloading/Uebungen/Uebung 3 - Datum.txt b/Teil 2/6. Operator overloading/Uebungen/Uebung 3 - Datum.txt index 7c2126a..12ebd32 100644 --- a/Teil 2/6. Operator overloading/Uebungen/Uebung 3 - Datum.txt +++ b/Teil 2/6. Operator overloading/Uebungen/Uebung 3 - Datum.txt @@ -1 +1,14 @@ -Create a class ÒDateÒ which has the data members Day, Month and Year. Overload the input operator. Fill the three data members via the keyboard. Check the following: - The value for the month must be between 1 and 12 - The value for the day must be greater than or equal to 1 - The maximum value of the day depends on the month: - January, March, May, July, August, October, December have a max. of 31 days - April, June, September, November have a max. of 30 days - February has a max. of 28 days (leap year is not checked) - The year must not be negative The input is to be made until a correct value has been entered. Overload the output operator. Output the date in the following form: DD.MM.YYYYY \ No newline at end of file +Erstellen Sie eine Klasse Datum, welches als Attribute Tag, Monat und Jahr hat. + +Überladen Sie den Eingabeoperator. Die Eingabe soll die drei Attribute füllen. +Überprüfen Sie hierbei folgendes: +- Der Monat muss zwischen 1 und 12 liegen +- Der Tag muss muss größer gleich 1 sein +- Das Maximum vom Tag ist vom Monat abhängig: + - Januar, März, Mai, Juli, August, Oktober, Dezember haben max. 31 Tage + - April, Juni, September, November haben max. 30 Tage + - Februar hat max. 28 Tage (Schaltjahr wird nicht überprüft) +- Das Jahr darf nicht negativ sein +Die Eingabe soll solange erfolgen, bis ein korrekter Wert eingegeben wurde. + +Überladen Sie den Ausgabeoperator. Geben sie das Datum in der Form TT.MM.JJJJ aus. \ No newline at end of file diff --git a/Teil 2/6. Operator overloading/Uebungen/Uebung 4 - Schere Stein Papier.txt b/Teil 2/6. Operator overloading/Uebungen/Uebung 4 - Schere Stein Papier.txt index 9e3f662..b1ac73a 100644 --- a/Teil 2/6. Operator overloading/Uebungen/Uebung 4 - Schere Stein Papier.txt +++ b/Teil 2/6. Operator overloading/Uebungen/Uebung 4 - Schere Stein Papier.txt @@ -1 +1,34 @@ - Create a "Rock, Paper, Scissors " program in which the user can play against the computer. The class "Player" is to contain the following data members: - Player name, e.g. "Player", "Computer". - Selection (0, 1 or 2) - Number Wins - Number of games that ended in a draw When the program starts, the following output appears: [0] Scissors [1] Rock [2] Paper Selection Player: ... The user can then choose which tool he wants to select. The computer is then randomly assigned one of the three choices. Then the following is to be compared: If the player has made the same selection as the computer (overload the == operator), then the data member "Draw" for both players increases by 1 each (overload the prefix operator). If the player has won (overload the > operator), then the data member "Win" increases for the player, otherwise for the computer (overload the postfix operator). The input/output operators are also to be overloaded. Input overloading: The options to select a tool are displayed and the selection is stored with the player Output ÒoverloadedÓ: Number of winnings of the player or the computer will be output. A total of 5 moves is made. Finally, the number of winnings or differences is displayed. The output shows who has won or whether it is a draw (overload the >= operator and check who has more wins). \ No newline at end of file +Erstellen Sie ein Programm "Schere, Stein, Papier", wo der Benutzer gegen den Computer spielen kann. + +Die Klasse "Spieler" soll folgendes enthalten: + +- Spielername, z.B. "Spieler", "Computer" +- Auswahl (0, 1 oder 2) +- Anzahl Gewinn +- Anzahl Unentschieden + +Beim Programmstart kommt folgende Ausgabe: + + +[0] Schere +[1] Stein +[2] Papier +Auswahl Spieler: ... + + +Der Benutzer kann anschließend auswählen, welche Form er auswählen will. +Dem Computer wird anschließend zufällig eine der drei Auswahlmöglichkeiten zugewiesen. + +Anschließend soll folgendes verglichen werden: + +Sollte der Spieler die gleiche Auswahl wie der Computer getroffen haben (übleraden Sie hier den == Operator), +dann erhöht sich das Attribute "Unentschieden" bei beiden Spielern um 1 (überladen Sie hier den Präfix Operator). +Sollte der Spieler gewonnen haben (überladen Sie hier den > Operator), +dann erhöht sich das Attribut "Gewinn" beim Spieler, ansonsten beim Computer (überladen Sie hier den Postfix Operator). + +Die Ein-/Ausgabenoperatoren sollen ebenfalls überladen werden +Eingabe überladen: Auswahlmöglichkeit wird ausgegeben und die Auswahl wird beim Spieler hinterlegt +Ausgabe überladen: Anzahl der Gewinne vom Spieler bzw. Computer werden ausgegeben + +Es erfolgen insgesamt 5 Spielzüge. Zum Schluss werden die Anzahl an Gewinne bzw. Unentschiede ausgegeben und +es wird ausgegeben, wer gewonnen hat bzw. ob es ein Unentschieden ist (überladen Sie hier den >= Operator und überprüfen Sie, wer mehr Gewinne hat) \ No newline at end of file diff --git a/Teil 2/7. Templates/Uebungen/Uebung 1 - Addition und Verknuepfung.txt b/Teil 2/7. Templates/Uebungen/Uebung 1 - Addition und Verknuepfung.txt index 6364b52..eafdf3f 100644 --- a/Teil 2/7. Templates/Uebungen/Uebung 1 - Addition und Verknuepfung.txt +++ b/Teil 2/7. Templates/Uebungen/Uebung 1 - Addition und Verknuepfung.txt @@ -1 +1,9 @@ -Create a template function that adds two variables of the same data type or concatenates strings. The user has the following options: [1] Adding integer value [2] Adding floating point value [3] Linking a string After selection, the user enters the two values and the function returns the addition/linkage. The result is then output. \ No newline at end of file +Erstellen Sie eine Template-Funktion, welche zwei Variablen vom gleichen Datentypen addiert bzw. Strings verknüpft. +Der Benutzer hat folgende Auswahlmöglichkeiten: + +[1] Ganzzahl addieren +[2] Gleitkommazahl addieren +[3] Zeichekette verknüpfen + +Nach der Auswahl gibt der Benutzer die beiden Werte ein und die Funktion gibt die Addition/Verknüpfung zurück. +Anschließend wird das Ergebnis ausgegeben. \ No newline at end of file diff --git a/Teil 2/7. Templates/Uebungen/Uebung 2 - Minimum.txt b/Teil 2/7. Templates/Uebungen/Uebung 2 - Minimum.txt index 28ae3a6..73c7dc8 100644 --- a/Teil 2/7. Templates/Uebungen/Uebung 2 - Minimum.txt +++ b/Teil 2/7. Templates/Uebungen/Uebung 2 - Minimum.txt @@ -1,2 +1,2 @@ -Create an inline template function that returns the minimum of two input parameters. -Test the function with two integer variables and two char variables. \ No newline at end of file +Erstellen Sie eine inline Template-Funktion, welche das Minimum zweier Übergabeparameter zurückgibt. +Testen Sie die Funktion mit zwei Integer-Variablen und zwei Char-Variablen. \ No newline at end of file diff --git a/Teil 2/7. Templates/Uebungen/Uebung 3 - Durchschnitt.txt b/Teil 2/7. Templates/Uebungen/Uebung 3 - Durchschnitt.txt index 80be5c0..ee823f7 100644 --- a/Teil 2/7. Templates/Uebungen/Uebung 3 - Durchschnitt.txt +++ b/Teil 2/7. Templates/Uebungen/Uebung 3 - Durchschnitt.txt @@ -1 +1,7 @@ -Create a template function. The first input parameter is an array (any data type) and the second holds the number of elements of the array. Calculate the average with this function, return it and then output it. The result is always to be a floating point number! Test the function with an Int-Array and a Float-Array. \ No newline at end of file +Erstellen Sie eine Template-Funktion. Der erste Übergabeparameter ist ein Array (beliebiger Datentyp) und +der zweite beinhaltet die Anzahl an Elementen vom Array. + +Berechnen Sie in der Funktion den Durchschnitt, geben Sie diesen zurück und anschließend aus. +Das Ergebnis soll immer eine Gleitkommazahl sein! + +Testen Sie die Funktion mit einem Int-Array und einem Float-Array. \ No newline at end of file diff --git a/Teil 2/7. Templates/Uebungen/Uebung 4 - Berechnen.txt b/Teil 2/7. Templates/Uebungen/Uebung 4 - Berechnen.txt index a397860..ce6c7ec 100644 --- a/Teil 2/7. Templates/Uebungen/Uebung 4 - Berechnen.txt +++ b/Teil 2/7. Templates/Uebungen/Uebung 4 - Berechnen.txt @@ -1 +1,6 @@ -Create a template class ÒcalcÓ which has two data members. Create a suitable constructor that fills the data members with values. An function "add" and "multiply" is to add or multiply the two data types and return the value. If a string is passed during the addition, the string is to be specialized. A space is to be inserted between the two character strings. \ No newline at end of file +Erstellen Sie eine Template-Klasse calc, welches zwei Attributa hat. +Erstellen Sie einen geeigneten Konstruktor, der die Attribute befüllt. + +Eine Methode "add" und "multiply" soll die beiden Attribute addieren bzw. multiplizieren und den Wert zurückgeben. +Sollte bei der Addition ein String übergeben werden, dann soll der String spezialisiert werden. +Hierbei soll ein Leerzeichen zwischen den beiden Zeichenketten eingefügt werden. \ No newline at end of file diff --git a/Teil 2/7. Templates/Uebungen/Uebung 5 - Array.txt b/Teil 2/7. Templates/Uebungen/Uebung 5 - Array.txt index 02e3a0d..d4c22f2 100644 --- a/Teil 2/7. Templates/Uebungen/Uebung 5 - Array.txt +++ b/Teil 2/7. Templates/Uebungen/Uebung 5 - Array.txt @@ -1 +1,17 @@ -Three template functions are to be created. The first template function is to output the content of an array. The second template function sorts the array. The third template function exchanges the respective values (for sorting). Use the function ÒCall-By-ReferenceÓ. First the output is to be sorted, then the array is sorted and then the sorted values are output. Test your program using an integer array and a string array. The user can decide how many integer values are sorted. For example, if he/she enters "5", 5 random numbers are generated, stored in the array, then output, then sorted and finally the sorted values are output again. In the string array, for example, you can store 3 strings directly. Hint: You must pass an array and its number of elements to the template functions "Sort" and "Output". The addresses of the variables to be swapped are passed to the template function "Swap". A pointer is used in this function. \ No newline at end of file +Es sollen drei Template-Funktionen erstellt werden. + +Die erste Template Funktion soll den Inhalt eines Array ausgeben. +Die zweite Template Funktion sortiert das Array. +Die dritte Template Funktion tauscht (für das Sortieren) die jeweiligen Werte. Verwenden Sie hier die Methode Call-By-Reference. + +Es soll zuerst die Ausgabe, dann wird das Array sortiert und anschließend erfolgt die sortierte Ausgabe. +Testen Sie Ihr Programm anhand eines Integer-Arrays und einem String-Array. + +Der Benutzer kann entscheiden, wie viele Integer sotiert werden. Gibt er z.B. "5" ein, werden 5 Zufallszahlen +generiert, im Array hinterlegt, dann ausgegeben, dann sortiert und zum Schluss die sortierte Ausgabe ausgegeben. + +Beim String-Array können Sie z.B. 3 Zeichenketten im Array direkt hinterlegen. + +Tipp: +Der Template-Funktion "Sortieren" und "Ausgeben" müssen Sie ein Array und dessen Anzahl an Elemente übergeben. +Der Template-Funktion "Tausche" werden die Adressen der zu vertauschten Variablen übergeben. In der Funktion wird mit Pointer gearbeitet. \ No newline at end of file -- GitLab