summaryrefslogtreecommitdiffstats
path: root/Bachelor/Softwaretechnik2/mixer
diff options
context:
space:
mode:
Diffstat (limited to 'Bachelor/Softwaretechnik2/mixer')
-rw-r--r--Bachelor/Softwaretechnik2/mixer/.cdtbuild25
-rw-r--r--Bachelor/Softwaretechnik2/mixer/.cdtproject18
-rw-r--r--Bachelor/Softwaretechnik2/mixer/.project19
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CDisplay.cpp59
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CDisplay.hpp78
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CDosierer.cpp97
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CDosierer.hpp81
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CEntleerer.cpp89
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CEntleerer.hpp76
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CGeraet.cpp54
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CGeraet.hpp75
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CMischer.cpp51
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CMischer.hpp63
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CObserver.cpp29
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CObserver.hpp57
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CRezept.cpp53
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CRezept.hpp73
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CRezeptProcessor.cpp117
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CRezeptProcessor.hpp59
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CRezeptSchritt.cpp40
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CRezeptSchritt.hpp72
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CStampfer.cpp42
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CStampfer.hpp61
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CSubjekt.cpp57
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CSubjekt.hpp73
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CVentilGeraet.cpp70
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CVentilGeraet.hpp82
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CWaage.cpp129
-rw-r--r--Bachelor/Softwaretechnik2/mixer/CWaage.hpp110
-rw-r--r--Bachelor/Softwaretechnik2/mixer/Debug/makefile30
-rw-r--r--Bachelor/Softwaretechnik2/mixer/Debug/objects.mk13
-rw-r--r--Bachelor/Softwaretechnik2/mixer/Debug/sources.mk16
-rw-r--r--Bachelor/Softwaretechnik2/mixer/Debug/subdir.mk57
-rw-r--r--Bachelor/Softwaretechnik2/mixer/Test.h16
-rw-r--r--Bachelor/Softwaretechnik2/mixer/TestCDosierer.h78
-rw-r--r--Bachelor/Softwaretechnik2/mixer/TestCWaage.h70
-rw-r--r--Bachelor/Softwaretechnik2/mixer/TestCase.cpp206
-rw-r--r--Bachelor/Softwaretechnik2/mixer/TestCase.h241
-rw-r--r--Bachelor/Softwaretechnik2/mixer/TestSuite.cpp44
-rw-r--r--Bachelor/Softwaretechnik2/mixer/TestSuite.h41
-rw-r--r--Bachelor/Softwaretechnik2/mixer/main.cpp52
-rw-r--r--Bachelor/Softwaretechnik2/mixer/makefile17
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer.dsp204
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer.dsw33
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer.ncbbin0 -> 123904 bytes
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer.optbin0 -> 53760 bytes
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer.plg16
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CDisplay.objbin0 -> 152699 bytes
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CDisplay.sbr0
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CDosierer.objbin0 -> 164302 bytes
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CDosierer.sbr0
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CEntleerer.objbin0 -> 164141 bytes
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CEntleerer.sbr0
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CGeraet.objbin0 -> 42169 bytes
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CGeraet.sbr0
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CMischer.objbin0 -> 155997 bytes
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CMischer.sbr0
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CObserver.objbin0 -> 1433 bytes
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CObserver.sbr0
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezept.objbin0 -> 38661 bytes
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezept.sbr0
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezeptProcessor.objbin0 -> 40449 bytes
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezeptProcessor.sbr0
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezeptSchritt.objbin0 -> 41675 bytes
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezeptSchritt.sbr0
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CStampfer.objbin0 -> 156029 bytes
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CStampfer.sbr0
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CSubjekt.objbin0 -> 29352 bytes
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CSubjekt.sbr0
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CVentilGeraet.objbin0 -> 75067 bytes
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CVentilGeraet.sbr0
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CWaage.objbin0 -> 22009 bytes
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CWaage.sbr0
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/main.objbin0 -> 40084 bytes
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/main.sbr0
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/mixer.bscbin0 -> 599040 bytes
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/mixer.exebin0 -> 622672 bytes
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/mixer.ilkbin0 -> 975096 bytes
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/mixer.pchbin0 -> 2151564 bytes
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/mixer.pdbbin0 -> 1467392 bytes
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/vc60.idbbin0 -> 164864 bytes
-rw-r--r--Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/vc60.pdbbin0 -> 159744 bytes
82 files changed, 3043 insertions, 0 deletions
diff --git a/Bachelor/Softwaretechnik2/mixer/.cdtbuild b/Bachelor/Softwaretechnik2/mixer/.cdtbuild
new file mode 100644
index 0000000..4c8c0a0
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/.cdtbuild
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?fileVersion 2.1.0?>
+
+<ManagedProjectBuildInfo>
+<project id="mixer.cdt.managedbuild.target.gnu.cygwin.exe.1899483861" name="Ausführbare Datei (GNU unter Windows)" projectType="cdt.managedbuild.target.gnu.cygwin.exe">
+<configuration artifactExtension="exe" artifactName="mixer" cleanCommand="rm -rf" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser" id="cdt.managedbuild.config.gnu.cygwin.exe.debug.239132374" name="Debug" parent="cdt.managedbuild.config.gnu.cygwin.exe.debug">
+<toolChain id="cdt.managedbuild.toolchain.gnu.cygwin.exe.debug.1362709503" name="%ToolChainName.Dbg" superClass="cdt.managedbuild.toolchain.gnu.cygwin.exe.debug">
+<tool id="cdt.managedbuild.tool.gnu.c.compiler.cygwin.exe.debug.955461605" name="GCC-Compiler für C" superClass="cdt.managedbuild.tool.gnu.c.compiler.cygwin.exe.debug"/>
+<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.cygwin.exe.debug.1198505280" name="GC-Compiler für C++" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.cygwin.exe.debug"/>
+<tool id="cdt.managedbuild.tool.gnu.c.linker.cygwin.exe.debug.553051923" name="GCC-Linker für C" superClass="cdt.managedbuild.tool.gnu.c.linker.cygwin.exe.debug"/>
+<tool id="cdt.managedbuild.tool.gnu.cpp.linker.cygwin.exe.debug.1468850388" name="GCC-Linker für C++" superClass="cdt.managedbuild.tool.gnu.cpp.linker.cygwin.exe.debug"/>
+<tool id="cdt.managedbuild.tool.gnu.assembler.cygwin.exe.debug.664084510" name="GCC-Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.cygwin.exe.debug"/>
+</toolChain>
+</configuration>
+<configuration artifactExtension="exe" artifactName="mixer" cleanCommand="rm -rf" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser" id="cdt.managedbuild.config.gnu.cygwin.exe.release.1688918972" name="Freigeben" parent="cdt.managedbuild.config.gnu.cygwin.exe.release">
+<toolChain id="cdt.managedbuild.toolchain.gnu.cygwin.exe.release.498330719" name="%ToolChainName.Rel" superClass="cdt.managedbuild.toolchain.gnu.cygwin.exe.release">
+<tool id="cdt.managedbuild.tool.gnu.c.compiler.cygwin.exe.release.182407467" name="GCC-Compiler für C" superClass="cdt.managedbuild.tool.gnu.c.compiler.cygwin.exe.release"/>
+<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.cygwin.exe.release.1463225306" name="GC-Compiler für C++" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.cygwin.exe.release"/>
+<tool id="cdt.managedbuild.tool.gnu.c.linker.cygwin.exe.release.408887206" name="GCC-Linker für C" superClass="cdt.managedbuild.tool.gnu.c.linker.cygwin.exe.release"/>
+<tool id="cdt.managedbuild.tool.gnu.cpp.linker.cygwin.exe.release.1922618703" name="GCC-Linker für C++" superClass="cdt.managedbuild.tool.gnu.cpp.linker.cygwin.exe.release"/>
+<tool id="cdt.managedbuild.tool.gnu.assembler.cygwin.exe.release.2045317106" name="GCC-Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.cygwin.exe.release"/>
+</toolChain>
+</configuration>
+</project>
+</ManagedProjectBuildInfo>
diff --git a/Bachelor/Softwaretechnik2/mixer/.cdtproject b/Bachelor/Softwaretechnik2/mixer/.cdtproject
new file mode 100644
index 0000000..bd768a8
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/.cdtproject
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse-cdt version="2.0"?>
+
+<cdtproject id="org.eclipse.cdt.managedbuilder.core.managedMake">
+<extension id="org.eclipse.cdt.managedbuilder.core.ManagedBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"/>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<data>
+<item id="cdt_indexer">
+<indexEnabled indexValue="true"/>
+<indexerProblemsEnabled indexProblemsValue="0"/>
+</item>
+<item id="org.eclipse.cdt.core.pathentry">
+<pathentry kind="src" path=""/>
+<pathentry kind="out" path=""/>
+<pathentry kind="con" path="org.eclipse.cdt.managedbuilder.MANAGED_CONTAINER"/>
+</item>
+</data>
+</cdtproject>
diff --git a/Bachelor/Softwaretechnik2/mixer/.project b/Bachelor/Softwaretechnik2/mixer/.project
new file mode 100644
index 0000000..03e53ba
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/.project
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>mixer</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ </natures>
+</projectDescription>
diff --git a/Bachelor/Softwaretechnik2/mixer/CDisplay.cpp b/Bachelor/Softwaretechnik2/mixer/CDisplay.cpp
new file mode 100644
index 0000000..f085c89
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CDisplay.cpp
@@ -0,0 +1,59 @@
+/**********************************************************************************/
+/* Definitionsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 14:36:20
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CDisplay.cpp
+ *
+ */
+
+
+// ino.module.CDisplay.1092.includes
+#include "CDisplay.hpp"
+// ino.end
+#include <windows.h>
+
+#include <iostream>
+using std::cout;
+using std::endl;
+
+// ino.method.starte.866.definition
+int systemModel::AnalyseModell::CDisplay::starte()
+// ino.end
+// ino.method.starte.866.body
+{
+ return 0;
+}
+// ino.end
+
+// ino.method.zeigeGewichtAn.732.definition
+void systemModel::AnalyseModell::CDisplay::zeigeGewichtAn()
+// ino.end
+// ino.method.zeigeGewichtAn.732.body
+{
+}
+// ino.end
+
+// ino.method.aktualisiere.497.definition
+int systemModel::AnalyseModell::CDisplay::aktualisiere()
+// ino.end
+// ino.method.aktualisiere.497.body
+{
+ //Sleep(500);
+ cout << "DISPLAY: Gesamtgewicht " <<pWaage->getGesamtGewicht() << endl;
+ cout << "DISPLAY: Differenzgewicht " <<pWaage->getDifferenzGewicht() << endl;
+ return 0;
+}
+// ino.end
+
+systemModel::AnalyseModell::CDisplay::CDisplay() {
+}
+
+systemModel::AnalyseModell::CDisplay::CDisplay(CWaage *pw) {
+ pWaage=pw;
+}
diff --git a/Bachelor/Softwaretechnik2/mixer/CDisplay.hpp b/Bachelor/Softwaretechnik2/mixer/CDisplay.hpp
new file mode 100644
index 0000000..7e9c112
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CDisplay.hpp
@@ -0,0 +1,78 @@
+/**********************************************************************************/
+/* Deklarationsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 14:36:17
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CDisplay.hpp
+ *
+ */
+
+
+// ino.module.CDisplay.1082.ifndef
+#ifndef _CDISPLAY_HPP_1082
+#define _CDISPLAY_HPP_1082
+// ino.end
+
+#include "CObserver.hpp"
+#include "CWaage.hpp"
+#include <string>
+using std::string;
+
+namespace systemModel {
+ namespace AnalyseModell {
+
+// ino.class.CDisplay.489.declaration
+class CDisplay: public CObserver
+// ino.end
+// ino.class.CDisplay.489.body
+{
+ // ino.attribute.mBeobachtetesGewicht.499.declaration
+ private:
+ int mBeobachtetesGewicht;
+ // ino.end
+
+ // ino.method.starte.866.declaration
+ public:
+ //virtual int starte(CSubjekt *);
+ virtual int starte();
+ // ino.end
+
+ // ino.method.zeigeGewichtAn.732.declaration
+ public:
+ virtual void zeigeGewichtAn();
+ // ino.end
+
+ // ino.method.aktualisiere.497.declaration
+ public:
+ virtual int aktualisiere();
+ // ino.end
+ private:
+ CWaage* pWaage;
+ public:
+ CDisplay();
+ CDisplay(CWaage *);
+
+};
+// ino.end
+
+
+
+
+
+ }; // namespace AnalyseModell
+}; // namespace systemModel
+
+
+#if !defined(NO_IMPLICIT_NAMESPACE_USE)
+using namespace systemModel::AnalyseModell;
+#endif
+
+// ino.module.CDisplay.1082.endif
+#endif
+// ino.end
+
diff --git a/Bachelor/Softwaretechnik2/mixer/CDosierer.cpp b/Bachelor/Softwaretechnik2/mixer/CDosierer.cpp
new file mode 100644
index 0000000..5d8ea62
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CDosierer.cpp
@@ -0,0 +1,97 @@
+/**********************************************************************************/
+/* Definitionsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 14:59:41
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CDosierer.cpp
+ *
+ */
+
+
+// ino.module.CDosierer.1094.includes
+#include "CDosierer.hpp"
+// ino.end
+#include <string>
+using std::string;
+using std::cout;
+using std::endl;
+
+
+// ino.method.pruefeGewicht.1149.definition
+int systemModel::AnalyseModell::CDosierer::pruefeGewicht()
+// ino.end
+// ino.method.pruefeGewicht.1149.body
+{
+
+
+ int g = pWaage->getDifferenzGewicht();
+ if (g>=getWert())
+ {
+ pWaage->gewichtErreicht();
+ return 0;
+ }
+ else
+
+ {
+ return 1;
+ }
+
+
+
+}
+// ino.end
+/*
+// ino.method.oeffneVentil.1152.definition
+int systemModel::AnalyseModell::CDosierer::oeffneVentil()
+// ino.end
+// ino.method.oeffneVentil.1152.body
+{
+ cout << getname() << "oeffnet Ventil";
+ return 0;
+}
+// ino.end
+
+// ino.method.schliesseVentil.1155.definition
+int systemModel::AnalyseModell::CDosierer::schliesseVentil()
+// ino.end
+// ino.method.schliesseVentil.1155.body
+{
+ cout << getname() << "schliesst Ventil";
+ return 0;
+}
+// ino.end
+*/
+systemModel::AnalyseModell::CDosierer::CDosierer() {
+}
+
+systemModel::AnalyseModell::CDosierer::CDosierer(string s,CWaage * pw):CVentilGeraet(s) {
+ pWaage=pw;
+ setAenderung(4);
+}
+systemModel::AnalyseModell::CDosierer::CDosierer(string s):CVentilGeraet(s) {
+}
+
+int systemModel::AnalyseModell::CDosierer::aktualisiere() {
+ pruefeGewicht();
+ return 0;
+}
+int systemModel::AnalyseModell::CDosierer::startCGeraet(int i) {
+ cout << "Gerät " << getname() << " startet mit Wert "<< i << endl;
+ setWert(i);
+ pWaage->meldeAn(this);
+ pWaage->tariere();
+ pWaage->aktiviere(this);
+ return 0;
+}
+
+int systemModel::AnalyseModell::CDosierer::stopCGeraet() {
+ schliesseVentil();
+ cout << "Gerät " << getname() << " stoppt"<< endl;
+ pWaage->meldeAb();
+ return 0;
+}
diff --git a/Bachelor/Softwaretechnik2/mixer/CDosierer.hpp b/Bachelor/Softwaretechnik2/mixer/CDosierer.hpp
new file mode 100644
index 0000000..10ff005
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CDosierer.hpp
@@ -0,0 +1,81 @@
+/**********************************************************************************/
+/* Deklarationsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 15:01:44
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CDosierer.hpp
+ *
+ */
+
+
+// ino.module.CDosierer.1083.ifndef
+#ifndef _CDOSIERER_HPP_1083
+#define _CDOSIERER_HPP_1083
+// ino.end
+
+// ino.module.CDosierer.1083.decIncludes
+#include "CVentilGeraet.hpp"
+// ino.end
+
+//#include "CSubjekt.hpp"
+#include "CObserver.hpp"
+#include "CWaage.hpp"
+
+namespace systemModel {
+ namespace AnalyseModell {
+
+
+// ino.class.CDosierer.748.declaration
+class CDosierer: public CVentilGeraet
+// ino.end
+// ino.class.CDosierer.748.body
+{
+ private:
+ CWaage* pWaage;
+ // ino.method.pruefeGewicht.1149.declaration
+ public:
+ virtual int pruefeGewicht();
+ // ino.end
+
+ // ino.method.oeffneVentil.1152.declaration
+ //public:
+ //virtual int oeffneVentil();
+ // ino.end
+
+ // ino.method.schliesseVentil.1155.declaration
+ //public:
+ //virtual int schliesseVentil();
+ public:
+ virtual int aktualisiere();
+ // ino.end
+ public:
+ CDosierer();
+ CDosierer(string);
+ CDosierer(string, CSubjekt *);
+ CDosierer(string, CWaage *);
+ virtual int startCGeraet(int);
+ virtual int stopCGeraet();
+};
+// ino.end
+
+
+
+
+
+ }; // namespace AnalyseModell
+}; // namespace systemModel
+
+
+#if !defined(NO_IMPLICIT_NAMESPACE_USE)
+using namespace systemModel::AnalyseModell;
+#endif
+
+// ino.module.CDosierer.1083.endif
+#endif
+// ino.end
+
diff --git a/Bachelor/Softwaretechnik2/mixer/CEntleerer.cpp b/Bachelor/Softwaretechnik2/mixer/CEntleerer.cpp
new file mode 100644
index 0000000..e1a6d9f
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CEntleerer.cpp
@@ -0,0 +1,89 @@
+/**********************************************************************************/
+/* Definitionsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 14:59:41
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CEntleerer.cpp
+ *
+ */
+
+
+// ino.module.CEntleerer.1089.includes
+#include "CEntleerer.hpp"
+// ino.end
+
+using std::cout;
+using std::endl;
+
+// ino.method.pruefeGewicht.1146.definition
+int systemModel::AnalyseModell::CEntleerer::pruefeGewicht()
+// ino.end
+// ino.method.pruefeGewicht.1146.body
+{
+ int i = pWaage->getGesamtGewicht();
+ if (i > getWert())
+ {
+ }
+ else
+ {
+ pWaage->gewichtErreicht();
+ }
+ return 0;
+}
+// ino.end
+/*
+// ino.method.oeffneVentil.1140.definition
+int systemModel::AnalyseModell::CEntleerer::oeffneVentil()
+// ino.end
+// ino.method.oeffneVentil.1140.body
+{
+ return 0;
+}
+// ino.end
+
+// ino.method.schliesseVentil.1143.definition
+int systemModel::AnalyseModell::CEntleerer::schliesseVentil()
+// ino.end
+// ino.method.schliesseVentil.1143.body
+{
+ return 0;
+}
+// ino.end
+*/
+systemModel::AnalyseModell::CEntleerer::CEntleerer() {
+}
+
+systemModel::AnalyseModell::CEntleerer::CEntleerer(string s):CVentilGeraet(s) {
+}
+
+systemModel::AnalyseModell::CEntleerer::CEntleerer(string s,CWaage* pw):CVentilGeraet(s) {
+ pWaage=pw;
+ setAenderung(-20);
+}
+
+int systemModel::AnalyseModell::CEntleerer::aktualisiere()
+{
+ pruefeGewicht();
+ return 0;
+}
+int systemModel::AnalyseModell::CEntleerer::startCGeraet(int i)
+{
+ setWert(i);
+ cout << "Gerät " << getname() << " startet mit Wert "<< i << endl;
+ pWaage->meldeAn(this);
+ pWaage->aktiviere(this);
+ return 0;
+}
+
+int systemModel::AnalyseModell::CEntleerer::stopCGeraet()
+{
+ schliesseVentil();
+ cout << "Gerät " << getname() << " stoppt" <<endl;
+ pWaage->meldeAb();
+ return 0;
+}
diff --git a/Bachelor/Softwaretechnik2/mixer/CEntleerer.hpp b/Bachelor/Softwaretechnik2/mixer/CEntleerer.hpp
new file mode 100644
index 0000000..c94e2f9
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CEntleerer.hpp
@@ -0,0 +1,76 @@
+/**********************************************************************************/
+/* Deklarationsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 15:01:43
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CEntleerer.hpp
+ *
+ */
+
+
+// ino.module.CEntleerer.1084.ifndef
+#ifndef _CENTLEERER_HPP_1084
+#define _CENTLEERER_HPP_1084
+// ino.end
+
+// ino.module.CEntleerer.1084.decIncludes
+#include "CVentilGeraet.hpp"
+// ino.end
+
+#include "CWaage.hpp"
+
+namespace systemModel {
+ namespace AnalyseModell {
+
+
+// ino.class.CEntleerer.750.declaration
+class CEntleerer: public CVentilGeraet
+// ino.end
+// ino.class.CEntleerer.750.body
+{
+ // ino.method.pruefeGewicht.1146.declaration
+ public:
+ virtual int pruefeGewicht();
+ // ino.end
+ private:
+ CWaage* pWaage;
+ // ino.method.oeffneVentil.1140.declaration
+ //public:
+ //virtual int oeffneVentil();
+ // ino.end
+
+ // ino.method.schliesseVentil.1143.declaration
+ //public:
+ //virtual int schliesseVentil();
+ // ino.end
+ public:
+ CEntleerer();
+ CEntleerer(string);
+ CEntleerer(string,CWaage*);
+ virtual int aktualisiere();
+ virtual int startCGeraet(int);
+ virtual int stopCGeraet();
+};
+// ino.end
+
+
+
+
+
+ }; // namespace AnalyseModell
+}; // namespace systemModel
+
+
+#if !defined(NO_IMPLICIT_NAMESPACE_USE)
+using namespace systemModel::AnalyseModell;
+#endif
+
+// ino.module.CEntleerer.1084.endif
+#endif
+// ino.end
+
diff --git a/Bachelor/Softwaretechnik2/mixer/CGeraet.cpp b/Bachelor/Softwaretechnik2/mixer/CGeraet.cpp
new file mode 100644
index 0000000..1c54d5e
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CGeraet.cpp
@@ -0,0 +1,54 @@
+/**********************************************************************************/
+/* Definitionsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 14:36:19
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CGeraet.cpp
+ *
+ */
+
+
+// ino.module.CGeraet.1088.includes
+#include "CGeraet.hpp"
+// ino.end
+
+using std::cout;
+using std::endl;
+
+// ino.method.startCGeraet.465.definition
+int systemModel::AnalyseModell::CGeraet::startCGeraet(int)
+// ino.end
+// ino.method.startCGeraet.465.body
+{
+ return 0;
+}
+// ino.end
+
+// ino.method.stopCGeraet.467.definition
+int systemModel::AnalyseModell::CGeraet::stopCGeraet()
+// ino.end
+// ino.method.stopCGeraet.467.body
+{
+ return 0;
+}
+// ino.end
+
+systemModel::AnalyseModell::CGeraet::CGeraet() {
+}
+systemModel::AnalyseModell::CGeraet::CGeraet(string s) {
+ mName = s;
+}
+
+void systemModel::AnalyseModell::CGeraet::setWert(int i)
+{
+ mWert=i;
+}
+void systemModel::AnalyseModell::CGeraet::setName(string s)
+{
+ mName=s;
+}
diff --git a/Bachelor/Softwaretechnik2/mixer/CGeraet.hpp b/Bachelor/Softwaretechnik2/mixer/CGeraet.hpp
new file mode 100644
index 0000000..14846ad
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CGeraet.hpp
@@ -0,0 +1,75 @@
+/**********************************************************************************/
+/* Deklarationsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 14:36:16
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CGeraet.hpp
+ *
+ */
+
+
+// ino.module.CGeraet.1075.ifndef
+#ifndef _CGERAET_HPP_1075
+#define _CGERAET_HPP_1075
+// ino.end
+#include <string>
+#include <iostream>
+using std::string;
+
+
+namespace systemModel {
+ namespace AnalyseModell {
+
+
+// ino.class.CGeraet.451.declaration
+class CGeraet
+// ino.end
+// ino.class.CGeraet.451.body
+{
+private:
+ int mWert;
+ // ino.attribute.mName.461.declaration
+ private:
+ string mName;
+ // ino.end
+
+ // ino.method.startCGeraet.465.declaration
+ public:
+ virtual int startCGeraet(int)=0;
+ // ino.end
+
+ // ino.method.stopCGeraet.467.declaration
+ public:
+ virtual int stopCGeraet();
+ // ino.end
+ public:
+ CGeraet(string);
+ CGeraet();
+ string getname() {return mName;}
+ void setWert(int);
+ int getWert() {return mWert;}
+ void setName(string s);
+};
+// ino.end
+
+
+
+
+
+ }; // namespace AnalyseModell
+}; // namespace systemModel
+
+
+#if !defined(NO_IMPLICIT_NAMESPACE_USE)
+using namespace systemModel::AnalyseModell;
+#endif
+
+// ino.module.CGeraet.1075.endif
+#endif
+// ino.end
+
diff --git a/Bachelor/Softwaretechnik2/mixer/CMischer.cpp b/Bachelor/Softwaretechnik2/mixer/CMischer.cpp
new file mode 100644
index 0000000..a5eafe9
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CMischer.cpp
@@ -0,0 +1,51 @@
+/**********************************************************************************/
+/* Definitionsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 14:59:41
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CMischer.cpp
+ *
+ */
+
+
+// ino.module.CMischer.1091.includes
+#include "CMischer.hpp"
+// ino.end
+using std::cout;
+using std::endl;
+
+// ino.method.startGeraet.1134.definition
+int systemModel::AnalyseModell::CMischer::startCGeraet(int i)
+// ino.end
+// ino.method.startGeraet.1134.body
+{
+ cout << "Gerät " << getname() << " startet mit Wert "<< i << endl;
+ setWert(i);
+ stopCGeraet();
+ return 0;
+}
+// ino.end
+
+// ino.method.stopGeraet.1137.definition
+int systemModel::AnalyseModell::CMischer::stopCGeraet()
+// ino.end
+// ino.method.stopGeraet.1137.body
+{
+ cout << "Gerät " << getname() << " stoppt" <<endl;
+ return 0;
+}
+// ino.end
+systemModel::AnalyseModell::CMischer::CMischer()
+{
+}
+systemModel::AnalyseModell::CMischer::CMischer(string s):CGeraet(s)
+{
+
+}
+
+
diff --git a/Bachelor/Softwaretechnik2/mixer/CMischer.hpp b/Bachelor/Softwaretechnik2/mixer/CMischer.hpp
new file mode 100644
index 0000000..ddacab3
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CMischer.hpp
@@ -0,0 +1,63 @@
+/**********************************************************************************/
+/* Deklarationsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 15:01:43
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CMischer.hpp
+ *
+ */
+
+
+// ino.module.CMischer.1085.ifndef
+#ifndef _CMISCHER_HPP_1085
+#define _CMISCHER_HPP_1085
+// ino.end
+
+#include "CGeraet.hpp"
+
+namespace systemModel {
+ namespace AnalyseModell {
+
+
+// ino.class.CMischer.752.declaration
+class CMischer: public CGeraet
+// ino.end
+// ino.class.CMischer.752.body
+{
+
+ // ino.method.startGeraet.1134.declaration
+ public:
+ virtual int startCGeraet(int);
+ // ino.end
+
+ // ino.method.stopGeraet.1137.declaration
+ public:
+ virtual int stopCGeraet();
+ // ino.end
+ public:
+ CMischer();
+ CMischer(string);
+};
+// ino.end
+
+
+
+
+
+ }; // namespace AnalyseModell
+}; // namespace systemModel
+
+
+#if !defined(NO_IMPLICIT_NAMESPACE_USE)
+using namespace systemModel::AnalyseModell;
+#endif
+
+// ino.module.CMischer.1085.endif
+#endif
+// ino.end
+
diff --git a/Bachelor/Softwaretechnik2/mixer/CObserver.cpp b/Bachelor/Softwaretechnik2/mixer/CObserver.cpp
new file mode 100644
index 0000000..5d2be8a
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CObserver.cpp
@@ -0,0 +1,29 @@
+/**********************************************************************************/
+/* Definitionsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 14:36:20
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CObserver.cpp
+ *
+ */
+
+
+// ino.module.CObserver.1087.includes
+#include "CObserver.hpp"
+// ino.end
+
+/*systemModel::AnalyseModell::CObserver::CObserver() {
+}*/
+
+/*systemModel::AnalyseModell::CObserver::CObserver(CWaage *pw) {
+ pWaage=pw;
+}*/
+/*void systemModel::AnalyseModell::CObserver::setSubjekt(CSubjekt *ps) {
+ psub=ps;
+}*/
+
diff --git a/Bachelor/Softwaretechnik2/mixer/CObserver.hpp b/Bachelor/Softwaretechnik2/mixer/CObserver.hpp
new file mode 100644
index 0000000..22da3ca
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CObserver.hpp
@@ -0,0 +1,57 @@
+/**********************************************************************************/
+/* Deklarationsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 14:36:17
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CObserver.hpp
+ *
+ */
+
+
+// ino.module.CObserver.1074.ifndef
+#ifndef _COBSERVER_HPP_1074
+#define _COBSERVER_HPP_1074
+// ino.end
+
+
+namespace systemModel {
+ namespace AnalyseModell {
+
+
+// ino.class.CObserver.514.declaration
+class CObserver
+// ino.end
+// ino.class.CObserver.514.body
+{
+ // ino.method.aktualisiere.537.declaration
+ public:
+ virtual int aktualisiere()=0;
+ // ino.end
+/* private:
+ CWaage* pWaage;
+ CObserver();
+ CObserver(CWaage *);*/
+};
+// ino.end
+
+
+
+
+
+ }; // namespace AnalyseModell
+}; // namespace systemModel
+
+
+#if !defined(NO_IMPLICIT_NAMESPACE_USE)
+using namespace systemModel::AnalyseModell;
+#endif
+
+// ino.module.CObserver.1074.endif
+#endif
+// ino.end
+
diff --git a/Bachelor/Softwaretechnik2/mixer/CRezept.cpp b/Bachelor/Softwaretechnik2/mixer/CRezept.cpp
new file mode 100644
index 0000000..87aa341
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CRezept.cpp
@@ -0,0 +1,53 @@
+/**********************************************************************************/
+/* Definitionsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 14:36:19
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CRezept.cpp
+ *
+ */
+
+
+// ino.module.CRezept.1077.includes
+#include "CRezept.hpp"
+// ino.end
+#include "CDosierer.hpp"
+#include "CEntleerer.hpp"
+#include "CWaage.hpp"
+#include "CDisplay.hpp"
+#include "CStampfer.hpp"
+#include "CMischer.hpp"
+#include "CRezeptSchritt.hpp"
+
+
+// ino.method.verarbeiteRezept.921.definition
+int systemModel::AnalyseModell::CRezept::verarbeiteRezept()
+// ino.end
+// ino.method.verarbeiteRezept.921.body
+{
+ for (int i=0;i<rezSchr.size();i++)
+ rezSchr[i]->verarbeite();
+ return 0;
+}
+// ino.end
+
+systemModel::AnalyseModell::CRezept::CRezept() {
+ mAktRezeptSchritt=0;
+}
+
+
+void systemModel::AnalyseModell::CRezept::addRezeptschritt(CRezeptschritt * pcrs)
+{
+ //rezSchr[mAktRezeptSchritt]=pcrs;
+ //mAktRezeptSchritt++;
+ rezSchr.push_back(pcrs);
+}
+
+void systemModel::AnalyseModell::CRezept::setAktRezeptschritt(int n) {
+ mAktRezeptSchritt=n;
+}
diff --git a/Bachelor/Softwaretechnik2/mixer/CRezept.hpp b/Bachelor/Softwaretechnik2/mixer/CRezept.hpp
new file mode 100644
index 0000000..92ba1d0
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CRezept.hpp
@@ -0,0 +1,73 @@
+/**********************************************************************************/
+/* Deklarationsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 14:36:16
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CRezept.hpp
+ *
+ */
+
+
+// ino.module.CRezept.1070.ifndef
+#ifndef _CREZEPT_HPP_1070
+#define _CREZEPT_HPP_1070
+// ino.end
+#include <string>
+#include <vector>
+#include "CRezeptSchritt.hpp"
+using std::string;
+using std::vector;
+
+
+namespace systemModel {
+ namespace AnalyseModell {
+
+
+// ino.class.CRezept.403.declaration
+class CRezept
+// ino.end
+// ino.class.CRezept.403.body
+{
+ // ino.attribute.mName.756.declaration
+ private:
+ vector <CRezeptschritt *> rezSchr;
+ string mName;
+ // ino.end
+
+ // ino.attribute.mAktRezeptSchritt.784.declaration
+ private:
+ int mAktRezeptSchritt;
+ // ino.end
+
+ // ino.method.verarbeiteRezept.921.declaration
+ public:
+ virtual int verarbeiteRezept();
+ // ino.end
+ CRezept();
+ public:
+ virtual void addRezeptschritt(CRezeptschritt *);
+ virtual void setAktRezeptschritt(int);
+};
+// ino.end
+
+
+
+
+
+ }; // namespace AnalyseModell
+}; // namespace systemModel
+
+
+#if !defined(NO_IMPLICIT_NAMESPACE_USE)
+using namespace systemModel::AnalyseModell;
+#endif
+
+// ino.module.CRezept.1070.endif
+#endif
+// ino.end
+
diff --git a/Bachelor/Softwaretechnik2/mixer/CRezeptProcessor.cpp b/Bachelor/Softwaretechnik2/mixer/CRezeptProcessor.cpp
new file mode 100644
index 0000000..cad5db8
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CRezeptProcessor.cpp
@@ -0,0 +1,117 @@
+/**********************************************************************************/
+/* Definitionsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 14:36:19
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CRezeptProcessor.cpp
+ *
+ */
+
+
+// ino.module.CRezeptProcessor.1076.includes
+#include "CRezept.hpp"
+#include "CDosierer.hpp"
+#include "CEntleerer.hpp"
+#include "CWaage.hpp"
+#include "CDisplay.hpp"
+#include "CStampfer.hpp"
+#include "CMischer.hpp"
+#include "CRezeptProcessor.hpp"
+// ino.end
+
+#include <iostream>
+using std::cout;
+using std::cin;
+using std::endl;
+
+
+
+// ino.method.verarbeiteRezept.469.definition
+void systemModel::AnalyseModell::CRezeptProzessor::verarbeiteCRezept(CRezept* pCRezept)
+// ino.end
+// ino.method.verarbeiteRezept.469.body
+{
+ pCRezept->verarbeiteRezept();
+}
+// ino.end
+
+systemModel::AnalyseModell::CRezeptProzessor::CRezeptProzessor() {
+
+
+ verarbeiteCRezept(init());
+
+
+}
+
+systemModel::AnalyseModell::CRezeptProzessor::CRezeptProzessor(CRezept* pCRezept) {
+}
+
+CRezept* systemModel::AnalyseModell::CRezeptProzessor::init() {
+
+ CRezept *rez = new CRezept;
+
+ CWaage *wag = new CWaage;
+ CDisplay *disp = new CDisplay(wag);
+ CDosierer *dos1 = new CDosierer((string)"Dosierer 1",wag);
+ CDosierer *dos2 = new CDosierer((string)"Dosierer 2",wag);
+ CDosierer *dos3 = new CDosierer((string)"Dosierer 3",wag);
+ CDosierer *dos4 = new CDosierer((string)"Dosierer 4",wag);
+ CEntleerer *entl = new CEntleerer((string)"Entleerer 1",wag);
+ CStampfer *sta = new CStampfer((string)"Stampfer 1");
+ CMischer *misch = new CMischer((string)"Mischer 1");
+
+
+ int auswahl,menge =0;
+
+ cout<<"Cocktail-Mixer" << endl;
+ cout<<"Auswahl\n1 fuer bestehendes Rezept\n2 fuer neues Rezept\n";
+ cin>>auswahl;
+
+ switch(auswahl){
+
+ case 1: {
+ rez->addRezeptschritt(new CRezeptschritt((string) "Pitu",75,(CGeraet *) dos1));
+ rez->addRezeptschritt(new CRezeptschritt((string) "Eis",83,(CGeraet *) dos2));
+ rez->addRezeptschritt(new CRezeptschritt((string) "Limetten",67,(CGeraet *) dos3));
+ rez->addRezeptschritt(new CRezeptschritt((string) "Zucker",9,(CGeraet *) dos4));
+ rez->addRezeptschritt(new CRezeptschritt((string) "Mischen",20,(CGeraet *) misch));
+ rez->addRezeptschritt(new CRezeptschritt((string) "Stampfen",20,(CGeraet *) sta));
+ rez->addRezeptschritt(new CRezeptschritt((string) "Entleeren",0,(CGeraet *) entl));
+
+
+ };
+ break;
+
+ case 2: { cout<<"Bitte die gewuenschte Menge Pitu angeben: ";
+ cin>>menge;
+ rez->addRezeptschritt(new CRezeptschritt((string) "Pitu",menge,(CGeraet *) dos1));
+ cout<<"Bitte die gewuenschte Menge Eis angeben: ";
+ cin>>menge;
+ rez->addRezeptschritt(new CRezeptschritt((string) "Eis",menge,(CGeraet *) dos2));
+ cout<<"Bitte die gewuenschte Menge an Limetten angeben: ";
+ cin>>menge;
+ rez->addRezeptschritt(new CRezeptschritt((string) "Limetten",menge,(CGeraet *) dos3));
+ cout<<"Bitte die gewuenschte Menge an Zucker angeben: ";
+ cin>>menge;
+ rez->addRezeptschritt(new CRezeptschritt((string) "Zucker",menge,(CGeraet *) dos4));
+ cout<<"Bitte die gewuenschte Mischzeit angeben: ";
+ cin>>menge;
+ rez->addRezeptschritt(new CRezeptschritt((string) "Mischen",menge,(CGeraet *) misch));
+ cout<<"Bitte die gewuenschte Stampfzeit angeben: ";
+ cin>>menge;
+ rez->addRezeptschritt(new CRezeptschritt((string) "Stampfen",menge,(CGeraet *) sta));
+ rez->addRezeptschritt(new CRezeptschritt((string) "Entleeren",menge,(CGeraet *) entl));
+ };
+
+ }
+
+ wag->meldeAn(disp);
+
+return rez;
+}
+
diff --git a/Bachelor/Softwaretechnik2/mixer/CRezeptProcessor.hpp b/Bachelor/Softwaretechnik2/mixer/CRezeptProcessor.hpp
new file mode 100644
index 0000000..0666987
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CRezeptProcessor.hpp
@@ -0,0 +1,59 @@
+/**********************************************************************************/
+/* Deklarationsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 14:36:15
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CRezeptProcessor.hpp
+ *
+ */
+
+
+// ino.module.CRezeptProcessor.1069.ifndef
+#ifndef _CREZEPTPROCESSOR_HPP_1069
+#define _CREZEPTPROCESSOR_HPP_1069
+// ino.end
+#include <string>
+using std::string;
+#include "CRezept.hpp"
+
+namespace systemModel {
+ namespace AnalyseModell {
+
+
+// ino.class.CRezeptProzessor.440.declaration
+class CRezeptProzessor
+// ino.end
+// ino.class.CRezeptProzessor.440.body
+{
+ // ino.method.verarbeiteRezept.469.declaration
+ public:
+ void verarbeiteCRezept(CRezept* pCRezept);
+ CRezept* init();
+ // ino.end
+ CRezeptProzessor();
+ CRezeptProzessor(CRezept* pCRezept);
+
+};
+// ino.end
+
+
+
+
+
+ }; // namespace AnalyseModell
+}; // namespace systemModel
+
+
+#if !defined(NO_IMPLICIT_NAMESPACE_USE)
+using namespace systemModel::AnalyseModell;
+#endif
+
+// ino.module.CRezeptProcessor.1069.endif
+#endif
+// ino.end
+
diff --git a/Bachelor/Softwaretechnik2/mixer/CRezeptSchritt.cpp b/Bachelor/Softwaretechnik2/mixer/CRezeptSchritt.cpp
new file mode 100644
index 0000000..91fcd3a
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CRezeptSchritt.cpp
@@ -0,0 +1,40 @@
+/**********************************************************************************/
+/* Definitionsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 14:36:19
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CRezeptSchritt.cpp
+ *
+ */
+
+
+// ino.module.CRezeptSchritt.1078.includes
+#include "CRezeptSchritt.hpp"
+// ino.end
+
+
+// ino.method.verarbeite.758.definition
+int systemModel::AnalyseModell::CRezeptschritt::verarbeite()
+// ino.end
+// ino.method.verarbeite.758.body
+{
+ pcGeraet->startCGeraet(mWert);
+
+ return 0;
+}
+// ino.end
+systemModel::AnalyseModell::CRezeptschritt::CRezeptschritt() {
+}
+
+systemModel::AnalyseModell::CRezeptschritt::CRezeptschritt(string s, int w, CGeraet * pcg) {
+ mZutat = s;
+ mWert = w;
+ pcGeraet = pcg;
+ pcGeraet->setName(mZutat);
+}
+
diff --git a/Bachelor/Softwaretechnik2/mixer/CRezeptSchritt.hpp b/Bachelor/Softwaretechnik2/mixer/CRezeptSchritt.hpp
new file mode 100644
index 0000000..258f1f8
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CRezeptSchritt.hpp
@@ -0,0 +1,72 @@
+/**********************************************************************************/
+/* Deklarationsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 14:36:15
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CRezeptSchritt.hpp
+ *
+ */
+
+
+// ino.module.CRezeptSchritt.1071.ifndef
+#ifndef _CREZEPTSCHRITT_HPP_1071
+#define _CREZEPTSCHRITT_HPP_1071
+// ino.end
+#include <string>
+using std::string;
+#include "CDosierer.hpp"
+#include "CEntleerer.hpp"
+#include "CStampfer.hpp"
+#include "CMischer.hpp"
+#include "CGeraet.hpp"
+
+namespace systemModel {
+ namespace AnalyseModell {
+
+
+// ino.class.CRezeptschritt.401.declaration
+class CRezeptschritt
+// ino.end
+// ino.class.CRezeptschritt.401.body
+{
+ // ino.attribute.mZutat.560.declaration
+ private:
+ string mZutat;
+ // ino.end
+ private:
+ CGeraet *pcGeraet;
+ // ino.attribute.mWert.431.declaration
+ private:
+ int mWert;
+ // ino.end
+
+ // ino.method.verarbeite.758.declaration
+ public:
+ virtual int verarbeite();
+ // ino.end
+ CRezeptschritt();
+ CRezeptschritt(string , int , CGeraet *);
+};
+// ino.end
+
+
+
+
+
+ }; // namespace AnalyseModell
+}; // namespace systemModel
+
+
+#if !defined(NO_IMPLICIT_NAMESPACE_USE)
+using namespace systemModel::AnalyseModell;
+#endif
+
+// ino.module.CRezeptSchritt.1071.endif
+#endif
+// ino.end
+
diff --git a/Bachelor/Softwaretechnik2/mixer/CStampfer.cpp b/Bachelor/Softwaretechnik2/mixer/CStampfer.cpp
new file mode 100644
index 0000000..69e80cf
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CStampfer.cpp
@@ -0,0 +1,42 @@
+/**********************************************************************************/
+/* Definitionsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 14:59:41
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CStampfer.cpp
+ *
+ */
+
+
+#include "CStampfer.hpp"
+
+using std::cout;
+using std::endl;
+
+int systemModel::AnalyseModell::CStampfer::startCGeraet(int i)
+{
+ cout << "Gerät " << getname() << " startet mit Wert "<< i << endl;
+ setWert(i);
+ stopCGeraet();
+ return 0;
+}
+
+
+int systemModel::AnalyseModell::CStampfer::stopCGeraet()
+{
+ cout << "Gerät " << getname() << " stoppt" << endl;
+ return 0;
+}
+systemModel::AnalyseModell::CStampfer::CStampfer()
+{
+}
+systemModel::AnalyseModell::CStampfer::CStampfer(string s):CGeraet(s)
+{
+
+}
+
diff --git a/Bachelor/Softwaretechnik2/mixer/CStampfer.hpp b/Bachelor/Softwaretechnik2/mixer/CStampfer.hpp
new file mode 100644
index 0000000..561e370
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CStampfer.hpp
@@ -0,0 +1,61 @@
+/**********************************************************************************/
+/* Deklarationsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 15:01:42
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CStampfer.hpp
+ *
+ */
+
+
+// ino.module.CStampfer.1086.ifndef
+#ifndef _CSTAMPFER_HPP_1086
+#define _CSTAMPFER_HPP_1086
+// ino.end
+
+#include "CGeraet.hpp"
+namespace systemModel {
+ namespace AnalyseModell {
+
+
+// ino.class.CStampfer.754.declaration
+class CStampfer: public CGeraet
+// ino.end
+// ino.class.CStampfer.754.body
+{
+ // ino.method.startGeraet.1128.declaration
+ public:
+ virtual int startCGeraet(int);
+ // ino.end
+
+ // ino.method.stopGeraet.1131.declaration
+ public:
+ virtual int stopCGeraet();
+ // ino.end
+ public:
+ CStampfer();
+ CStampfer(string);
+};
+// ino.end
+
+
+
+
+
+ }; // namespace AnalyseModell
+}; // namespace systemModel
+
+
+#if !defined(NO_IMPLICIT_NAMESPACE_USE)
+using namespace systemModel::AnalyseModell;
+#endif
+
+// ino.module.CStampfer.1086.endif
+#endif
+// ino.end
+
diff --git a/Bachelor/Softwaretechnik2/mixer/CSubjekt.cpp b/Bachelor/Softwaretechnik2/mixer/CSubjekt.cpp
new file mode 100644
index 0000000..51c1b58
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CSubjekt.cpp
@@ -0,0 +1,57 @@
+/**********************************************************************************/
+/* Definitionsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 14:36:19
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CSubjekt.cpp
+ *
+ */
+
+
+// ino.module.CSubjekt.1079.includes
+#include "CObserver.hpp"
+#include "CSubjekt.hpp"
+// ino.end
+
+#include <vector>
+using std::vector;
+
+// ino.method.meldeAn.516.definition
+int systemModel::AnalyseModell::CSubjekt::meldeAn(CObserver *pobs)
+// ino.end
+// ino.method.meldeAn.516.body
+{
+ obsVec.push_back(pobs);
+ //benachrichtigeAlle();
+ return 0;
+}
+// ino.end
+
+// ino.method.meldeAb.518.definition
+int systemModel::AnalyseModell::CSubjekt::meldeAb()
+// ino.end
+// ino.method.meldeAb.518.body
+{
+ obsVec.pop_back();
+ return 0;
+}
+// ino.end
+
+// ino.method.benachrichtige.520.definition
+void systemModel::AnalyseModell::CSubjekt::benachrichtige(CObserver* pBeobachter)
+// ino.end
+// ino.method.benachrichtige.520.body
+{
+}
+// ino.end
+
+
+void systemModel::AnalyseModell::CSubjekt::benachrichtigeAlle() {
+ for (int i=0;i<obsVec.size();i++)
+ obsVec[i]->aktualisiere();
+}
diff --git a/Bachelor/Softwaretechnik2/mixer/CSubjekt.hpp b/Bachelor/Softwaretechnik2/mixer/CSubjekt.hpp
new file mode 100644
index 0000000..57cf6e7
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CSubjekt.hpp
@@ -0,0 +1,73 @@
+/**********************************************************************************/
+/* Deklarationsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 14:36:15
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CSubjekt.hpp
+ *
+ */
+
+
+// ino.module.CSubjekt.1072.ifndef
+#ifndef _CSUBJEKT_HPP_1072
+#define _CSUBJEKT_HPP_1072
+// ino.end
+
+#include "CObserver.hpp"
+#include <string>
+#include <vector>
+using std::string;
+using std::vector;
+
+namespace systemModel {
+ namespace AnalyseModell {
+
+
+// ino.class.CSubjekt.512.declaration
+class CSubjekt
+// ino.end
+// ino.class.CSubjekt.512.body
+{
+ // ino.method.meldeAn.516.declaration
+ public:
+ virtual int meldeAn (CObserver *);
+ // ino.end
+
+ // ino.method.meldeAb.518.declaration
+ public:
+ virtual int meldeAb();
+ // ino.end
+
+ // ino.method.benachrichtige.520.declaration
+ public:
+ virtual void benachrichtige(CObserver *);
+ // ino.end
+ public:
+ virtual void benachrichtigeAlle();
+ private:
+ vector<CObserver *> obsVec;
+
+};
+// ino.end
+
+
+
+
+
+ }; // namespace AnalyseModell
+}; // namespace systemModel
+
+
+#if !defined(NO_IMPLICIT_NAMESPACE_USE)
+using namespace systemModel::AnalyseModell;
+#endif
+
+// ino.module.CSubjekt.1072.endif
+#endif
+// ino.end
+
diff --git a/Bachelor/Softwaretechnik2/mixer/CVentilGeraet.cpp b/Bachelor/Softwaretechnik2/mixer/CVentilGeraet.cpp
new file mode 100644
index 0000000..5b0fb50
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CVentilGeraet.cpp
@@ -0,0 +1,70 @@
+/**********************************************************************************/
+/* Definitionsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 14:36:18
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CVentilGeraet.cpp
+ *
+ */
+
+
+// ino.module.CVentilGeraet.1090.includes
+#include "CVentilGeraet.hpp"
+// ino.end
+
+#include <iostream>
+using std::cout;
+using std::endl;
+
+// ino.method.pruefeGewicht.995.definition
+int systemModel::AnalyseModell::CVentilGeraet::pruefeGewicht()
+// ino.end
+// ino.method.pruefeGewicht.995.body
+{
+ return 0;
+}
+// ino.end
+
+// ino.method.oeffneVentil.776.definition
+int systemModel::AnalyseModell::CVentilGeraet::oeffneVentil()
+// ino.end
+// ino.method.oeffneVentil.776.body
+{
+ cout << getname() << " oeffnet Ventil" << endl;
+ return 0;
+}
+// ino.end
+
+// ino.method.schliesseVentil.778.definition
+int systemModel::AnalyseModell::CVentilGeraet::schliesseVentil()
+// ino.end
+// ino.method.schliesseVentil.778.body
+{
+ cout << getname() << " schliesst Ventil" <<endl;
+ return 0;
+}
+// ino.end
+
+int systemModel::AnalyseModell::CVentilGeraet::startCGeraet(int i) {
+ return 0;
+}
+
+int systemModel::AnalyseModell::CVentilGeraet::stopCGeraet() {
+ return 0;
+}
+
+systemModel::AnalyseModell::CVentilGeraet::CVentilGeraet() {
+}
+systemModel::AnalyseModell::CVentilGeraet::CVentilGeraet(string s,CSubjekt* pSub): CGeraet(s){
+}
+systemModel::AnalyseModell::CVentilGeraet::CVentilGeraet(string s): CGeraet(s){
+}
+
+void systemModel::AnalyseModell::CVentilGeraet::setAenderung(int i) {
+ mAenderung = i;
+}
diff --git a/Bachelor/Softwaretechnik2/mixer/CVentilGeraet.hpp b/Bachelor/Softwaretechnik2/mixer/CVentilGeraet.hpp
new file mode 100644
index 0000000..16b80a0
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CVentilGeraet.hpp
@@ -0,0 +1,82 @@
+/**********************************************************************************/
+/* Deklarationsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 14:36:12
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CVentilGeraet.hpp
+ *
+ */
+
+
+// ino.module.CVentilGeraet.1081.ifndef
+#ifndef _CVENTILGERAET_HPP_1081
+#define _CVENTILGERAET_HPP_1081
+// ino.end
+#include "CObserver.hpp"
+#include "CSubjekt.hpp"
+#include "CGeraet.hpp"
+#include <string>
+using std::string;
+
+namespace systemModel {
+ namespace AnalyseModell {
+
+
+// ino.class.CVentilGeraete.774.declaration
+class CVentilGeraet: public CObserver, public CGeraet
+// ino.end
+// ino.class.CVentilGeraete.774.body
+{
+ // ino.method.pruefeGewicht.995.declaration
+ public:
+ virtual int pruefeGewicht();
+ // ino.end
+
+ // ino.method.oeffneVentil.776.declaration
+ public:
+ virtual int oeffneVentil();
+ // ino.end
+
+ // ino.method.schliesseVentil.778.declaration
+ public:
+ virtual int schliesseVentil();
+ // ino.end
+ public:
+ CVentilGeraet();
+ CVentilGeraet(string,CSubjekt *);
+ CVentilGeraet(string);
+ virtual int aktualisiere()=0;
+ public:
+ virtual int startCGeraet(int);
+ public:
+ virtual int stopCGeraet();
+ private:
+ int mAenderung;
+ public:
+ void setAenderung(int);
+ int getAenderung() {return mAenderung;}
+
+};
+// ino.end
+
+
+
+
+
+ }; // namespace AnalyseModell
+}; // namespace systemModel
+
+
+#if !defined(NO_IMPLICIT_NAMESPACE_USE)
+using namespace systemModel::AnalyseModell;
+#endif
+
+// ino.module.CVentilGeraet.1081.endif
+#endif
+// ino.end
+
diff --git a/Bachelor/Softwaretechnik2/mixer/CWaage.cpp b/Bachelor/Softwaretechnik2/mixer/CWaage.cpp
new file mode 100644
index 0000000..0dac83d
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CWaage.cpp
@@ -0,0 +1,129 @@
+/**********************************************************************************/
+/* Definitionsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 14:36:18
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CWaage.cpp
+ *
+ */
+
+
+// ino.module.CWaage.1080.includes
+#include "CWaage.hpp"
+// ino.end
+
+int test = 0; //globale Testvariable
+int test2 = 100; //globale Testvariable
+
+// ino.method.aktiviere.760.definition
+int systemModel::AnalyseModell::CWaage::aktiviere(CVentilGeraet *pcvg)
+// ino.end
+// ino.method.aktiviere.760.body
+{
+ pAktVentilGeraet=pcvg;
+ mGewichtErreicht=false;
+ //benachrichtigeAlle();
+ pAktVentilGeraet->oeffneVentil();
+ while (!mGewichtErreicht) {
+ gewichtNichtErreicht();
+ }
+ pAktVentilGeraet->stopCGeraet();
+ return 0;
+}
+// ino.end
+
+// ino.method.gewichtErreicht.762.definition
+int systemModel::AnalyseModell::CWaage::gewichtErreicht()
+// ino.end
+// ino.method.gewichtErreicht.762.body
+{
+ mGewichtErreicht=true;
+ return 0;
+}
+// ino.end
+
+// ino.method.gewichtNichtErreicht.764.definition
+int systemModel::AnalyseModell::CWaage::gewichtNichtErreicht()
+// ino.end
+// ino.method.gewichtNichtErreicht.764.body
+{
+ aendereGewicht();
+ return 0;
+}
+// ino.end
+
+// ino.method.erhoeheGewicht.568.definition
+int systemModel::AnalyseModell::CWaage::erhoeheGewicht(int fBetrag)
+// ino.end
+// ino.method.erhoeheGewicht.568.body
+{
+
+
+ mGesamtGewicht+=fBetrag;
+
+ test += fBetrag;
+
+ return test;
+}
+// ino.end
+
+// ino.method.verringereGewicht.570.definition
+int systemModel::AnalyseModell::CWaage::verringereGewicht(int fBetrag)
+// ino.end
+// ino.method.verringereGewicht.570.body
+{
+ mGesamtGewicht-=fBetrag;
+
+ test2 -= fBetrag;
+
+ return test2;
+}
+// ino.end
+
+// ino.method.getGesamtGewicht.564.definition
+int systemModel::AnalyseModell::CWaage::getGesamtGewicht()
+// ino.end
+// ino.method.getGesamtGewicht.564.body
+{
+ return mGesamtGewicht;
+}
+// ino.end
+
+// ino.method.getDifferenzGewicht.566.definition
+int systemModel::AnalyseModell::CWaage::getDifferenzGewicht()
+// ino.end
+// ino.method.getDifferenzGewicht.566.body
+{
+ return mDifferenzGewicht;
+}
+// ino.end
+
+// ino.method.tariere.487.definition
+void systemModel::AnalyseModell::CWaage::tariere()
+// ino.end
+// ino.method.tariere.487.body
+{
+ mDifferenzGewicht=0;
+ benachrichtigeAlle();
+}
+// ino.end
+
+
+systemModel::AnalyseModell::CWaage::CWaage() {
+ mGesamtGewicht=0;
+ mDifferenzGewicht=0;
+}
+
+void systemModel::AnalyseModell::CWaage::aendereGewicht()
+// ino.end
+// ino.method.verringereGewicht.570.body
+{
+ mDifferenzGewicht=(mDifferenzGewicht+pAktVentilGeraet->getAenderung())>0?mDifferenzGewicht+pAktVentilGeraet->getAenderung():0;
+ mGesamtGewicht+=pAktVentilGeraet->getAenderung();
+ benachrichtigeAlle();
+}
diff --git a/Bachelor/Softwaretechnik2/mixer/CWaage.hpp b/Bachelor/Softwaretechnik2/mixer/CWaage.hpp
new file mode 100644
index 0000000..f0fabfc
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/CWaage.hpp
@@ -0,0 +1,110 @@
+/**********************************************************************************/
+/* Deklarationsmodul */
+/**********************************************************************************/
+/*
+ * generiert mit Innovator Version 8.1.04
+ *
+ * erstellt am: 12.01.2006 14:36:14
+ * Repository : swtc20
+ * Modell : swt
+ * Benutzer : swtc20
+ * File : /users/swtc20/code/CWaage.hpp
+ *
+ */
+
+
+// ino.module.CWaage.1073.ifndef
+#ifndef _CWAAGE_HPP_1073
+#define _CWAAGE_HPP_1073
+// ino.end
+#include <string>
+#include "CSubjekt.hpp"
+#include "CVentilGeraet.hpp"
+using std::string;
+
+
+namespace systemModel {
+ namespace AnalyseModell {
+
+
+// ino.class.CWaage.436.declaration
+class CWaage: public CSubjekt
+// ino.end
+// ino.class.CWaage.436.body
+{
+ // ino.attribute.mGesamtGewicht.481.declaration
+ private:
+ int mGesamtGewicht;
+ // ino.end
+
+ // ino.attribute.mDifferenzGewicht.483.declaration
+ private:
+ int mDifferenzGewicht;
+ // ino.end
+
+ // ino.method.aktiviere.760.declaration
+ public:
+ virtual int aktiviere(CVentilGeraet *);
+ // ino.end
+
+ // ino.method.gewichtErreicht.762.declaration
+ public:
+ virtual int gewichtErreicht();
+ // ino.end
+
+ // ino.method.gewichtNichtErreicht.764.declaration
+ public:
+ virtual int gewichtNichtErreicht();
+ // ino.end
+
+ // ino.method.erhoeheGewicht.568.declaration
+ public:
+ virtual int erhoeheGewicht(int fBetrag);
+ // ino.end
+
+ // ino.method.verringereGewicht.570.declaration
+ public:
+ virtual int verringereGewicht(int fBetrag);
+ // ino.end
+
+ // ino.method.getGesamtGewicht.564.declaration
+ public:
+ virtual int getGesamtGewicht();
+ // ino.end
+
+ // ino.method.getDifferenzGewicht.566.declaration
+ public:
+ virtual int getDifferenzGewicht();
+ // ino.end
+
+ // ino.method.tariere.487.declaration
+ public:
+ virtual void tariere();
+ // ino.end
+ public:
+ CWaage();
+ private:
+ CVentilGeraet *pAktVentilGeraet;
+ public:
+ void aendereGewicht();
+ private:
+ bool mGewichtErreicht;
+};
+// ino.end
+
+
+
+
+
+ }; // namespace AnalyseModell
+}; // namespace systemModel
+
+
+#if !defined(NO_IMPLICIT_NAMESPACE_USE)
+using namespace systemModel::AnalyseModell;
+#endif
+
+// ino.module.CWaage.1073.endif
+#endif
+// ino.end
+
diff --git a/Bachelor/Softwaretechnik2/mixer/Debug/makefile b/Bachelor/Softwaretechnik2/mixer/Debug/makefile
new file mode 100644
index 0000000..086a403
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/Debug/makefile
@@ -0,0 +1,30 @@
+################################################################################
+# Diese Datei wurde automatisch generiert. Sie darf nicht bearbeitet werden!
+################################################################################
+
+ROOT := ..
+
+-include $(ROOT)/makefile.init
+
+RM := rm -rf
+
+# Alle an der Erstellung beteiligten Quellen sind hier definiert.
+-include sources.mk
+-include $(SUBDIRS:%=%/subdir.mk)
+-include objects.mk
+-include $(DEPS)
+-include $(ROOT)/makefile.defs
+
+all: mixer.exe
+
+mixer.exe: $(OBJS)
+ @echo 'Ziel wird erstellt: $@'
+ g++ -o $@ $(OBJS) $(USER_OBJS) $(LIBS)
+ @echo 'Erstellung fertig gestellt: $@'
+
+clean:
+ -$(RM) $(OBJS) $(DEPS) mixer.exe
+
+.PHONY: all clean dependents
+
+-include $(ROOT)/makefile.targets
diff --git a/Bachelor/Softwaretechnik2/mixer/Debug/objects.mk b/Bachelor/Softwaretechnik2/mixer/Debug/objects.mk
new file mode 100644
index 0000000..8bcaab0
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/Debug/objects.mk
@@ -0,0 +1,13 @@
+################################################################################
+# Diese Datei wurde automatisch generiert. Sie darf nicht bearbeitet werden!
+################################################################################
+
+LIBS :=
+USER_OBJS :=
+
+
+OBJS := \
+ $(C_SRCS:$(ROOT)/%.c=%.o) $(C_UPPER_SRCS:$(ROOT)/%.C=%.o) $(CC_SRCS:$(ROOT)/%.cc=%.o) $(CXX_SRCS:$(ROOT)/%.cxx=%.o) $(CPP_SRCS:$(ROOT)/%.cpp=%.o) $(S_SRCS:$(ROOT)/%.s=%.o) $(S_UPPER_SRCS:$(ROOT)/%.S=%.o)
+
+DEPS := \
+ $(C_SRCS:$(ROOT)/%.c=%.d) $(C_UPPER_SRCS:$(ROOT)/%.C=%.d) $(CC_SRCS:$(ROOT)/%.cc=%.d) $(CXX_SRCS:$(ROOT)/%.cxx=%.d) $(CPP_SRCS:$(ROOT)/%.cpp=%.d) $(S_SRCS:$(ROOT)/%.s=%.d) $(S_UPPER_SRCS:$(ROOT)/%.S=%.d) \ No newline at end of file
diff --git a/Bachelor/Softwaretechnik2/mixer/Debug/sources.mk b/Bachelor/Softwaretechnik2/mixer/Debug/sources.mk
new file mode 100644
index 0000000..6f3ea65
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/Debug/sources.mk
@@ -0,0 +1,16 @@
+################################################################################
+# Diese Datei wurde automatisch generiert. Sie darf nicht bearbeitet werden!
+################################################################################
+
+C_SRCS :=
+C_UPPER_SRCS :=
+CC_SRCS :=
+CXX_SRCS :=
+CPP_SRCS :=
+S_SRCS :=
+S_UPPER_SRCS :=
+
+# Jedes Unterverzeichnis mit Quellendateien muss hier beschrieben werden
+SUBDIRS := \
+. \
+
diff --git a/Bachelor/Softwaretechnik2/mixer/Debug/subdir.mk b/Bachelor/Softwaretechnik2/mixer/Debug/subdir.mk
new file mode 100644
index 0000000..955da59
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/Debug/subdir.mk
@@ -0,0 +1,57 @@
+################################################################################
+# Diese Datei wurde automatisch generiert. Sie darf nicht bearbeitet werden!
+################################################################################
+
+S_UPPER_SRCS += \
+${addprefix $(ROOT)/, \
+}
+
+CPP_SRCS += \
+${addprefix $(ROOT)/, \
+CDisplay.cpp \
+CDosierer.cpp \
+CEntleerer.cpp \
+CGeraet.cpp \
+CMischer.cpp \
+CObserver.cpp \
+CRezept.cpp \
+CRezeptProcessor.cpp \
+CRezeptSchritt.cpp \
+CStampfer.cpp \
+CSubjekt.cpp \
+CVentilGeraet.cpp \
+CWaage.cpp \
+main.cpp \
+}
+
+CC_SRCS += \
+${addprefix $(ROOT)/, \
+}
+
+C_SRCS += \
+${addprefix $(ROOT)/, \
+}
+
+C_UPPER_SRCS += \
+${addprefix $(ROOT)/, \
+}
+
+CXX_SRCS += \
+${addprefix $(ROOT)/, \
+}
+
+S_SRCS += \
+${addprefix $(ROOT)/, \
+}
+
+# Jedes Unterverzeichnis muss Regeln für die von ihm ergänzten Erstellungsquellen angeben
+%.o: $(ROOT)/%.cpp
+ @echo 'Datei wird erstellt: $<'
+ @echo g++ -O0 -g3 -Wall -c -fmessage-length=0 -o$@ $<
+ @g++ -O0 -g3 -Wall -c -fmessage-length=0 -o$@ $< && \
+ echo -n $(@:%.o=%.d) '' > $(@:%.o=%.d) && \
+ g++ -MM -MG -P -w -O0 -g3 -Wall -c -fmessage-length=0 $< >> $(@:%.o=%.d)
+ @echo 'Erstellung fertig gestellt: $<'
+ @echo ' '
+
+
diff --git a/Bachelor/Softwaretechnik2/mixer/Test.h b/Bachelor/Softwaretechnik2/mixer/Test.h
new file mode 100644
index 0000000..4958172
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/Test.h
@@ -0,0 +1,16 @@
+#ifndef _TEST__H
+#define _TEST__H
+
+// #include "TestResult.h"
+
+class Test
+{
+public:
+// void run( TestResult& result) = 0;
+ virtual void run() {}
+ virtual void setUp() {}
+ virtual void tearDown() {}
+};
+
+// No Code behind this line!
+#endif \ No newline at end of file
diff --git a/Bachelor/Softwaretechnik2/mixer/TestCDosierer.h b/Bachelor/Softwaretechnik2/mixer/TestCDosierer.h
new file mode 100644
index 0000000..16ca4d8
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/TestCDosierer.h
@@ -0,0 +1,78 @@
+#ifndef _TESTCDOSIERER__
+#define _TESTCDOSIERER__
+
+
+#include "CDosierer.hpp" // zu testende Klasse
+#include "TestCase.h" // Basisklasse für Testklasse
+
+
+class TestCDosierer : public TestCase
+{
+protected:
+ CDosierer* pCDosierer; // Zeiger auf zu testende Klasse
+ // damit's was zu Initialisieren gibt ...
+
+public:
+ // Initialisierungsmethode
+ void setUp() {
+
+
+ CWaage *wag = new CWaage;
+ pCDosierer = new CDosierer((string)"Dosierer 1",wag);
+
+ }
+
+ // Aufräum-Methode
+ void tearDown() {
+ delete pCDosierer;
+ }
+
+ //! meine Testfunktionen
+ void testDosierer1()
+ {
+
+
+ tN = "testDosierer1 (pruefe Gewicht)";
+
+ tL = __LINE__; // Zeilennummer
+
+ for ( int a = 1; a < 100.; a ++ )
+ {
+ pCDosierer->setWert(a);
+
+ assertEquals( 1, // erwartet (1 für Gewicht nicht erreicht)
+ pCDosierer->pruefeGewicht(), // berechnet
+ 0.1 ); // epsilon
+ } // end for
+ }
+
+ void testDosierer2()
+ {
+
+
+ tN = "testDosierer2 (pruefe Gewicht)";
+
+ tL = __LINE__; // Zeilennummer
+
+
+
+ pCDosierer->setWert(0);
+
+ assertEquals( 0, // erwartet (0 für Gewicht erreicht)
+ pCDosierer->pruefeGewicht(), // berechnet
+ 0.1 ); // epsilon
+
+ }
+
+
+ //! Konstruktor, fügt gleich Testfunktionen hinzu
+ TestCDosierer() : TestCase( "TEST DOSIERER " )
+ {
+ addTest( (TESTFUNC) &TestCDosierer::testDosierer1 );
+ addTest( (TESTFUNC) &TestCDosierer::testDosierer2 );
+
+ }
+
+};
+
+#endif
diff --git a/Bachelor/Softwaretechnik2/mixer/TestCWaage.h b/Bachelor/Softwaretechnik2/mixer/TestCWaage.h
new file mode 100644
index 0000000..2a733d8
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/TestCWaage.h
@@ -0,0 +1,70 @@
+#ifndef _TESTCWAAGE__
+#define _TESTCWAAGE__
+
+
+#include "CWaage.hpp" // zu testende Klasse
+#include "TestCase.h" // Basisklasse für Testklasse
+
+
+class TestCWaage : public TestCase
+{
+protected:
+ CWaage* pCWaage; // Zeiger auf zu testende Klasse
+ // damit's was zu Initialisieren gibt ...
+
+public:
+ // Initialisierungsmethode
+ void setUp() {
+ pCWaage = new CWaage();
+ }
+
+ // Aufräum-Methode
+ void tearDown() {
+ delete pCWaage;
+ }
+
+ //! meine Testfunktionen
+ void testWiegen1()
+ {
+ tN = "testWiegen1 (erhoehen)";
+ int gesamt = 0;
+ tL = __LINE__; // Zeilennummer
+
+ for ( int a = 0; a < 100.; a ++ )
+ {
+ gesamt += a;
+
+ assertEquals( gesamt, //sqrt( a ), // erwartet
+ pCWaage->erhoeheGewicht(a),//pMyMath->wurzel( a, prec ), // berechnet
+ 0.1 ); // epsilon
+ } // end for
+ }
+
+ void testWiegen2()
+ {
+ tN = "testWiegen2 (verringern)";
+ int gesamt = 100;
+ tL = __LINE__; // Zeilennummer
+
+ for ( int a = 100.; a < 100.; a -- )
+ {
+ gesamt -= a;
+
+ assertEquals( (a -1), // erwartet
+ pCWaage->verringereGewicht(a),// berechnet
+ 0.1 );// epsilon
+ } // end for
+ }
+
+
+ //! Konstruktor, fügt gleich Testfunktionen hinzu
+ TestCWaage() : TestCase( "TestCWaage" )
+ {
+ addTest( (TESTFUNC) &TestCWaage::testWiegen1 );
+ addTest( (TESTFUNC) &TestCWaage::testWiegen2 );
+
+ }
+
+};
+
+#endif
diff --git a/Bachelor/Softwaretechnik2/mixer/TestCase.cpp b/Bachelor/Softwaretechnik2/mixer/TestCase.cpp
new file mode 100644
index 0000000..851d660
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/TestCase.cpp
@@ -0,0 +1,206 @@
+#include <iostream>
+#include <string>
+using namespace std;
+#include <stdio.h> // für formatierte Ausgabe im C-Stil
+#define BUFLEN 160 // für Ausgabe
+
+#include "TestCase.h"
+
+// Konstruktor
+TestCase::TestCase( char* name )
+ : testsRun(0), testsFailed(0), testsOK(0)
+{
+ if (name != 0)
+ strncpy( tcName, name, sizeof(tcName)-1 );
+ else
+ tcName[0] = 0; // leerer String
+}
+
+// Hinzufügen von Testfunktionen
+void TestCase::addTest( TESTFUNC f )
+{
+ vecFkt.push_back( f );
+}
+
+// Test-Run für Test Case
+void TestCase::run()
+{
+ testsRun = 0; // Zähler initialisieren
+ testsFailed = 0;
+ testsOK = 0;
+
+ // Setup für Test
+ setUp();
+
+ for (int i = 0; i < vecFkt.size(); i++)
+ {
+ tL = 0; // falls nicht gesetzt durch Fkt
+ tN = ""; // falls nicht gesetzt durch Fkt
+
+ bool success = true; // init
+
+ try {
+ testsRun++; // Tests mitzählen
+ (this->*vecFkt[i])(); // Testfunktion aufrufen
+ }
+ catch ( string msg ) // Fehlerbehandlung
+ {
+ success = false; // Fehler Markieren
+ cout << "Fehler " << tcName << '.' << tN
+ << " Zeile " << tL << " "
+ << msg << endl;
+ }
+
+ // Auswertung des Tests
+ if (success)
+ {
+ testsOK++;
+ cout << "OK: " << tcName << '.' << tN << endl;
+ }
+ else
+ {
+ testsFailed++;
+ }
+
+ } // end for
+
+ // Tear Down für Test
+ tearDown();
+
+ cout << ">>> " << tcName << ":Tests durchgefuehrt: " << testsRun
+ << ", o.k: " << testsOK
+ << ", fehlgeschlagen: " << testsFailed
+ << endl;
+}
+
+void TestCase::assertEquals( int a, int b )
+{
+ if (a != b)
+ {
+ char buf[BUFLEN];
+ sprintf( buf, "%s: soll: %d, ist: %d",
+ "assertEquals(int, int)", a, b);
+ throw ( *(new string( buf )) );
+ }
+}
+
+void TestCase::assertEquals( long a, long b)
+{
+ if (a != b)
+ {
+ char buf[BUFLEN];
+ sprintf( buf, "%s: soll: %d, ist: %d",
+ "assertEquals(long,long)", a, b);
+ throw ( *(new string( buf )) );
+ }
+}
+
+void TestCase::assertEquals( float a, float b)
+{
+ if (a != b)
+ {
+ char buf[BUFLEN];
+ sprintf( buf, "%s: soll: %f, ist: %f",
+ "assertEquals(float,float)", a, b);
+ throw ( *(new string( buf )) );
+ }
+}
+
+void TestCase::assertEquals( double a, double b )
+{
+ if (a != b)
+ {
+ char buf[BUFLEN];
+ sprintf( buf, "%s: soll: %f, ist: %f",
+ "assertEquals(double,double)", a, b);
+ throw ( *(new string( buf )) );
+ }
+}
+
+void TestCase::assertEquals( double a, double b, double epsilon )
+{
+ double diff = ( a >= b ) ? (a-b) : (b-a);
+ if ( diff > epsilon )
+ {
+ char buf[BUFLEN];
+ sprintf( buf, "%s: soll: %f, ist: %f, epsilon: %e",
+ "assertEquals(double,double,double)", a, b, epsilon);
+ throw ( *(new string( buf )) );
+ }
+}
+
+
+void TestCase::assertEquals( bool a, bool b )
+{
+ if (a != b)
+ {
+ char buf[BUFLEN];
+ sprintf( buf, "%s: soll: %s, ist: %s",
+ "assertEquals(bool,bool)",
+ ((a==true) ? "true" : "false"), ((b==true) ? "true" : "false"));
+ throw ( *(new string( buf )) );
+ }
+}
+
+void TestCase::assertEquals( void* a, void* b)
+{
+ if (a != b)
+ {
+ char buf[BUFLEN];
+ sprintf( buf, "%s: soll: %x, ist: %x",
+ "assertEquals(void*,void*)", a, b );
+ throw ( *(new string( buf )) );
+ }
+}
+
+void TestCase::assertEquals( char* a, char* b )
+{
+ if ( strcmp( a, b ) != 0 )
+ {
+ char buf[BUFLEN]; // Achtung Länge hier kritisch!
+ const int StrMaxLen = 48; //!< Ausgabe Einzelstring begrenzen
+ string sa( a ); // Zuweisung auf Klasse string
+ string sb( b ); // erleichtert Manipulationen
+ if (sa.length() > StrMaxLen)
+ sa = sa.substr( 0, StrMaxLen );
+ if (sb.length() > StrMaxLen)
+ sb = sb.substr( 0, StrMaxLen );
+
+ sprintf( buf, "%s: soll: %s, ist: %s",
+ "assertEquals(char*,char*)", sa.c_str(), sb.c_str() );
+ throw ( *(new string( buf )) );
+ }
+}
+
+
+void TestCase::assertTrue( bool a )
+{
+ if (!a)
+ {
+ char buf[BUFLEN];
+ sprintf( buf, "%s: soll: %s",
+ "assertTrue(bool,bool)",
+ ((a==true) ? "true" : "false") );
+ throw ( *(new string( buf )) );
+ }
+}
+
+void TestCase::assertFalse( bool a)
+{
+ if (a)
+ {
+ char buf[BUFLEN];
+ sprintf( buf, "%s: soll: %s",
+ "assertFalse(bool,bool)",
+ ((a==true) ? "true" : "false") );
+ throw ( *(new string( buf )) );
+ }
+}
+
+void TestCase::assertMessage( char* msg )
+{
+ char buf[BUFLEN];
+ sprintf( buf, "%s: Meldung: %s",
+ "assertMessage( char* )", msg );
+ throw ( *(new string( buf )) );
+}
diff --git a/Bachelor/Softwaretechnik2/mixer/TestCase.h b/Bachelor/Softwaretechnik2/mixer/TestCase.h
new file mode 100644
index 0000000..c4eaca9
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/TestCase.h
@@ -0,0 +1,241 @@
+#ifndef _TESTCASE__H
+#define _TESTCASE__H
+
+#include <vector> //!< Container ür Funktionszeiger
+
+#include "Test.h"
+
+class TestCase; //!< Vorwärtsdeklaration für typedef
+
+typedef void (TestCase::*TESTFUNC)(); //!< Definition Testfunktion
+
+/**
+ * TestCase.
+ * Wird zum Gebrauch abgeleitet.
+ *
+ * Beispiel einer Testklasse.
+ * Wird von TestCase abgeleitet
+ * \code
+ * class TestCase : public Test
+ * {
+ * ...
+ * \endcode
+ * Weitere Schritte: Testfunktionen schreiben und
+ * beispielsweise im Konstruktur hinzufügen.
+ * @see Dokumentation TestCase::TestCase()
+ * @author Prof. Ralf Mayer
+ * @version 28.05.2005
+ */
+class TestCase : public Test
+{
+public:
+ /**
+ * Konstruktor.
+ * Anleitung zum Gebrauch: Klasse ableiten, dann Konstruktor
+ * geeignet überschreiben:
+ * \code
+ * MyTestCase( char* name = 0 ) : TestCase( name )
+ * {
+ * addTest( (TESTFUNC) &MyTestCase::test1 );
+ * addTest( (TESTFUNC) &MyTestCase::test2 );
+ * // alle weiteren Tests hinzufügen
+ * // ...
+ * } // Ende Konstruktor
+ * \endcode
+ * @param name [optional] char* Name der Testklasse
+ */
+ TestCase( char* name = 0);
+
+ //! Destruktor
+ virtual ~TestCase() {}
+
+ /**
+ * Ausführen aller Tests in der Testklasse.
+ * Sobald ein Fehler auftritt, wird dieser ausgegeben und
+ * der Einzeltest, also die einzelne Testfunktion beendet.
+ */
+ virtual void run();
+
+ /**
+ * Setup Methode.
+ * Sollte immer von abgeleiter Testklasse überschreiben werden.
+ * Wird zu Beginn jedes Tests aufgerufen, also zu Begin von run()
+ */
+ virtual void setUp() {}
+
+ /**
+ * Teardown Methode zum Aufräumen nach jedem Test.
+ * Sollte immer von abgeleiter Testklasse überschreiben werden.
+ * Wird am Ende jedes Tests aufgerufen, also zu Begin von run()
+ */
+ virtual void tearDown() {}
+
+ /**
+ * Hinzufügen von Testfunktionen in der Testklasse.
+ * Bester Ort für diese Aufrufe ist der Konstruktor
+ * der abgeleiteten Klasse, d.h. der Testklasse
+ *
+ * Bei Zeigern auf Elementfunktionen in C++ sind Besonderheiten
+ * zu beachen. Rufen Sie diese Funktion stets in der folgenden
+ * Form auf, wenn z.B. die Funktion test1 heisst,
+ * und ihre Klasse MyTestCase:
+ * \code
+ * addTest( (TESTFUNC) &MyTestCase::test1 );
+ * \endcode
+ * Eine Testfunktion sollte immer wie folgt aufgebaut werden:
+ * \code
+ * void meinTest3()
+ * {
+ * tN = "meinTest3"; // Hier Name der Testfunktion
+ *
+ * // Hier wird der Test vorbereitet, z.B
+ * float istWert = -2.5; // z.B. Ergebnis einer Berechnung
+ * float erwartet = 2.5; // Bekanntes, d.h. erwartetes Ergebnis
+ *
+ * // Hier wird Ergebnis und Erwartungswert verglichen.
+ * // Compiler schreibt in tL die aktuelle Zeilennummer (__LINE__)
+ * tL= __LINE__; assertEquals( istWert, erwartet );
+ * // sind beide Werte gleich, dann ist's o.k.
+ * // wenn nicht wird Fehler mit Zeilennummer,
+ * // Namen der Testklasse und dem Funktionsnamen
+ * // angezeigt und dokumentiert.
+ * }
+ *
+ * \endcode
+ * Die Signatur einer Testfunktion darf nicht verändert werden
+ * \code void meineTestfunktion() \endcode
+ * @param f TESTFUNC
+ * @todo Dokumentation hinzufügen
+ */
+ void addTest( TESTFUNC f );
+
+ // all assertions
+ /**
+ * Vergleichsfunktion. Falls a != b wird Ausnahme
+ * geworfen und als Fehler dokumentiert.
+ * @exception string. Enthält Fehler sowie Soll- und Ist-Wert
+ * @param a int Soll(erwarteter) Wert
+ * @param b int Ist, d.h Ergebniswert des Tests
+ * @return void
+ */
+ void assertEquals( int a, int b);
+
+ /**
+ * Vergleichsfunktion. Falls a != b wird Ausnahme
+ * geworfen und als Fehler dokumentiert.
+ * @exception string. Enthält Fehler sowie Soll- und Ist-Wert
+ * @param a long Soll(erwarteter) Wert
+ * @param b long Ist, d.h Ergebniswert des Tests
+ * @return void
+ */
+ void assertEquals( long a, long b);
+
+ /**
+ * Vergleichsfunktion. Falls a != b wird Ausnahme
+ * geworfen und als Fehler dokumentiert.
+ * @exception string. Enthält Fehler sowie Soll- und Ist-Wert
+ * @param a float Soll(erwarteter) Wert
+ * @param b float Ist, d.h Ergebniswert des Tests
+ * @return void
+ */
+ void assertEquals( float a, float b );
+
+ /**
+ * Vergleichsfunktion. Falls a != b wird Ausnahme
+ * geworfen und als Fehler dokumentiert.
+ * @exception string. Enthält Fehler sowie Soll- und Ist-Wert
+ * @param a double Soll(erwarteter) Wert
+ * @param b double Ist, d.h Ergebniswert des Tests
+ * @return void
+ */
+ void assertEquals( double a, double b );
+
+ /**
+ * Vergleichsfunktion. Falls a und b nicht innerhalb der
+ * vorgegebenen Genauigkeitsgrenze übereinstimmen, wird Ausnahme
+ * geworfen und als Fehler dokumentiert.
+ * Beachten sie auch mögliche Rundungsfehler bei der Berechnung.
+ * @exception string. Enthält Fehler sowie Soll- und Ist-Wert und Grenze
+ * @param a double Soll(erwarteter) Wert
+ * @param b double Ist, d.h Ergebniswert des Tests
+ * @param e double >= 0 vorgegebene Genauigkeitsgrenze
+ * @return void
+ */
+ void assertEquals( double a, double b, double e );
+
+ /**
+ * Vergleichsfunktion. Falls a != b wird Ausnahme
+ * geworfen und als Fehler dokumentiert.
+ * @exception string. Enthält Fehler sowie Soll- und Ist-Wert
+ * @param a bool Soll(erwarteter) Wert
+ * @param b bool Ist, d.h Ergebniswert des Tests
+ * @return void
+ */
+ void assertEquals( bool a, bool b);
+
+ /**
+ * Vergleichsfunktion für Zeiger!! Falls a != b wird Ausnahme
+ * geworfen und als Fehler dokumentiert.
+ * @exception string. Enthält Fehler sowie Soll- und Ist-Wert
+ * in hexadezimaler Darstellung
+ * @param a void* Soll(erwarteter) Wert als Zeiger
+ * @param b void* Istwert als Zeiger
+ * @return void
+ */
+ void assertEquals( void* a, void* b );
+
+ /**
+ * Vergleichsfunktion nur für C-Strings! Falls a != b wird Ausnahme
+ * geworfen und als Fehler dokumentiert.
+ * @exception string. Enthält Fehler sowie Soll- und Ist-Wert,
+ * jeweils auf 48 Zeichen begrenzt.
+ * @param a char* Soll(erwarteter) Wert
+ * @param b char* Ist, d.h Ergebniswert des Tests
+ * @return void
+ */
+ void assertEquals( char* a, char* b );
+
+ /**
+ * Vergleichsfunktion. Falls a != true (wahr) wird Ausnahme
+ * geworfen und als Fehler dokumentiert.
+ * Hier kann z.B. eine logische Abfrage übergeben werden.
+ * @exception string. Enthält Fehler sowie den übergebenen Wert
+ * @param a bool Soll(erwarteter) Wert
+ * @return void
+ */
+ void assertTrue( bool a );
+
+ /**
+ * Vergleichsfunktion. Falls a != false (falsch) wird Ausnahme
+ * geworfen und als Fehler dokumentiert.
+ * Hier kann z.B. eine logische Abfrage übergeben werden.
+ * @exception string. Enthält Fehler sowie den übergebenen Wert
+ * @param a bool Soll(erwarteter) Wert
+ * @return void
+ */
+ void assertFalse( bool a );
+
+ /**
+ * Wirft Meldung als Ausnahme.
+ * Kann besipielsweise benutzt werden um das Auslösen einer
+ * Exception zu überprüfen.
+ * @exception string. Enthält Meldung
+ * @param msg char* Meldung
+ * @return void
+ */
+ void assertMessage( char* msg );
+
+protected:
+ int testsRun;
+ int testsFailed;
+ int testsOK;
+ int tL; //!< Zeilen Nummer
+ char* tN; //!< Test Name
+ char tcName[32]; //!< Name des Test Case
+
+ //! Container für Funktionszeiger
+ vector<TESTFUNC> vecFkt;
+};
+
+// No Code behind this line!
+#endif \ No newline at end of file
diff --git a/Bachelor/Softwaretechnik2/mixer/TestSuite.cpp b/Bachelor/Softwaretechnik2/mixer/TestSuite.cpp
new file mode 100644
index 0000000..87149a9
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/TestSuite.cpp
@@ -0,0 +1,44 @@
+#include <iostream>
+using namespace std;
+
+#include "TestSuite.h"
+
+// Konstruktor
+TestSuite::TestSuite( char* name )
+{
+ if (name != 0)
+ strncpy( tsName, name, sizeof(tsName)-1 );
+ else
+ tsName[0] = 0; // leerer String
+}
+//! Destruktor
+TestSuite::~TestSuite()
+{
+ // entfernen angelegter Objekte
+ for (int i = 0; i < vecTst.size() ; i++ )
+ {
+ if ( vecTst[i] != 0 )
+ delete vecTst[i];
+ vecTst[i] = 0;
+ } // end for
+
+}
+
+
+
+// Hinzufügen von Testfunktionen
+void TestSuite::addTest( Test* pT )
+{
+ vecTst.push_back( pT );
+}
+
+// Test-Run für Test Case
+void TestSuite::run()
+{
+ cout << "-> Running TestSuite " << tsName << endl;
+
+ for (int i = 0; i < vecTst.size() ; i++ )
+ {
+ vecTst[i]->run();
+ } // end for
+} \ No newline at end of file
diff --git a/Bachelor/Softwaretechnik2/mixer/TestSuite.h b/Bachelor/Softwaretechnik2/mixer/TestSuite.h
new file mode 100644
index 0000000..1c69c01
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/TestSuite.h
@@ -0,0 +1,41 @@
+#ifndef _TESTSUITE__H
+#define _TESTSUITE__H
+
+// #include "TestResult.h"
+#include "Test.h"
+#include <vector>
+
+class TestSuite : public Test
+{
+public:
+ /**
+ * Konstruktor.
+ * Klasse muss nicht abgeleitet, kann direkt verwendet werden
+ * @param name [optional] char* Name der Testklasse
+ */
+ TestSuite( char* name = 0);
+
+ //! Destruktor
+ virtual ~TestSuite();
+
+ /**
+ * Ausführen aller Tests in der Testklasse
+ */
+ virtual void run();
+
+ /**
+ * Hinzufügen von TestCase's in die TestSuite.
+ * @param pTest Test* Zeiger auf Testklasse abgeleitet von TestCase
+ * oder Zeiger auf eine weitere TestSuite
+ * @todo Dokumentation hinzufügen
+ */
+ void addTest(Test* pTest);
+
+protected:
+ vector<Test*> vecTst; //!< Vector für TestCase oder Suite
+ char tsName[32]; //!< Name of the Test Case
+};
+
+
+// No Code behind this line!
+#endif \ No newline at end of file
diff --git a/Bachelor/Softwaretechnik2/mixer/main.cpp b/Bachelor/Softwaretechnik2/mixer/main.cpp
new file mode 100644
index 0000000..41e664a
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/main.cpp
@@ -0,0 +1,52 @@
+//#include "CRezept.hpp"
+//#include "CDisplay.hpp"
+#include "CGeraet.hpp"
+#include "CObserver.hpp"
+#include "CRezeptProcessor.hpp"
+#include "CRezeptSchritt.hpp"
+#include "CRezept.hpp"
+#include "CSubjekt.hpp"
+#include "CWaage.hpp"
+#include "TestSuite.h"
+#include "TestCWaage.h"
+#include "TestCDosierer.h"
+//#include "CDosierer.hpp"
+
+#include <iostream>
+using std::cout;
+using std::cin;
+using std::endl;
+
+// hier ist der Schalter für Testen !
+const bool TEST = true;
+
+int main(){
+
+ cout << "\"Entwicklung Cocktailmischer\" version "
+ << __DATE__ << " " << __TIME__
+ << endl << endl;
+
+ if (TEST) // Test ausführen
+ {
+ // Test Suite erzeugen
+ TestSuite testSammlung("Alle_Tests");
+
+ // Neuen Test erzeugen und hinzufügen
+ testSammlung.addTest( new TestCDosierer );
+ testSammlung.addTest( new TestCWaage);
+
+
+ // Alle(!) Tests starten
+ testSammlung.run();
+
+ return 0; // Programm beenden
+
+ } // Ende aller Tests
+ else
+
+ CRezeptProzessor *crp = new CRezeptProzessor;
+
+
+return 0;
+}
+
diff --git a/Bachelor/Softwaretechnik2/mixer/makefile b/Bachelor/Softwaretechnik2/mixer/makefile
new file mode 100644
index 0000000..4102c62
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/makefile
@@ -0,0 +1,17 @@
+all:
+ g++ -O3 -c -o CDisplay.o CDisplay.cpp
+ g++ -O3 -c -o CRezept.o CRezept.cpp
+ g++ -O3 -c -o CRezeptProcessor.o CRezeptProcessor.cpp
+ g++ -O3 -c -o CRezeptSchritt.o CRezeptSchritt.cpp
+ g++ -O3 -c -o CDosierer.o CDosierer.cpp
+ g++ -O3 -c -o CGeraet.o CGeraet.cpp
+ g++ -O3 -c -o CVentilGeraet.o CVentilGeraet.cpp
+ g++ -O3 -c -o CSubjekt.o CSubjekt.cpp
+ g++ -O3 -c -o CObserver.o CObserver.cpp
+ g++ -O3 -c -o CWaage.o CWaage.cpp
+ g++ -O3 -c -o CMischer.o CMischer.cpp
+ g++ -O3 -c -o CStampfer.o CStampfer.cpp
+ g++ -O3 -c -o CEntleerer.o CEntleerer.cpp
+ g++ -O3 -c -o main.o main.cpp
+
+ g++ -O3 -o mixer *.o
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer.dsp b/Bachelor/Softwaretechnik2/mixer/mixer.dsp
new file mode 100644
index 0000000..06a0beb
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer.dsp
@@ -0,0 +1,204 @@
+# Microsoft Developer Studio Project File - Name="mixer" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** NICHT BEARBEITEN **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=mixer - Win32 Debug
+!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
+!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
+!MESSAGE
+!MESSAGE NMAKE /f "mixer.mak".
+!MESSAGE
+!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
+!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
+!MESSAGE
+!MESSAGE NMAKE /f "mixer.mak" CFG="mixer - Win32 Debug"
+!MESSAGE
+!MESSAGE Für die Konfiguration stehen zur Auswahl:
+!MESSAGE
+!MESSAGE "mixer - Win32 Release" (basierend auf "Win32 (x86) Console Application")
+!MESSAGE "mixer - Win32 Debug" (basierend auf "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName "mixer"
+# PROP Scc_LocalPath "."
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "mixer - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x407 /d "NDEBUG"
+# ADD RSC /l 0x407 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "mixer - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "mixer___Win32_Debug"
+# PROP BASE Intermediate_Dir "mixer___Win32_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "mixer___Win32_Debug"
+# PROP Intermediate_Dir "mixer___Win32_Debug"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c
+# ADD BASE RSC /l 0x407 /d "_DEBUG"
+# ADD RSC /l 0x407 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "mixer - Win32 Release"
+# Name "mixer - Win32 Debug"
+# Begin Group "Quellcodedateien"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\CDisplay.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CDosierer.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CEntleerer.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CGeraet.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CMischer.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CObserver.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CRezept.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CRezeptProcessor.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CRezeptSchritt.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CStampfer.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CSubjekt.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CVentilGeraet.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CWaage.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\main.cpp
+# End Source File
+# End Group
+# Begin Group "Header-Dateien"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\CDisplay.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CDosierer.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CEntleerer.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CGeraet.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CMischer.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CObserver.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CRezept.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CRezeptProcessor.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CRezeptSchritt.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CStampfer.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CSubjekt.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CVentilGeraet.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CWaage.hpp
+# End Source File
+# End Group
+# Begin Group "Ressourcendateien"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer.dsw b/Bachelor/Softwaretechnik2/mixer/mixer.dsw
new file mode 100644
index 0000000..2537e8c
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer.dsw
@@ -0,0 +1,33 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNUNG: DIESE ARBEITSBEREICHSDATEI DARF NICHT BEARBEITET ODER GELÖSCHT WERDEN!
+
+###############################################################################
+
+Project: "mixer"=.\mixer.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+ begin source code control
+ mixer
+ .
+ end source code control
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer.ncb b/Bachelor/Softwaretechnik2/mixer/mixer.ncb
new file mode 100644
index 0000000..947ed26
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer.ncb
Binary files differ
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer.opt b/Bachelor/Softwaretechnik2/mixer/mixer.opt
new file mode 100644
index 0000000..08337d8
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer.opt
Binary files differ
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer.plg b/Bachelor/Softwaretechnik2/mixer/mixer.plg
new file mode 100644
index 0000000..a1c7be9
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer.plg
@@ -0,0 +1,16 @@
+<html>
+<body>
+<pre>
+<h1>Erstellungsprotokoll</h1>
+<h3>
+--------------------Konfiguration: mixer - Win32 Debug--------------------
+</h3>
+<h3>Befehlszeilen</h3>
+
+
+
+<h3>Ergebnisse</h3>
+mixer.exe - 0 Fehler, 0 Warnung(en)
+</pre>
+</body>
+</html>
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CDisplay.obj b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CDisplay.obj
new file mode 100644
index 0000000..5119538
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CDisplay.obj
Binary files differ
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CDisplay.sbr b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CDisplay.sbr
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CDisplay.sbr
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CDosierer.obj b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CDosierer.obj
new file mode 100644
index 0000000..23ae425
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CDosierer.obj
Binary files differ
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CDosierer.sbr b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CDosierer.sbr
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CDosierer.sbr
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CEntleerer.obj b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CEntleerer.obj
new file mode 100644
index 0000000..f48224a
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CEntleerer.obj
Binary files differ
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CEntleerer.sbr b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CEntleerer.sbr
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CEntleerer.sbr
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CGeraet.obj b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CGeraet.obj
new file mode 100644
index 0000000..3806402
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CGeraet.obj
Binary files differ
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CGeraet.sbr b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CGeraet.sbr
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CGeraet.sbr
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CMischer.obj b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CMischer.obj
new file mode 100644
index 0000000..7117b03
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CMischer.obj
Binary files differ
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CMischer.sbr b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CMischer.sbr
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CMischer.sbr
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CObserver.obj b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CObserver.obj
new file mode 100644
index 0000000..b9c1bb9
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CObserver.obj
Binary files differ
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CObserver.sbr b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CObserver.sbr
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CObserver.sbr
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezept.obj b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezept.obj
new file mode 100644
index 0000000..48795c2
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezept.obj
Binary files differ
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezept.sbr b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezept.sbr
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezept.sbr
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezeptProcessor.obj b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezeptProcessor.obj
new file mode 100644
index 0000000..d7f372f
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezeptProcessor.obj
Binary files differ
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezeptProcessor.sbr b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezeptProcessor.sbr
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezeptProcessor.sbr
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezeptSchritt.obj b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezeptSchritt.obj
new file mode 100644
index 0000000..aca28a7
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezeptSchritt.obj
Binary files differ
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezeptSchritt.sbr b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezeptSchritt.sbr
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CRezeptSchritt.sbr
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CStampfer.obj b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CStampfer.obj
new file mode 100644
index 0000000..5e9edc7
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CStampfer.obj
Binary files differ
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CStampfer.sbr b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CStampfer.sbr
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CStampfer.sbr
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CSubjekt.obj b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CSubjekt.obj
new file mode 100644
index 0000000..19f6051
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CSubjekt.obj
Binary files differ
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CSubjekt.sbr b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CSubjekt.sbr
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CSubjekt.sbr
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CVentilGeraet.obj b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CVentilGeraet.obj
new file mode 100644
index 0000000..158abaa
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CVentilGeraet.obj
Binary files differ
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CVentilGeraet.sbr b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CVentilGeraet.sbr
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CVentilGeraet.sbr
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CWaage.obj b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CWaage.obj
new file mode 100644
index 0000000..faffbf1
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CWaage.obj
Binary files differ
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CWaage.sbr b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CWaage.sbr
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/CWaage.sbr
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/main.obj b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/main.obj
new file mode 100644
index 0000000..7a08063
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/main.obj
Binary files differ
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/main.sbr b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/main.sbr
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/main.sbr
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/mixer.bsc b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/mixer.bsc
new file mode 100644
index 0000000..9e108f5
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/mixer.bsc
Binary files differ
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/mixer.exe b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/mixer.exe
new file mode 100644
index 0000000..ebdb61a
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/mixer.exe
Binary files differ
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/mixer.ilk b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/mixer.ilk
new file mode 100644
index 0000000..69830df
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/mixer.ilk
Binary files differ
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/mixer.pch b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/mixer.pch
new file mode 100644
index 0000000..68c88cd
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/mixer.pch
Binary files differ
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/mixer.pdb b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/mixer.pdb
new file mode 100644
index 0000000..aa0d88f
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/mixer.pdb
Binary files differ
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/vc60.idb b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/vc60.idb
new file mode 100644
index 0000000..a97d9e3
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/vc60.idb
Binary files differ
diff --git a/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/vc60.pdb b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/vc60.pdb
new file mode 100644
index 0000000..f994d86
--- /dev/null
+++ b/Bachelor/Softwaretechnik2/mixer/mixer___Win32_Debug/vc60.pdb
Binary files differ