<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Objektorientiert Textdateien auslesen und bestimmte Stellen ersetzen]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich hoffe, Ihr könnt mir etwas helfen.</p>
<p>Bzgl. objektorientierter Programmierung / Software Engineering muss ich ein Programm erstellen, das textbasierte Dateien (Vorgabe: Text, HTML und Latex; durch den OO-Ansatz beliebig erweiterbar) verarbeitet.</p>
<p>Diese Textdateien enthalten an beliebigen Stellen durch Tags gekennzeichnete chemische Formeln oder chemische Verbindungsnamen, z.B. &lt;chem&gt;H2O&lt;/chem&gt; oder auch &lt;chem&gt;Natriumsulfat&lt;/chem&gt;.</p>
<p>Das Programm soll diese gekennzeichneten Stellen finden, jeweils übersetzen (Formel -&gt; Name, Name -&gt; Formel) und die ursprüngliche Datei vollständig übersetzt abspeichern.</p>
<p>Da ich nicht gerade der Profi bin, was OO-Programmierung angeht, und einfach nicht weiter komme, frage ich mal hier an <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Meine Modell-Vorstellung sieht bisher so aus: [Klasse]</p>
<p>[ProviderConfigurator]<br />
- bekommt Eingabeparameter (Quelldatei) übergeben.<br />
- anhand der Dateiendung erkennt er den Dateityp.<br />
- ruft den jeweils passenden &quot;InputProvider&quot; auf, z.B. [TextProvider]</p>
<p>[{abstract} ProviderInterface]<br />
- dient als Schnittstelle zu den jeweiligen InputProvidern</p>
<p>[TextProvider]<br />
- erbt von ProviderInterface<br />
- öffnet die Textdatei<br />
- sucht in der Datei nach gekennzeichneten Stellen, z.B. &lt;chem&gt;H2O&lt;/chem&gt;<br />
- liefert &quot;H2O&quot; als String an [ChemicalString]</p>
<p>[HtmlProvider] // genauso<br />
[LatexProvider] // genauso</p>
<p>[ChemicalString]<br />
- ist der bisher unklassifizierte String<br />
- wird vom [Classifier] klassifiziert, d.h. untersucht, ob es eine Formel (H2Ó) ist oder ein Verbindungsname (Wasser)</p>
<p>[Classifier]<br />
- klassifiziert den String<br />
- liefert einen klassifizierten String an [ClassifiedString]</p>
<p>[ClassifiedString]<br />
- nun ist klar, ob es sich um eine Formel oder einen Verbindungsnamen handelt.<br />
- wird an den [Translator] übergeben</p>
<p>[Translator]<br />
- benutzt die Klasse [Periodensystem]<br />
- übersetzt den String<br />
- liefert den übersetzten String an [TranslatedString]</p>
<p>[TranslatedString]<br />
- wird wieder zurück an den InputProvider übergeben und in die Datei geschrieben.</p>
<p>Soweit meine Vorstellung von einem brauchbaren Modell (bin aber auch für andere Modelle offen). Allerdings komm ich einfach nicht weiter, was benötigte Attribute und Methoden angeht und wie die einzelnen Klassen sich gegenseitig aufrufen. Welche Klasse was wissen muss und was sie genau übergeben bekommt etc.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/287177/objektorientiert-textdateien-auslesen-und-bestimmte-stellen-ersetzen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 13:57:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/287177.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 24 May 2011 11:52:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Objektorientiert Textdateien auslesen und bestimmte Stellen ersetzen on Tue, 24 May 2011 11:52:13 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich hoffe, Ihr könnt mir etwas helfen.</p>
<p>Bzgl. objektorientierter Programmierung / Software Engineering muss ich ein Programm erstellen, das textbasierte Dateien (Vorgabe: Text, HTML und Latex; durch den OO-Ansatz beliebig erweiterbar) verarbeitet.</p>
<p>Diese Textdateien enthalten an beliebigen Stellen durch Tags gekennzeichnete chemische Formeln oder chemische Verbindungsnamen, z.B. &lt;chem&gt;H2O&lt;/chem&gt; oder auch &lt;chem&gt;Natriumsulfat&lt;/chem&gt;.</p>
<p>Das Programm soll diese gekennzeichneten Stellen finden, jeweils übersetzen (Formel -&gt; Name, Name -&gt; Formel) und die ursprüngliche Datei vollständig übersetzt abspeichern.</p>
<p>Da ich nicht gerade der Profi bin, was OO-Programmierung angeht, und einfach nicht weiter komme, frage ich mal hier an <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Meine Modell-Vorstellung sieht bisher so aus: [Klasse]</p>
<p>[ProviderConfigurator]<br />
- bekommt Eingabeparameter (Quelldatei) übergeben.<br />
- anhand der Dateiendung erkennt er den Dateityp.<br />
- ruft den jeweils passenden &quot;InputProvider&quot; auf, z.B. [TextProvider]</p>
<p>[{abstract} ProviderInterface]<br />
- dient als Schnittstelle zu den jeweiligen InputProvidern</p>
<p>[TextProvider]<br />
- erbt von ProviderInterface<br />
- öffnet die Textdatei<br />
- sucht in der Datei nach gekennzeichneten Stellen, z.B. &lt;chem&gt;H2O&lt;/chem&gt;<br />
- liefert &quot;H2O&quot; als String an [ChemicalString]</p>
<p>[HtmlProvider] // genauso<br />
[LatexProvider] // genauso</p>
<p>[ChemicalString]<br />
- ist der bisher unklassifizierte String<br />
- wird vom [Classifier] klassifiziert, d.h. untersucht, ob es eine Formel (H2Ó) ist oder ein Verbindungsname (Wasser)</p>
<p>[Classifier]<br />
- klassifiziert den String<br />
- liefert einen klassifizierten String an [ClassifiedString]</p>
<p>[ClassifiedString]<br />
- nun ist klar, ob es sich um eine Formel oder einen Verbindungsnamen handelt.<br />
- wird an den [Translator] übergeben</p>
<p>[Translator]<br />
- benutzt die Klasse [Periodensystem]<br />
- übersetzt den String<br />
- liefert den übersetzten String an [TranslatedString]</p>
<p>[TranslatedString]<br />
- wird wieder zurück an den InputProvider übergeben und in die Datei geschrieben.</p>
<p>Soweit meine Vorstellung von einem brauchbaren Modell (bin aber auch für andere Modelle offen). Allerdings komm ich einfach nicht weiter, was benötigte Attribute und Methoden angeht und wie die einzelnen Klassen sich gegenseitig aufrufen. Welche Klasse was wissen muss und was sie genau übergeben bekommt etc.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2067870</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2067870</guid><dc:creator><![CDATA[PWA]]></dc:creator><pubDate>Tue, 24 May 2011 11:52:13 GMT</pubDate></item><item><title><![CDATA[Reply to Objektorientiert Textdateien auslesen und bestimmte Stellen ersetzen on Tue, 24 May 2011 12:09:20 GMT]]></title><description><![CDATA[<p>Zum Konzept: ich würde's mir überlegen, ob für ChemicalString, ClassifiedString und TranslatedString Klassen angelegt werden müssen, da sie unterschiedliche Zustände von Objekten (Strings) und nicht übergeordnete Klassen sind. Es ist wahrscheinlich besser, sie als Attribute zu implementieren.<br />
Zur Umsetzung des Konzepts: du wirst dich in die Thematik einlesen müssen, denn du willst ja auch alles verstehen, was und wie es gemacht wird <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> Es ist besser, du versuchst es selbst - und der Weg führt über das Selbststudium.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2067881</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2067881</guid><dc:creator><![CDATA[*Rewind*]]></dc:creator><pubDate>Tue, 24 May 2011 12:09:20 GMT</pubDate></item></channel></rss>