From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- Bachelor/Prog2/Prakt3/Aufg1/Debug/Table.obj | Bin 0 -> 175362 bytes Bachelor/Prog2/Prakt3/Aufg1/Debug/Team.obj | Bin 0 -> 106039 bytes Bachelor/Prog2/Prakt3/Aufg1/Debug/main.obj | Bin 0 -> 184733 bytes Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.exe | Bin 0 -> 581700 bytes Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.ilk | Bin 0 -> 1056100 bytes Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.pch | Bin 0 -> 190744 bytes Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.pdb | Bin 0 -> 1434624 bytes Bachelor/Prog2/Prakt3/Aufg1/Debug/vc60.idb | Bin 0 -> 107520 bytes Bachelor/Prog2/Prakt3/Aufg1/Debug/vc60.pdb | Bin 0 -> 143360 bytes Bachelor/Prog2/Prakt3/Aufg1/Table.cpp | 52 +++++ Bachelor/Prog2/Prakt3/Aufg1/Table.h | 21 ++ Bachelor/Prog2/Prakt3/Aufg1/Team.cpp | 116 +++++++++++ Bachelor/Prog2/Prakt3/Aufg1/Team.h | 39 ++++ Bachelor/Prog2/Prakt3/Aufg1/main.cpp | 50 +++++ Bachelor/Prog2/Prakt3/Aufg1/tabletennis.dsp | 116 +++++++++++ Bachelor/Prog2/Prakt3/Aufg1/tabletennis.dsw | 33 +++ Bachelor/Prog2/Prakt3/Aufg1/tabletennis.dta | Bin 0 -> 353 bytes Bachelor/Prog2/Prakt3/Aufg1/tabletennis.ncb | Bin 0 -> 58368 bytes Bachelor/Prog2/Prakt3/Aufg1/tabletennis.opt | Bin 0 -> 53760 bytes Bachelor/Prog2/Prakt3/Aufg1/tabletennis.plg | 26 +++ Bachelor/Prog2/Prakt3/Aufg1/tabletennis.txt | 11 + Bachelor/Prog2/Prakt3/Aufg2/tools.dta | Bin 0 -> 4803 bytes Bachelor/Prog2/Prakt3/index.htm | 231 +++++++++++++++++++++ .../Prakt3/index_dateien/AuschnittBinaerdatei.gif | Bin 0 -> 3637 bytes 24 files changed, 695 insertions(+) create mode 100644 Bachelor/Prog2/Prakt3/Aufg1/Debug/Table.obj create mode 100644 Bachelor/Prog2/Prakt3/Aufg1/Debug/Team.obj create mode 100644 Bachelor/Prog2/Prakt3/Aufg1/Debug/main.obj create mode 100644 Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.exe create mode 100644 Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.ilk create mode 100644 Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.pch create mode 100644 Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.pdb create mode 100644 Bachelor/Prog2/Prakt3/Aufg1/Debug/vc60.idb create mode 100644 Bachelor/Prog2/Prakt3/Aufg1/Debug/vc60.pdb create mode 100644 Bachelor/Prog2/Prakt3/Aufg1/Table.cpp create mode 100644 Bachelor/Prog2/Prakt3/Aufg1/Table.h create mode 100644 Bachelor/Prog2/Prakt3/Aufg1/Team.cpp create mode 100644 Bachelor/Prog2/Prakt3/Aufg1/Team.h create mode 100644 Bachelor/Prog2/Prakt3/Aufg1/main.cpp create mode 100644 Bachelor/Prog2/Prakt3/Aufg1/tabletennis.dsp create mode 100644 Bachelor/Prog2/Prakt3/Aufg1/tabletennis.dsw create mode 100644 Bachelor/Prog2/Prakt3/Aufg1/tabletennis.dta create mode 100644 Bachelor/Prog2/Prakt3/Aufg1/tabletennis.ncb create mode 100644 Bachelor/Prog2/Prakt3/Aufg1/tabletennis.opt create mode 100644 Bachelor/Prog2/Prakt3/Aufg1/tabletennis.plg create mode 100644 Bachelor/Prog2/Prakt3/Aufg1/tabletennis.txt create mode 100644 Bachelor/Prog2/Prakt3/Aufg2/tools.dta create mode 100644 Bachelor/Prog2/Prakt3/index.htm create mode 100644 Bachelor/Prog2/Prakt3/index_dateien/AuschnittBinaerdatei.gif (limited to 'Bachelor/Prog2/Prakt3') 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 Binary files /dev/null and b/Bachelor/Prog2/Prakt3/Aufg1/Debug/Table.obj 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 Binary files /dev/null and b/Bachelor/Prog2/Prakt3/Aufg1/Debug/Team.obj 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 Binary files /dev/null and b/Bachelor/Prog2/Prakt3/Aufg1/Debug/main.obj 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 Binary files /dev/null and b/Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.exe 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 Binary files /dev/null and b/Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.ilk 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 Binary files /dev/null and b/Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.pch 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 Binary files /dev/null and b/Bachelor/Prog2/Prakt3/Aufg1/Debug/tabletennis.pdb 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 Binary files /dev/null and b/Bachelor/Prog2/Prakt3/Aufg1/Debug/vc60.idb 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 Binary files /dev/null and b/Bachelor/Prog2/Prakt3/Aufg1/Debug/vc60.pdb 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 +#include + +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(nteams[n].getpointsWon()) + if(!(teams[j] +#include +#include "Team.h" + +using std::ostream; +using std::vector; + +class Table +{ +public: + void setTeam(const Team&); + void print(ostream&); + void sort(); +private: + vector 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 +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 (&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 +#include + +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 +#include +#include +#include +#include +#include + +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 Binary files /dev/null and b/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.dta differ diff --git a/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.ncb b/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.ncb new file mode 100644 index 0000000..5344aae Binary files /dev/null and b/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.ncb differ diff --git a/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.opt b/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.opt new file mode 100644 index 0000000..35bb89f Binary files /dev/null and b/Bachelor/Prog2/Prakt3/Aufg1/tabletennis.opt 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 @@ + + +
+

Erstellungsprotokoll

+

+--------------------Konfiguration: tabletennis - Win32 Debug-------------------- +

+

Befehlszeilen

+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" +

Ausgabefenster

+Linker-Vorgang läuft... + + + +

Ergebnisse

+tabletennis.exe - 0 Fehler, 0 Warnung(en) +
+ + 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 Binary files /dev/null and b/Bachelor/Prog2/Prakt3/Aufg2/tools.dta 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 @@ + + + + +Praktikum 3 + + + + + + + + + + + + + +
 
FH Darmstadt  +
FB Informatik  +
Prof.Dr. H.P.Weber
+
Programmieren II  +
Praktikum
+
+
3
+
+ +
+ + + + +
Ziel: +Sie sollen Dateien ein- und auslesen und die enthaltenen Daten weiter verarbeiten können.  +
+ +
+
+ + + + + + + + + + + + +
+

+1    Einlesen einer Binärdatei und Weiterverarbeitung ihrer Daten

+
+Der Spielleiter der Tischtennis-Bezirksklasse möchte +den aktuellen Tabellenstand des Spielbetriebs darstellen lassen. Eine Datei + 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.

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).

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributDatentyp
teamName std::string
matchesPlayedint
gamesWonint
gamesLostint
pointsWonint
pointsLostint
+
+ +

Technische Hinweise:   +

Entwerfen Sie ein Anwendungsprogramm, das +

    +
  • +die Daten dieser Datei in eine Tabelle einliest, sie am Bildschirm ausgibt, +innerhalb der Tabelle sortiert und danach nochmals am Bildschirm ausgibt und +
  • +
  • +die sortierte Tabelle in einer Textdatei speichert. +
  • +
+ +Sehen Sie folgende Klassen vor: +
Team   hat die oben dargestellte + Attributstruktur, die zur binären Eingabedatei passt,
Table   enthält einen vector<Team> + (mit allen Mannschaften) als Attribut.
+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 +
    +
  1. +die Anzahl der gewonnenen Punkte (pointsWon)
  2. + +
  3. +bei Gleichheit: Anzahl der verlorenen Punkte (pointsLost)
  4. + +
  5. +bei Gleichheit: Differenz der Satzresultate (gamesWon - gamesLost)
  6. + +
  7. +bei Gleichheit: ursprüngliche Reihenfolge
  8. +
+ + +
+ +
+
+
+ + + + + + + + + + +
+

+2    Bestandsliste (fakultativ)

+ +

+

+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 +
    +
  • die Binärdatei +(Random Access File) "tools.dta" + mit 100 leeren Records initialisiert, +
  • +
  • +die Eingabe der Daten für jedes Werkzeug erlaubt, +
  • +
  • +alle Werkzeuge mit ihren Daten auflistet, +
  • +
  • +das Löschen eines nicht mehr benötigten Records ermöglicht +
  • +
  • +und die Aktualisierung jeder Information in der Datei erlaubt. +
  • +
+ +

Die partNumber jedes Werkzeugs soll auch die Record-Nummer sein. +
+Benutzen Sie diese Datei zum Testen Ihres Programms. + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributDatentyp
partNumber int
toolNamechar[30]
inStockint
unitPricedouble
+
+ + + \ 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 Binary files /dev/null and b/Bachelor/Prog2/Prakt3/index_dateien/AuschnittBinaerdatei.gif differ -- cgit v1.2.3