summaryrefslogtreecommitdiffstats
path: root/Bachelor/Prog2/Prakt3
diff options
context:
space:
mode:
authorSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
committerSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
commit33613a85afc4b1481367fbe92a17ee59c240250b (patch)
tree670b842326116b376b505ec2263878912fca97e2 /Bachelor/Prog2/Prakt3
downloadStudium-33613a85afc4b1481367fbe92a17ee59c240250b.tar.gz
Studium-33613a85afc4b1481367fbe92a17ee59c240250b.tar.bz2
add new repoHEADmaster
Diffstat (limited to 'Bachelor/Prog2/Prakt3')
-rw-r--r--Bachelor/Prog2/Prakt3/Aufg1/Debug/Table.objbin0 -> 175362 bytes
-rw-r--r--Bachelor/Prog2/Prakt3/Aufg1/Debug/Team.objbin0 -> 106039 bytes
-rw-r--r--Bachelor/Prog2/Prakt3/Aufg1/Debug/main.objbin0 -> 184733 bytes
-rw-r--r--Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.exebin0 -> 581700 bytes
-rw-r--r--Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.ilkbin0 -> 1056100 bytes
-rw-r--r--Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.pchbin0 -> 190744 bytes
-rw-r--r--Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.pdbbin0 -> 1434624 bytes
-rw-r--r--Bachelor/Prog2/Prakt3/Aufg1/Debug/vc60.idbbin0 -> 107520 bytes
-rw-r--r--Bachelor/Prog2/Prakt3/Aufg1/Debug/vc60.pdbbin0 -> 143360 bytes
-rw-r--r--Bachelor/Prog2/Prakt3/Aufg1/Table.cpp52
-rw-r--r--Bachelor/Prog2/Prakt3/Aufg1/Table.h21
-rw-r--r--Bachelor/Prog2/Prakt3/Aufg1/Team.cpp116
-rw-r--r--Bachelor/Prog2/Prakt3/Aufg1/Team.h39
-rw-r--r--Bachelor/Prog2/Prakt3/Aufg1/main.cpp50
-rw-r--r--Bachelor/Prog2/Prakt3/Aufg1/tabletennis.dsp116
-rw-r--r--Bachelor/Prog2/Prakt3/Aufg1/tabletennis.dsw33
-rw-r--r--Bachelor/Prog2/Prakt3/Aufg1/tabletennis.dtabin0 -> 353 bytes
-rw-r--r--Bachelor/Prog2/Prakt3/Aufg1/tabletennis.ncbbin0 -> 58368 bytes
-rw-r--r--Bachelor/Prog2/Prakt3/Aufg1/tabletennis.optbin0 -> 53760 bytes
-rw-r--r--Bachelor/Prog2/Prakt3/Aufg1/tabletennis.plg26
-rw-r--r--Bachelor/Prog2/Prakt3/Aufg1/tabletennis.txt11
-rw-r--r--Bachelor/Prog2/Prakt3/Aufg2/tools.dtabin0 -> 4803 bytes
-rw-r--r--Bachelor/Prog2/Prakt3/index.htm231
-rw-r--r--Bachelor/Prog2/Prakt3/index_dateien/AuschnittBinaerdatei.gifbin0 -> 3637 bytes
24 files changed, 695 insertions, 0 deletions
diff --git a/Bachelor/Prog2/Prakt3/Aufg1/Debug/Table.obj b/Bachelor/Prog2/Prakt3/Aufg1/Debug/Table.obj
new file mode 100644
index 0000000..2c53ebf
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/Aufg1/Debug/Table.obj
Binary files differ
diff --git a/Bachelor/Prog2/Prakt3/Aufg1/Debug/Team.obj b/Bachelor/Prog2/Prakt3/Aufg1/Debug/Team.obj
new file mode 100644
index 0000000..93fa9f3
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/Aufg1/Debug/Team.obj
Binary files differ
diff --git a/Bachelor/Prog2/Prakt3/Aufg1/Debug/main.obj b/Bachelor/Prog2/Prakt3/Aufg1/Debug/main.obj
new file mode 100644
index 0000000..9a3588f
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/Aufg1/Debug/main.obj
Binary files differ
diff --git a/Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.exe b/Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.exe
new file mode 100644
index 0000000..ce2ebc3
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.exe
Binary files differ
diff --git a/Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.ilk b/Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.ilk
new file mode 100644
index 0000000..3cf9141
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.ilk
Binary files differ
diff --git a/Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.pch b/Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.pch
new file mode 100644
index 0000000..320bfab
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.pch
Binary files differ
diff --git a/Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.pdb b/Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.pdb
new file mode 100644
index 0000000..18da3b0
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.pdb
Binary files differ
diff --git a/Bachelor/Prog2/Prakt3/Aufg1/Debug/vc60.idb b/Bachelor/Prog2/Prakt3/Aufg1/Debug/vc60.idb
new file mode 100644
index 0000000..02f399c
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/Aufg1/Debug/vc60.idb
Binary files differ
diff --git a/Bachelor/Prog2/Prakt3/Aufg1/Debug/vc60.pdb b/Bachelor/Prog2/Prakt3/Aufg1/Debug/vc60.pdb
new file mode 100644
index 0000000..5b3ab24
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/Aufg1/Debug/vc60.pdb
Binary files differ
diff --git a/Bachelor/Prog2/Prakt3/Aufg1/Table.cpp b/Bachelor/Prog2/Prakt3/Aufg1/Table.cpp
new file mode 100644
index 0000000..9b6a2bf
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/Aufg1/Table.cpp
@@ -0,0 +1,52 @@
+#include "Table.h"
+#include "Team.h"
+#include <iostream>
+#include <iomanip>
+
+using std::cout;
+using std::endl;
+using std::string;
+using std::ostream;
+using std::left;
+using std::setw;
+
+void Table::setTeam(const Team& toSet)
+{
+ teams.push_back(toSet);
+}
+
+void Table::print(ostream& output)
+{
+ int n=0;
+ output << left << setw(22) << "Team" << setw(9) << "Matches" << setw(12) << "Games won" << setw(12)
+ << "Games lost" << setw(12) << "Points won" << setw(12) << "Points lost" << endl;;
+
+ while(n<teams.size())
+ {
+ output << left << setw(22) << teams[n].getTeamName() << setw(9) << teams[n].getmatchesPlayed() << setw(12) << teams[n].getgamesWon()
+ << setw(12) << teams[n].getgamesLost() << setw(12) << teams[n].getpointsWon() << setw(12) << teams[n].getpointsLost() <<endl;
+ n++;
+ }
+}
+
+void Table::sort()
+{
+ Team temp;
+ int n;
+ for (n=0;n<teams.size();n++)
+ {
+ // start from actual position...
+ for (int j=n;j<teams.size();j++)
+ {
+ // ... search the maximum...
+ //if(teams[j].getpointsWon()>teams[n].getpointsWon())
+ if(!(teams[j]<teams[n]))
+ {
+ //... and insert it
+ temp=teams[n];
+ teams[n]=teams[j];
+ teams[j]=temp;
+ }
+ }
+ }
+}
diff --git a/Bachelor/Prog2/Prakt3/Aufg1/Table.h b/Bachelor/Prog2/Prakt3/Aufg1/Table.h
new file mode 100644
index 0000000..968cd26
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/Aufg1/Table.h
@@ -0,0 +1,21 @@
+#ifndef _TABLE_H_
+#define _TABLE_H_
+
+#include <iostream>
+#include <vector>
+#include "Team.h"
+
+using std::ostream;
+using std::vector;
+
+class Table
+{
+public:
+ void setTeam(const Team&);
+ void print(ostream&);
+ void sort();
+private:
+ vector <Team> teams;
+};
+
+#endif //_TABLE_H_
diff --git a/Bachelor/Prog2/Prakt3/Aufg1/Team.cpp b/Bachelor/Prog2/Prakt3/Aufg1/Team.cpp
new file mode 100644
index 0000000..86b1a95
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/Aufg1/Team.cpp
@@ -0,0 +1,116 @@
+#include "Team.h"
+#include <iostream>
+using std::istream;
+using std::getline;
+
+Team::Team()
+{
+}
+
+Team::~Team()
+{
+}
+
+void Team::setTeamName(const string& name)
+{
+ teamName=name;
+}
+
+const string& Team::getTeamName() const
+{
+ return teamName;
+}
+
+void Team::setmatchesPlayed(int matchesp)
+{
+ matchesPlayed=matchesp;
+}
+
+const int Team::getmatchesPlayed() const
+{
+ return matchesPlayed;
+}
+
+void Team::setgamesWon(int gw)
+{
+ gamesWon=gw;
+}
+
+const int Team::getgamesWon() const
+{
+ return gamesWon;
+}
+
+void Team::setgamesLost(int gl)
+{
+ gamesLost=gl;
+}
+
+const int Team::getgamesLost() const
+{
+ return gamesLost;
+}
+
+void Team::setpointsWon(int pw)
+{
+ pointsWon=pw;
+}
+
+const int Team::getpointsWon() const
+{
+ return pointsWon;
+}
+
+void Team::setpointsLost(int pl)
+{
+ pointsLost=pl;
+}
+
+const int Team::getpointsLost() const
+{
+ return pointsLost;
+}
+
+const Team& Team::operator=(const Team& toCopy)
+{
+ setTeamName(toCopy.getTeamName());
+ setgamesWon(toCopy.getgamesWon());
+ setgamesLost(toCopy.getgamesLost());
+ setpointsWon(toCopy.getpointsWon());
+ setpointsLost(toCopy.getpointsLost());
+ setmatchesPlayed(toCopy.getmatchesPlayed());
+
+ return *this;
+}
+
+bool Team::operator<(const Team& toComp)
+{
+ if (getpointsWon() < toComp.getpointsWon())
+ return true;
+ else
+ {
+ if (getpointsWon() == toComp.getpointsWon())
+ {
+ if (getpointsLost() < toComp.getpointsLost())
+ return true;
+ if (getpointsLost() == toComp.getpointsLost())
+ {
+ if ( (getgamesWon()-getgamesLost()) < (toComp.getgamesWon()-toComp.getgamesLost()))
+ return true;
+ }
+ }
+
+ return false;
+ }
+}
+
+istream& Team::read(istream& input)
+{
+
+
+ string test;
+ getline( input, test, '\0' );
+ this->setTeamName(test);
+ input.read( reinterpret_cast <char*> (&matchesPlayed), 5 * sizeof( int ) );
+ return input;
+}
diff --git a/Bachelor/Prog2/Prakt3/Aufg1/Team.h b/Bachelor/Prog2/Prakt3/Aufg1/Team.h
new file mode 100644
index 0000000..89d759d
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/Aufg1/Team.h
@@ -0,0 +1,39 @@
+#ifndef _TABLETENNIS_H_
+#define _TABLETENNIS_H_
+
+#include <string>
+#include <iostream>
+
+using std::string;
+using std::istream;
+
+class Team
+{
+public:
+ Team();
+ virtual ~Team();
+ void setTeamName(const string&);
+ const string& getTeamName() const;
+ void setmatchesPlayed(int);
+ const int getmatchesPlayed() const;
+ void setgamesWon(int);
+ const int getgamesWon() const;
+ void setgamesLost(int);
+ const int getgamesLost() const;
+ void setpointsWon(int);
+ const int getpointsWon() const;
+ void setpointsLost(int);
+ const int getpointsLost() const;
+ istream& read(istream&);
+ const Team& operator=(const Team&);
+ bool operator<(const Team&);
+private:
+ string teamName;
+ int matchesPlayed;
+ int gamesWon;
+ int gamesLost;
+ int pointsWon;
+ int pointsLost;
+};
+
+#endif //_TABLETENNIS_H_
diff --git a/Bachelor/Prog2/Prakt3/Aufg1/main.cpp b/Bachelor/Prog2/Prakt3/Aufg1/main.cpp
new file mode 100644
index 0000000..e8a47cc
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/Aufg1/main.cpp
@@ -0,0 +1,50 @@
+#include "Team.h"
+#include "Table.h"
+#include <iostream>
+#include <vector>
+#include <string>
+#include <new>
+#include <fstream>
+#include <iomanip>
+
+using std::cout;
+using std::cerr;
+using std::string;
+using std::ifstream;
+using std::ofstream;
+using std::ios;
+using std::endl;
+using std::setw;
+using std::left;
+using std::ostream;
+
+
+int main()
+{
+ int n=0;
+ Team team;
+ Table tab;
+ ifstream inDTA("tabletennis.dta",ios::binary);
+
+ if ( !inDTA ) {
+ cerr << "File could not be opened." << endl;
+ exit( 1 );
+ } // end if
+
+ while(team.read(inDTA))
+ {
+ tab.setTeam(team);
+ }
+
+ inDTA.close();
+
+ tab.print(cout);
+ tab.sort();
+ tab.print(cout);
+
+ ofstream outF("tabletennis.txt",ios::out);
+ tab.print(outF);
+ outF.close();
+
+ return 0;
+}
diff --git a/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.dsp b/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.dsp
new file mode 100644
index 0000000..fa7fd45
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.dsp
@@ -0,0 +1,116 @@
+# Microsoft Developer Studio Project File - Name="tabletennis" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** NICHT BEARBEITEN **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=tabletennis - 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 "tabletennis.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 "tabletennis.mak" CFG="tabletennis - Win32 Debug"
+!MESSAGE
+!MESSAGE Für die Konfiguration stehen zur Auswahl:
+!MESSAGE
+!MESSAGE "tabletennis - Win32 Release" (basierend auf "Win32 (x86) Console Application")
+!MESSAGE "tabletennis - Win32 Debug" (basierend auf "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName "tabletennis"
+# PROP Scc_LocalPath "."
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "tabletennis - 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)" == "tabletennis - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "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" /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 "tabletennis - Win32 Release"
+# Name "tabletennis - Win32 Debug"
+# Begin Group "Quellcodedateien"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\main.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Table.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Team.cpp
+# End Source File
+# End Group
+# Begin Group "Header-Dateien"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\Table.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Team.h
+# 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/Prog2/Prakt3/Aufg1/tabletennis.dsw b/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.dsw
new file mode 100644
index 0000000..11922e3
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.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: "tabletennis"=.\tabletennis.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+ begin source code control
+ tabletennis
+ .
+ end source code control
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.dta b/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.dta
new file mode 100644
index 0000000..4891053
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.dta
Binary files differ
diff --git a/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.ncb b/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.ncb
new file mode 100644
index 0000000..5344aae
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.ncb
Binary files differ
diff --git a/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.opt b/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.opt
new file mode 100644
index 0000000..35bb89f
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.opt
Binary files differ
diff --git a/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.plg b/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.plg
new file mode 100644
index 0000000..7d0aa9d
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.plg
@@ -0,0 +1,26 @@
+<html>
+<body>
+<pre>
+<h1>Erstellungsprotokoll</h1>
+<h3>
+--------------------Konfiguration: tabletennis - Win32 Debug--------------------
+</h3>
+<h3>Befehlszeilen</h3>
+Erstellen der temporären Datei "C:\DOKUME~1\SVEN~1.HOM\LOKALE~1\Temp\RSP1D2.tmp" mit Inhalten
+[
+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 /incremental:yes /pdb:"Debug/tabletennis.pdb" /debug /machine:I386 /out:"Debug/tabletennis.exe" /pdbtype:sept
+.\Debug\main.obj
+.\Debug\Table.obj
+.\Debug\Team.obj
+]
+Erstellen der Befehlzeile "link.exe @C:\DOKUME~1\SVEN~1.HOM\LOKALE~1\Temp\RSP1D2.tmp"
+<h3>Ausgabefenster</h3>
+Linker-Vorgang läuft...
+
+
+
+<h3>Ergebnisse</h3>
+tabletennis.exe - 0 Fehler, 0 Warnung(en)
+</pre>
+</body>
+</html>
diff --git a/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.txt b/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.txt
new file mode 100644
index 0000000..4ad94db
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.txt
@@ -0,0 +1,11 @@
+Team Matches Games won Games lost Points won Points lost
+SV Crumstadt II 18 108 36 36 0
+TSV Hoechst II 18 91 48 28 8
+TV Stockheim 18 87 54 24 12
+TV Buerstadt 18 88 58 21 15
+DJK/Scc Pfungstadt 18 79 78 16 20
+TSV Ernsthofen 18 68 83 14 22
+TSV Auerbach 18 64 86 14 22
+TTC Langen-Brombach 18 60 94 12 24
+SV Moerlenbach II 18 53 90 11 25
+TV Seeheim 18 30 101 4 32
diff --git a/Bachelor/Prog2/Prakt3/Aufg2/tools.dta b/Bachelor/Prog2/Prakt3/Aufg2/tools.dta
new file mode 100644
index 0000000..aea166b
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/Aufg2/tools.dta
Binary files differ
diff --git a/Bachelor/Prog2/Prakt3/index.htm b/Bachelor/Prog2/Prakt3/index.htm
new file mode 100644
index 0000000..bbd2dfb
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/index.htm
@@ -0,0 +1,231 @@
+<html><head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title>Praktikum 3</title></head>
+
+<body>
+
+<table border="1" cellspacing="0" width="100%">
+<caption>&nbsp;</caption>
+
+<tbody><tr>
+<td bgcolor="#efefde" width="25%">FH Darmstadt&nbsp;
+<br>FB Informatik&nbsp;
+<br>Prof.Dr. H.P.Weber</td>
+
+<td>
+<center><font size="+3">Programmieren II&nbsp;</font>
+<br><font size="+3">Praktikum</font></center>
+</td>
+
+<td bgcolor="#efefde" width="25%">
+<center><font size="+4">3</font></center>
+</td>
+</tr>
+</tbody></table>
+
+<br>
+<table border="1" width="100%">
+<tbody><tr valign="top">
+<td>Ziel:</td><td>
+Sie sollen Dateien ein- und auslesen und die enthaltenen Daten weiter verarbeiten können.&nbsp;
+</td>
+</tr>
+</tbody></table>
+
+<br>
+<br>
+<table border="1" cellspacing="0" width="100%">
+<tbody><tr>
+<td colspan="2">
+<h3 align="left">
+<b>1&nbsp;&nbsp;&nbsp; Einlesen einer Binärdatei und Weiterverarbeitung ihrer Daten</b></h3>
+</td>
+</tr>
+<tr>
+<td>
+Der Spielleiter der Tischtennis-Bezirksklasse möchte
+den aktuellen Tabellenstand des Spielbetriebs darstellen lassen. Eine <a href="http://www.fbi.fh-darmstadt.de/%7Eh.p.weber/Lehrveranstaltungen/PG2_Praktikum/Lab3/tabletennis.dta"> Datei
+</a> mit dem
+aktuellen Stand aller Mannschaften steht hierfür zur Verfügung; allerdings noch nicht
+ in Form einer sortierten Tabelle. Die Mannschaftsdaten liegen als Binärdatei
+vor. Die nebenstehende Abbildung zeigt die verwendete Datenstruktur. Der in der
+Datei vorhandene C-String für 'teamName' ist in den einzelnen Datensätzen
+unterschiedlich lang und enthält jeweils als letztes Zeichen eine binäre Null.<p>Als Hexadezimal-Darstellung sieht das
+dann beispielsweise so aus - zu sehen ist zu Beginn der Datei der TSV Auerbach (teamName) mit 18 Spielen (matchesPlayed),
+64:86 Sätzen (gamesWon : gamesLost) und 14:22 Punkten (pointsWon : pointsLost).<br>
+&nbsp;</p>
+</td>
+
+<td>
+<table border="1" width="100%">
+
+<tbody><tr>
+<td><i>Attribut</i></td>
+
+<td><i>Datentyp</i></td>
+</tr>
+
+<tr>
+<td>teamName</td>
+
+<td> std::string</td>
+</tr>
+
+<tr>
+<td>matchesPlayed</td>
+
+<td>int</td>
+</tr>
+
+<tr>
+<td>gamesWon</td>
+
+<td>int</td>
+</tr>
+
+<tr>
+<td>gamesLost</td>
+
+<td>int</td>
+</tr>
+
+<tr>
+<td>pointsWon</td>
+
+<td>int</td>
+</tr>
+
+<tr>
+<td>pointsLost</td>
+
+<td>int</td>
+</tr>
+</tbody></table>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<img src="index_dateien/AuschnittBinaerdatei.gif" border="0" height="65" width="604">
+<p><b>Technische Hinweise:</b> &nbsp;
+</p><p> Entwerfen Sie ein Anwendungsprogramm, das
+</p><ul>
+<li>
+die Daten dieser Datei in eine Tabelle einliest, sie am Bildschirm ausgibt,
+innerhalb der Tabelle sortiert und danach nochmals am Bildschirm ausgibt und
+</li>
+<li>
+die sortierte Tabelle in einer Textdatei speichert.
+</li>
+</ul>
+
+Sehen Sie folgende Klassen vor:
+<blockquote><tt><b>Team</b></tt>&nbsp;&nbsp; hat die oben dargestellte
+ Attributstruktur, die zur binären Eingabedatei passt,<br><tt><b>Table</b></tt>&nbsp;&nbsp; enthält einen <b> <tt>vector&lt;Team&gt;</tt></b>
+ (mit allen Mannschaften) als Attribut.</blockquote>
+Zum Sortieren der Mannschaften innerhalb der Tabelle können Sie einen
+beliebigen Sortieralgorithmus verwenden. Die Reihenfolge
+der Mannschaften in der sortierten Tabelle wird bestimmt durch
+<ol>
+<li>
+die Anzahl der gewonnenen Punkte (pointsWon)</li>
+
+<li>
+bei Gleichheit: Anzahl der verlorenen Punkte (pointsLost)</li>
+
+<li>
+bei Gleichheit: Differenz der Satzresultate (gamesWon - gamesLost)</li>
+
+<li>
+bei Gleichheit: ursprüngliche Reihenfolge</li>
+</ol>
+
+
+</td>
+</tr>
+</tbody></table>
+
+<br>
+<br>
+<br>
+
+<table border="1" cellspacing="0" height="292" width="100%">
+<tbody><tr>
+<td colspan="2" height="39">
+<h3 align="left">
+<b>2&nbsp;&nbsp;&nbsp; Bestandsliste (fakultativ)</b></h3>
+
+<p>
+</p></td></tr><tr>
+<td height="245">
+Für eine Eisenwarenhandlung soll eine Bestandsliste geführt werden, die
+Auskunft über die vorhandenen Werkzeuge (toolName) einschließlich Stückzahl im
+Lager (inStock) und Einzelpreis (unitPrice) gibt. Schreiben Sie ein Programm, das menügesteuert
+<ul>
+<li>die Binärdatei
+(Random Access File) "<b><font face="Courier New" size="2">tools.dta</font></b>"
+ mit 100 leeren Records initialisiert,
+</li>
+<li>
+die Eingabe der Daten für jedes Werkzeug erlaubt,
+</li>
+<li>
+alle Werkzeuge mit ihren Daten auflistet,
+</li>
+<li>
+das Löschen eines nicht mehr benötigten Records ermöglicht
+</li>
+<li>
+und die Aktualisierung jeder Information in der Datei erlaubt.
+</li>
+</ul>
+
+<p>Die partNumber jedes Werkzeugs soll auch die Record-Nummer sein.
+<br>
+Benutzen Sie <a href="http://www.fbi.fh-darmstadt.de/%7Eh.p.weber/Lehrveranstaltungen/PG2_Praktikum/Lab3/tools.dta">diese Datei</a> zum Testen Ihres Programms.
+
+</p></td>
+
+<td height="245" width="20%">
+<table align="center" border="1">
+
+<tbody><tr>
+<td><i>Attribut</i></td>
+
+<td><i>Datentyp</i></td>
+</tr>
+
+<tr>
+<td>partNumber</td>
+
+<td> int</td>
+</tr>
+
+<tr>
+<td>toolName</td>
+
+<td>char[30]</td>
+</tr>
+
+<tr>
+<td>inStock</td>
+
+<td>int</td>
+</tr>
+
+<tr>
+<td>unitPrice</td>
+
+<td>double</td>
+</tr>
+
+</tbody></table>
+</td>
+
+
+</tr>
+</tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/Bachelor/Prog2/Prakt3/index_dateien/AuschnittBinaerdatei.gif b/Bachelor/Prog2/Prakt3/index_dateien/AuschnittBinaerdatei.gif
new file mode 100644
index 0000000..fca1c06
--- /dev/null
+++ b/Bachelor/Prog2/Prakt3/index_dateien/AuschnittBinaerdatei.gif
Binary files differ