diff options
| author | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
|---|---|---|
| committer | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
| commit | 33613a85afc4b1481367fbe92a17ee59c240250b (patch) | |
| tree | 670b842326116b376b505ec2263878912fca97e2 /Bachelor/Prog2/Prakt5 | |
| download | Studium-master.tar.gz Studium-master.tar.bz2 | |
Diffstat (limited to 'Bachelor/Prog2/Prakt5')
22 files changed, 804 insertions, 0 deletions
diff --git a/Bachelor/Prog2/Prakt5/Aufg1/.cdtbuild b/Bachelor/Prog2/Prakt5/Aufg1/.cdtbuild new file mode 100644 index 0000000..b4ce8ad --- /dev/null +++ b/Bachelor/Prog2/Prakt5/Aufg1/.cdtbuild @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<?fileVersion 2.1.0?>
+
+<ManagedProjectBuildInfo>
+<project id="Aufg1.cdt.managedbuild.target.gnu.cygwin.exe.1276947610" name="Ausführbare Datei (GNU unter Windows)" projectType="cdt.managedbuild.target.gnu.cygwin.exe">
+<configuration artifactExtension="exe" artifactName="Aufg1" 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.3798941" name="Debug" parent="cdt.managedbuild.config.gnu.cygwin.exe.debug">
+<toolChain id="cdt.managedbuild.toolchain.gnu.cygwin.exe.debug.1649363491" name="%ToolChainName.Dbg" superClass="cdt.managedbuild.toolchain.gnu.cygwin.exe.debug">
+<tool id="cdt.managedbuild.tool.gnu.c.compiler.cygwin.exe.debug.262418649" 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.592244592" 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.1054919621" 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.991967550" 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.59485903" name="GCC-Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.cygwin.exe.debug"/>
+</toolChain>
+</configuration>
+<configuration artifactExtension="exe" artifactName="Aufg1" 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.307688741" name="Freigeben" parent="cdt.managedbuild.config.gnu.cygwin.exe.release">
+<toolChain id="cdt.managedbuild.toolchain.gnu.cygwin.exe.release.1584532905" name="%ToolChainName.Rel" superClass="cdt.managedbuild.toolchain.gnu.cygwin.exe.release">
+<tool id="cdt.managedbuild.tool.gnu.c.compiler.cygwin.exe.release.1772033516" 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.896612708" 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.891722269" 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.542074047" 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.1364497695" name="GCC-Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.cygwin.exe.release"/>
+</toolChain>
+</configuration>
+</project>
+</ManagedProjectBuildInfo>
diff --git a/Bachelor/Prog2/Prakt5/Aufg1/.cdtproject b/Bachelor/Prog2/Prakt5/Aufg1/.cdtproject new file mode 100644 index 0000000..bd768a8 --- /dev/null +++ b/Bachelor/Prog2/Prakt5/Aufg1/.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/Prog2/Prakt5/Aufg1/.project b/Bachelor/Prog2/Prakt5/Aufg1/.project new file mode 100644 index 0000000..02b0148 --- /dev/null +++ b/Bachelor/Prog2/Prakt5/Aufg1/.project @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>Aufg1</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/Prog2/Prakt5/Aufg1/Aufg1.dsp b/Bachelor/Prog2/Prakt5/Aufg1/Aufg1.dsp new file mode 100644 index 0000000..1051125 --- /dev/null +++ b/Bachelor/Prog2/Prakt5/Aufg1/Aufg1.dsp @@ -0,0 +1,100 @@ +# Microsoft Developer Studio Project File - Name="Aufg1" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** NICHT BEARBEITEN **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Aufg1 - 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 "Aufg1.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 "Aufg1.mak" CFG="Aufg1 - Win32 Debug"
+!MESSAGE
+!MESSAGE Für die Konfiguration stehen zur Auswahl:
+!MESSAGE
+!MESSAGE "Aufg1 - Win32 Release" (basierend auf "Win32 (x86) Console Application")
+!MESSAGE "Aufg1 - Win32 Debug" (basierend auf "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Aufg1 - 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)" == "Aufg1 - 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 "Aufg1 - Win32 Release"
+# Name "Aufg1 - 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
+# End Group
+# Begin Group "Header-Dateien"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# 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/Prakt5/Aufg1/Aufg1.dsw b/Bachelor/Prog2/Prakt5/Aufg1/Aufg1.dsw new file mode 100644 index 0000000..11f6b18 --- /dev/null +++ b/Bachelor/Prog2/Prakt5/Aufg1/Aufg1.dsw @@ -0,0 +1,29 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNUNG: DIESE ARBEITSBEREICHSDATEI DARF NICHT BEARBEITET ODER GELÖSCHT WERDEN!
+
+###############################################################################
+
+Project: "Aufg1"=.\Aufg1.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/Bachelor/Prog2/Prakt5/Aufg1/Aufg1.ncb b/Bachelor/Prog2/Prakt5/Aufg1/Aufg1.ncb Binary files differnew file mode 100644 index 0000000..1ce0270 --- /dev/null +++ b/Bachelor/Prog2/Prakt5/Aufg1/Aufg1.ncb diff --git a/Bachelor/Prog2/Prakt5/Aufg1/Aufg1.opt b/Bachelor/Prog2/Prakt5/Aufg1/Aufg1.opt Binary files differnew file mode 100644 index 0000000..c1e3b51 --- /dev/null +++ b/Bachelor/Prog2/Prakt5/Aufg1/Aufg1.opt diff --git a/Bachelor/Prog2/Prakt5/Aufg1/Aufg1.plg b/Bachelor/Prog2/Prakt5/Aufg1/Aufg1.plg new file mode 100644 index 0000000..f63f1a5 --- /dev/null +++ b/Bachelor/Prog2/Prakt5/Aufg1/Aufg1.plg @@ -0,0 +1,44 @@ +<html>
+<body>
+<pre>
+<h1>Erstellungsprotokoll</h1>
+<h3>
+--------------------Konfiguration: Aufg1 - Win32 Debug--------------------
+</h3>
+<h3>Befehlszeilen</h3>
+Erstellen der temporären Datei "C:\DOKUME~1\SVEN~1.HOM\LOKALE~1\Temp\RSP1B.tmp" mit Inhalten
+[
+/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Debug/Aufg1.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c
+"D:\Studium\Prog2\Prakt5\Aufg1\main.cpp"
+]
+Creating command line "cl.exe @C:\DOKUME~1\SVEN~1.HOM\LOKALE~1\Temp\RSP1B.tmp"
+<h3>Ausgabefenster</h3>
+Kompilierung läuft...
+main.cpp
+c:\programme\microsoft visual studio\vc98\include\xtree(118) : warning C4786: 'std::_Tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::_Kfn,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen reduziert
+ c:\programme\microsoft visual studio\vc98\include\map(46) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::_Tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::_Kfn,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >'
+ D:\Studium\Prog2\Prakt5\Aufg1\main.cpp(32) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >'
+c:\programme\microsoft visual studio\vc98\include\xtree(118) : warning C4786: 'std::_Tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::_Kfn,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::const_iterator' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen reduziert
+ c:\programme\microsoft visual studio\vc98\include\map(46) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::_Tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::_Kfn,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >'
+ D:\Studium\Prog2\Prakt5\Aufg1\main.cpp(32) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >'
+c:\programme\microsoft visual studio\vc98\include\xtree(118) : warning C4786: 'std::_Tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::_Kfn,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::iterator' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen reduziert
+ c:\programme\microsoft visual studio\vc98\include\map(46) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::_Tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::_Kfn,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >'
+ D:\Studium\Prog2\Prakt5\Aufg1\main.cpp(32) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >'
+c:\programme\microsoft visual studio\vc98\include\xtree(118) : warning C4786: 'std::_Tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::_Kfn,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::_Node' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen reduziert
+ c:\programme\microsoft visual studio\vc98\include\map(46) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::_Tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::_Kfn,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >'
+ D:\Studium\Prog2\Prakt5\Aufg1\main.cpp(32) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >'
+c:\programme\microsoft visual studio\vc98\include\xtree(118) : warning C4786: 'std::_Tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::_Kfn,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::const_iterator' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen reduziert
+ c:\programme\microsoft visual studio\vc98\include\map(46) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::_Tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::_Kfn,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >'
+ D:\Studium\Prog2\Prakt5\Aufg1\main.cpp(32) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >'
+D:\Studium\Prog2\Prakt5\Aufg1\main.cpp(50) : error C2664: 'class std::basic_istream<char,struct std::char_traits<char> > &__thiscall std::basic_istream<char,struct std::char_traits<char> >::getline(char *,int)' : Konvertierung des Parameters 1 von 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' in 'char *' nicht moeglich
+ Kein benutzerdefinierter Konvertierungsoperator verfuegbar, der diese Konvertierung durchfuehren kann, oder der Operator kann nicht aufgerufen werden
+D:\Studium\Prog2\Prakt5\Aufg1\main.cpp(50) : fatal error C1903: Weiterverarbeitung nach vorhergehendem Fehler nicht moeglich; Kompilierung wird abgebrochen.
+Fehler beim Ausführen von cl.exe.
+
+
+
+<h3>Ergebnisse</h3>
+main.obj - 2 Fehler, 5 Warnung(en)
+</pre>
+</body>
+</html>
diff --git a/Bachelor/Prog2/Prakt5/Aufg1/Debug/Aufg1.exe b/Bachelor/Prog2/Prakt5/Aufg1/Debug/Aufg1.exe Binary files differnew file mode 100644 index 0000000..ac01652 --- /dev/null +++ b/Bachelor/Prog2/Prakt5/Aufg1/Debug/Aufg1.exe diff --git a/Bachelor/Prog2/Prakt5/Aufg1/Debug/Aufg1.pch b/Bachelor/Prog2/Prakt5/Aufg1/Debug/Aufg1.pch Binary files differnew file mode 100644 index 0000000..2da9163 --- /dev/null +++ b/Bachelor/Prog2/Prakt5/Aufg1/Debug/Aufg1.pch diff --git a/Bachelor/Prog2/Prakt5/Aufg1/Debug/Words.txt b/Bachelor/Prog2/Prakt5/Aufg1/Debug/Words.txt new file mode 100644 index 0000000..4a408d8 --- /dev/null +++ b/Bachelor/Prog2/Prakt5/Aufg1/Debug/Words.txt @@ -0,0 +1,25 @@ +blue,blau +red,rot +chance,Zufall +luminous color,Leuchtfarbe +black,schwarz +lump,Stueck +fact,Tatsache +ballot,geheime Abstimmung +meeting,Treffen +wary,vorsichtig +plea,Bitte +marauder,Pluenderer +height,Hoehe +essential,notwendig +disclaim,abstreiten +parsley,Petersilie +indefatigable,unermuedlich +combat,Kampf +broom,Besen +nugatory,belanglos +profession,Beruf +sundae,Eisbecher +riddle,Raetsel +next door,nebenan +map,Karte diff --git a/Bachelor/Prog2/Prakt5/Aufg1/Debug/main.d b/Bachelor/Prog2/Prakt5/Aufg1/Debug/main.d new file mode 100644 index 0000000..d2c1ccc --- /dev/null +++ b/Bachelor/Prog2/Prakt5/Aufg1/Debug/main.d @@ -0,0 +1,5 @@ +################################################################################
+# Diese Datei wurde automatisch generiert. Sie darf nicht bearbeitet werden!
+################################################################################
+
+main.d main.o: ../main.cpp
diff --git a/Bachelor/Prog2/Prakt5/Aufg1/Debug/makefile b/Bachelor/Prog2/Prakt5/Aufg1/Debug/makefile new file mode 100644 index 0000000..612cc5b --- /dev/null +++ b/Bachelor/Prog2/Prakt5/Aufg1/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: Aufg1.exe
+
+Aufg1.exe: $(OBJS)
+ @echo 'Ziel wird erstellt: $@'
+ g++ -o $@ $(OBJS) $(USER_OBJS) $(LIBS)
+ @echo 'Erstellung fertig gestellt: $@'
+
+clean:
+ -$(RM) $(OBJS) $(DEPS) Aufg1.exe
+
+.PHONY: all clean dependents
+
+-include $(ROOT)/makefile.targets
diff --git a/Bachelor/Prog2/Prakt5/Aufg1/Debug/objects.mk b/Bachelor/Prog2/Prakt5/Aufg1/Debug/objects.mk new file mode 100644 index 0000000..8bcaab0 --- /dev/null +++ b/Bachelor/Prog2/Prakt5/Aufg1/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/Prog2/Prakt5/Aufg1/Debug/sources.mk b/Bachelor/Prog2/Prakt5/Aufg1/Debug/sources.mk new file mode 100644 index 0000000..6f3ea65 --- /dev/null +++ b/Bachelor/Prog2/Prakt5/Aufg1/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/Prog2/Prakt5/Aufg1/Debug/subdir.mk b/Bachelor/Prog2/Prakt5/Aufg1/Debug/subdir.mk new file mode 100644 index 0000000..edf4334 --- /dev/null +++ b/Bachelor/Prog2/Prakt5/Aufg1/Debug/subdir.mk @@ -0,0 +1,44 @@ +################################################################################
+# Diese Datei wurde automatisch generiert. Sie darf nicht bearbeitet werden!
+################################################################################
+
+S_UPPER_SRCS += \ +${addprefix $(ROOT)/, \ +}
+
+CPP_SRCS += \ +${addprefix $(ROOT)/, \ +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/Prog2/Prakt5/Aufg1/Debug/vc60.idb b/Bachelor/Prog2/Prakt5/Aufg1/Debug/vc60.idb Binary files differnew file mode 100644 index 0000000..5060c09 --- /dev/null +++ b/Bachelor/Prog2/Prakt5/Aufg1/Debug/vc60.idb diff --git a/Bachelor/Prog2/Prakt5/Aufg1/Debug/vc60.pdb b/Bachelor/Prog2/Prakt5/Aufg1/Debug/vc60.pdb Binary files differnew file mode 100644 index 0000000..0a5b84d --- /dev/null +++ b/Bachelor/Prog2/Prakt5/Aufg1/Debug/vc60.pdb diff --git a/Bachelor/Prog2/Prakt5/Aufg1/Words.txt b/Bachelor/Prog2/Prakt5/Aufg1/Words.txt new file mode 100644 index 0000000..4a408d8 --- /dev/null +++ b/Bachelor/Prog2/Prakt5/Aufg1/Words.txt @@ -0,0 +1,25 @@ +blue,blau +red,rot +chance,Zufall +luminous color,Leuchtfarbe +black,schwarz +lump,Stueck +fact,Tatsache +ballot,geheime Abstimmung +meeting,Treffen +wary,vorsichtig +plea,Bitte +marauder,Pluenderer +height,Hoehe +essential,notwendig +disclaim,abstreiten +parsley,Petersilie +indefatigable,unermuedlich +combat,Kampf +broom,Besen +nugatory,belanglos +profession,Beruf +sundae,Eisbecher +riddle,Raetsel +next door,nebenan +map,Karte diff --git a/Bachelor/Prog2/Prakt5/Aufg1/main.cpp b/Bachelor/Prog2/Prakt5/Aufg1/main.cpp new file mode 100644 index 0000000..07e2b93 --- /dev/null +++ b/Bachelor/Prog2/Prakt5/Aufg1/main.cpp @@ -0,0 +1,101 @@ +// Tree with string objects
+// Author: Sven Eisenhauer
+// Date: 20.06.05
+
+#include <iostream>
+using std::cout;
+using std::cerr;
+using std::cin;
+using std::endl;
+
+#include <fstream>
+using std::ofstream;
+using std::ifstream;
+using std::ios;
+using std::getline;
+
+#include <string>
+using std::string;
+
+#include <iomanip>
+using std::setw;
+#include <map>
+#include <ctime>
+
+#include <cstdlib>
+#include <new>
+
+typedef std::map< string,string,std::less< string > > wordpairs;
+
+int main()
+{
+ wordpairs en_de,de_en;
+ wordpairs *pairPtr;
+
+ string word;
+ string en;
+ string de;
+ int pos;
+ int end;
+
+ ifstream inFile( "Words.txt", ios::in );
+
+ if( !inFile ) {
+ cerr << "Input-Datei konnte nicht geoeffnet werden." << endl;
+ exit( 1 );
+ }
+
+ while( getline(inFile,word)) {
+ //cout << word << endl;
+ pos=word.find_first_of(',');
+ end=word.size();
+ en.assign(word,0,pos);
+ de.assign(word,pos+1,end);
+
+// cout << de << "\t " << en << endl;
+ en_de.insert(wordpairs::value_type(en,de));
+ de_en.insert(wordpairs::value_type(de,en));
+ }
+ inFile.close();
+ cout << "Englisch - Deutsch" << endl << endl;
+ for (wordpairs::const_iterator it=en_de.begin(); it!=en_de.end();
+ it++)
+ {
+ cout<< setw(30) << it->first << "\t "<<it->second<< endl;
+ }
+ cout << endl << endl<< "Deutsch - Englisch"<<endl << endl;
+ for (wordpairs::const_iterator it2=de_en.begin(); it2!=de_en.end();
+ it2++)
+ {
+ cout<< setw(30) << it2->first << "\t "<<it2->second<< endl;
+ }
+
+ srand(time(0));
+ int lang=(rand()%2);
+ if (lang==0)
+ pairPtr=(&en_de);
+ else
+ pairPtr=(&de_en);
+ int posi=(rand()%(pairPtr->size()));
+ wordpairs::const_iterator it3=(pairPtr->begin());
+ int counter=0;
+ int stop=0;
+ cout << endl << endl;
+ string eingabe;
+ while ( it3!=(pairPtr->end()) && stop==0)
+ {
+ it3++;
+ counter++;
+ if(posi==counter)
+ {
+ cout << it3->first << endl;
+ cout <<"Ihre Uebersetzung: ";
+ cin>>eingabe;
+ cout << "Ihre Eingabe: " << eingabe << endl;
+ cout << "Richtig ist:" << it3->second << endl;
+ stop=1;
+ }
+ }
+
+ return 0;
+}
diff --git a/Bachelor/Prog2/Prakt5/Aufg2/uebklaus.htm b/Bachelor/Prog2/Prakt5/Aufg2/uebklaus.htm new file mode 100644 index 0000000..691d811 --- /dev/null +++ b/Bachelor/Prog2/Prakt5/Aufg2/uebklaus.htm @@ -0,0 +1,209 @@ +<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"> +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="Hans-Peter Weber"> + <meta name="GENERATOR" content="Microsoft FrontPage 4.0"><title>Praktikum 5.2</title><!-- saved from url=(0079)http://www.fbi.fh-darmstadt.de/~erbs/Lehrveranstaltungen/Pg2KoSI/Pr6/index.html --></head> + +<body> + +<table border="1" width="100%"> +<tbody><tr> +<td bgcolor="#efefde" width="25%">FH Darmstadt +<br>FB Informatik +<p>Prof.Dr.H.P.Weber</p></td> + +<td> +<center><font size="+3">Programmieren II</font> +<br><font size="+3">Übungsklausur</font></center> +</td> + +<td bgcolor="#efefde" width="25%"> +<center> +<p><font size="6"> </font><font size="5">Juni 2005</font></p> +</center> +</td> +</tr> +</tbody></table> + +<table border="1" cols="3" height="60" width="100%"> +<tbody><tr> +<td width="50%">Name:</td> + +<td width="30%">MatNr.:</td> + +<td width="20%">USER:</td> +</tr> +</tbody></table> + +<table> +<tbody><tr valign="top"> +<td>Wesentliches Element vieler rundenbasierter Strategiespiele ist das Konzept der 'Stadt' +(Town): Vom +Spieler angelegte Objekte vom Typ Town sind für die Produktion sowohl von +Einheiten (wird hier nicht weiter betrachtet) als auch von Ressourcen wie Geld, Forschung, Luxusgüter +(darum soll es im folgenden gehen) zuständig. <br> + </td> +</tr> +</tbody></table> + +<table bgcolor="#efefde" width="100%"> +<tbody><tr> +<td>Anforderungen für die Noten ausreichend und befriedigend:</td> +</tr> +</tbody></table> + +<p>Realisieren Sie die Klasse <tt><b>Town</b></tt> zusammen mit einem Anwendungsprogramm zum +Testen. Hierbei soll folgendes gelten:</p> +<ul> +<li> +Attribute von <tt><b>Town</b></tt>-Objekten sind <tt><b>name</b></tt> (Name der Stadt), <tt><b>size</b></tt> (Größe der Stadt), +<tt><b>money</b></tt> (Geldmenge, die jede Runde produziert wird), <tt><b>research</b></tt> +(Forschungsergebnisse, die jede Runde produziert werden), <tt><b>luxuryGoods</b></tt> +(Luxusgüter, die jede Runde produziert werden). <tt><b>name</b></tt> ist vom Typ <tt><b>string</b></tt> und wird +vom Konstruktor aus dem Anwendungsprogramm übernommen, alle anderen Attribute +sind vom Typ <tt><b>int</b></tt> und werden bei der Erzeugung einer Stadt mit dem Wert 1 +initialisiert.</li> +<li> +Die Methode <tt><b>grow</b></tt> erhöht alle Attribute eines <tt><b>Town</b></tt>-Objektes (außer <tt><b>name</b></tt>) um den +Wert 1.</li> +<li> +Der überladene <tt><b>operator<<</b></tt> gibt als erstes den Namen der Stadt und dann die aktuellen +Werte aller anderen Attribute in einer geeigneten Formatierung aus.</li> +<li> +Das Anwendungsprogramm soll dem Benutzer ein Menü mit den vier Alternativen</li> +<ul> +<li> +Neue Stadt +</li> +<li> +Nächste Runde +</li> +<li> +Alle Städte anzeigen +</li> +<li> +Spiel beenden</li> +</ul> +anbieten. <br> +<ul> +<li> +Wenn der Benutzer 'Neue Stadt' auswählt, soll er nach einem Namen gefragt werden +und, nachdem dieser eingelesen wurde, ein <tt><b>Town-Objekt</b></tt> mit diesem Namen erzeugt werden. Dieses Objekt soll in eine +verkettete Liste <tt><b>allTowns</b></tt> eingefügt werden. +</li> +<li> +Wenn der Benutzer 'Nächste Runde' auswählt, soll ein Rundenzähler inkrementiert +werden. Alle drei Runden wird die <tt><b>grow</b></tt>-Methode für alle Städte in der Liste +aufgerufen. +</li> +<li> +Wenn der Benutzer 'Alle Städte anzeigen' auswählt, sollen alle +Städte in der Liste <b>in alphabetischer Reihenfolge</b> (Sortierung nach +ASCII-Code reicht aus) der Namen der Städte ausgegeben werden.</li> +</ul> + +<li>Hinweis: Es ist erlaubt und sinnvoll, für die verkettete Liste <tt><b>std::list</b></tt> aus +der STL zu benutzen.</li> +</ul> + +<table bgcolor="#efefde" width="100%"> +<tbody><tr> +<td>Anforderungen für die Note gut:</td> +</tr> +</tbody></table> + +<p>Die Leistungsfähigkeit eines <tt><b>Town</b></tt>-Objektes wird neben seiner Größe vor allem +von den in der Stadt vorhandenen Gebäuden unterschiedlicher Art bestimmt. +Realisieren Sie eine einfache Vererbungshierarchie für die Gebäude, die eine +Stadt haben kann. Hierbei gilt folgendes:</p> + +<ul> +<li> +Basisklasse ist die abstrakte Klasse <tt><b>Building</b></tt>. Sie enthält die rein virtuelle +Methode <tt><b>improveTown</b></tt>, über die die Ressourcenproduktion der Stadt +durch Gebäude verbessert werden kann. Außerdem enthält sie als Attribut eine +Referenz auf <tt><b>Town</b></tt>, die vom Konstruktor auf diejenige Stadt gesetzt wird, zu der +das jeweilige Gebäude gehört.</li> +<li> +Von <tt><b>Building</b></tt> abgeleitet sind die Klassen <tt><b>MoneyBuilding</b></tt> (mit dem <tt><b>int</b></tt>-Attribut +<tt><b>moneyAdder</b></tt>) und <tt><b>ResearchBuilding</b></tt> (mit dem <b> <tt> +double</tt></b>-Attribut <tt><b>researchFactor</b></tt>).</li> +<li> +Von <tt><b>MoneyBuilding</b></tt> abgeleitet sind die Klassen <tt><b>Marketplace</b></tt> und <tt><b>Bank</b></tt>. Bei der +Erzeugung eines <tt><b>Marketplace</b></tt>-Objekts wird sein <tt><b>moneyAdder</b></tt> +auf den Wert 5 +gesetzt, bei der Erzeugung eines <tt><b>Bank</b></tt>-Objekts wird sein <tt><b>moneyAdder</b></tt> auf den Wert +10 gesetzt.</li> +<li> +Von <tt><b>ResearchBuilding</b></tt> abgeleitet sind die Klassen <tt><b>Library</b></tt> und <tt><b>University</b></tt>. Bei der +Erzeugung eines <tt><b>Library</b></tt>-Objekts wird sein <tt><b>researchFactor</b></tt> auf den Wert +1.3 gesetzt, +bei der Erzeugung eines <tt><b>University</b></tt>-Objekts wird sein <tt><b>researchFactor</b></tt> auf den Wert +1.5 gesetzt.</li> +<li> +Die Methode <tt><b>improveTown</b></tt> soll für <tt><b>Marketplace</b></tt> und <tt><b>Bank</b></tt> die entsprechenden +<tt><b>moneyAdder</b></tt>-Werte zum Attribut <tt><b>money</b></tt> der Stadt addieren. Im Fall von <tt><b>Library</b></tt> und +<tt><b>University</b></tt> sollen die <tt><b>researchFactor</b></tt>-Werte mit dem Attribut <tt><b>research</b></tt> der Stadt +multipliziert werden.</li> +<li> +Ergänzen Sie in der <tt><b>Town</b></tt>-Klasse als Attribut eine verkettete Liste von <tt><b>Building*</b></tt>-Zeigern. </li> +<li> +Ergänzen Sie im Benutzer-Menü einen Punkt</li> +<ul> +<li> +Neues Gebäude für vorhandene Stadt</li> +</ul> +wo dem Benutzer eine Auflistung der möglichen Gebäude zur Auswahl angezeigt wird. +Nachdem ein Gebäude ausgewählt wurde, soll nach dem Namen der Stadt gefragt +werden, zu der das Gebäude hinzugefügt wird. Das Gebäude-Objekt wird dann +dynamisch erzeugt und in die <tt><b>Building*</b></tt>-Liste der betreffenden +Stadt eingefügt. Hierfür soll die <tt><b>Town</b></tt>-Klasse um eine Methode <tt><b>insertBuilding</b></tt> +ergänzt werden. +<li>Damit die vorhandenen Gebäude die Ressourcenerzeugung in einer Stadt +beeinflussen, wird die Methode <tt><b>grow</b></tt> ergänzt: Sie soll nach der +oben angesprochenen Inkrementierung der Attribute einer Stadt die <tt><b>Building*</b></tt>-Liste +der Stadt durchgehen und für jedes vorhandene Gebäude <b> <tt>improveTown</tt></b> aufrufen.</li> +</ul> + +<table bgcolor="#efefde" width="100%"> +<tbody><tr> +<td>Anforderungen für die Note sehr gut:</td> +</tr> +</tbody></table> + +<p>Der Benutzer soll die Möglichkeit haben, den Spielstand zu einem beliebigen +Zeitpunkt abzuspeichern und vorher gespeicherte Spielstände wieder zu laden. Dabei gilt folgendes:</p> + +<ul> +<li> +Ergänzen Sie im Benutzer-Menü die Punkte</li> +<ul> +<li> +Spiel speichern</li> +<li> +Spiel laden</li> +</ul> +Hierbei soll der Benutzer jeweils aufgefordert werden, den Namen der Datei +anzugeben, in die der Spielstand gespeichert bzw. aus der der Spielstand geladen +werden soll. +<li> +Beim Speichern eines Spiels sollen <b>alle</b> Informationen, die den aktuellen +Spielstand kennzeichnen, in einer Textdatei abgelegt werden. Dazu gehört auch, +dass in einer geeigneten Form für jede Stadt festgehalten wird, welche Gebäude +sie besitzt. Nutzen Sie hierzu die Möglichkeiten der Typinformationen zur +Laufzeit (RTTI), indem Sie z.B. <tt><b>typeid</b></tt> einsetzen.</li> +</ul> + +<table bgcolor="#efefde" width="100%"> +<tbody><tr> +<td>Note:</td> +</tr> +</tbody></table> + +<table border="1" height="50" width="100%"> +<tbody><tr valign="top"> +<td> </td> +</tr> +</tbody></table> + +</body></html>
\ No newline at end of file diff --git a/Bachelor/Prog2/Prakt5/index.htm b/Bachelor/Prog2/Prakt5/index.htm new file mode 100644 index 0000000..db0b680 --- /dev/null +++ b/Bachelor/Prog2/Prakt5/index.htm @@ -0,0 +1,101 @@ +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="H.P.Weber"> + <meta name="GENERATOR" content="Microsoft FrontPage 5.0"> + <title>Praktikum 5</title> +</head> +<body> + +<table BORDER CELLSPACING=0 WIDTH="100%" > +<caption> </caption> + +<tr> +<td WIDTH="25%" BGCOLOR="#EFEFDE">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 WIDTH="25%" BGCOLOR="#EFEFDE"> +<center><font size=+4>5</font></center> +</td> +</tr> +</table> + +<br> + +<table border WIDTH="100%" > +<tr VALIGN=TOP> +<td>Ziel:</td><td> +Sie sollen Datenstrukturen aus der Standard Template Library (STL) anwenden können. +</td> +</tr> +</table> + +<br> +<br> + +<table border CELLSPACING=0 WIDTH="100%"> +<tr VALIGN=TOP> +<td> +<h3><b>1 Vokabeltrainer</b></h3> +<p>Sie sollen ein Programm für einen Vokabeltrainer schreiben.</p> +<ul> +<li> +In der Datei <a href="Words.txt">Words.txt</a> sind folgende Daten gespeichert: +pro Zeile ein englisches Wort und - getrennt durch ein Komma, aber in derselben +Zeile - die deutsche Übersetzung des englischen Wortes. Lesen Sie alle +englisch/deutschen Wortpaare von der Datei in eine geeignet gewählte +Datenstruktur aus der STL ein. Nachdem alle Daten eingelesen sind, soll Ihr +Programm die Wortpaare alphabetisch (ASCII-Codierung genügt) nach den englischen +Wörtern sortiert auf die Konsole ausgeben (pro Zeile ein englisches Wort und die +zugehörige deutsche Übersetzung). +</li> +<li> +Ihr Programm soll zusätzlich die Wortpaare nach den deutschen Wörtern sortiert +(alphabetisch; ASCII-Codierung genügt) ausgeben. Auch hierbei soll ein Wortpaar +pro Zeile ausgegeben werden: Das Wort, nach dem sortiert wurde, steht als +erstes, die Übersetzung steht als zweites.</li> +<li> +Ihr Programm soll als nächstes ein zufällig gewähltes englisches <b>oder</b> +deutsches Wort (englisch und deutsch etwa gleich häufig) aus der Datenstruktur +anzeigen und den Benutzer auffordern, die deutsche bzw englische Übersetzung +einzugeben. Nachdem der Benutzer seine Eingabe gemacht hat, soll das Programm +die in der Datenstruktur gespeicherte, richtige Übersetzung zusammen mit der +Benutzereingabe anzeigen.</li> +</ul> +</td> +</tr> +</td> +</tr> +</table> + +<br> +<br> +<br> +<br> + +<table BORDER="1" CELLSPACING=0 WIDTH="100%" > +<tr> +<td> +<h3> +<b>2 Übungsklausur (fakultativ)</b></h3> + + + +<p> +Als Klausurvorbereitung können Sie <a href="uebklaus.htm">diese Aufgabe</a> +bearbeiten. Ein Hinweis: Die Aufgabe entspricht im Schwierigkeitsgrad der +Klausur. Um ausreichend Gelegenheit zum Üben zu geben, liegt sie jedoch in der +Arbeits<u>menge</u> über dem, was Sie in den 180 Minuten der Klausur +bearbeiten werden.</table> + + + +<br> +</body> +</html>
\ No newline at end of file |
