diff options
Diffstat (limited to 'Bachelor/Prog2/Prakt3/index.htm')
| -rw-r--r-- | Bachelor/Prog2/Prakt3/index.htm | 231 |
1 files changed, 231 insertions, 0 deletions
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> </caption>
+
+<tbody><tr>
+<td bgcolor="#efefde" width="25%">FH Darmstadt
+<br>FB Informatik
+<br>Prof.Dr. H.P.Weber</td>
+
+<td>
+<center><font size="+3">Programmieren II </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.
+</td>
+</tr>
+</tbody></table>
+
+<br>
+<br>
+<table border="1" cellspacing="0" width="100%">
+<tbody><tr>
+<td colspan="2">
+<h3 align="left">
+<b>1 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>
+ </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>
+</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> hat die oben dargestellte
+ Attributstruktur, die zur binären Eingabedatei passt,<br><tt><b>Table</b></tt> enthält einen <b> <tt>vector<Team></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 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 |
