<?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[Fragen zu Aufgaben von C++ Anfänger]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>Ich bin ein absoluter Beginner in Sachen C++. Habe an der Uni einen C++ Kurs belegt und nach der ganzen Theorie versuche ich mich jetzt mit Hilfe von Alt-Klausuren auf die Prüfung vorzubereiten. Kann mir jemand bei folgenden Fragen weiterhelfen, denn ich komm da einfach nicht weiter?</p>
<p>Aufgabe 2:<br />
Schreiben Sie ein Testprogramm der Klasse ort, indem Ortsdaten aus einem File „orte.txt“ eingelesen und über den Konstruktor in eine Ortstabelle orte [MAX] eingetragen werden. MAX ist ein Generierungsparameter. Beim Einlesen der Datensätze ist auf das Fileende zu testen, da das File in der Regel weniger Datensätze enthält, als durch MAX angegeben wird. Nach dem Einlesen soll die Ortstabelle mit der Elementefunktion print () ausgegeben werden.<br />
In dem File „orte.txt“ sollen die Felder über Leerzeichen und die Datensätze über Newline getrennt sein.<br />
Ergänzen Sie auch die erforderliche Include-Anweisung für die Fileverarbeitung.<br />
Ergänzen Sie die fehlenden Anweisungen:<br />
#define MAX 100<br />
main ()<br />
{<br />
orte orte [MAX];<br />
char name [100];<br />
float br, len;<br />
short h;</p>
<p>}</p>
<p>Konstruktor Programmierung denke ich verstanden zu haben; was ich leider nicht kapiere sind die Details: &quot;. Beim Einlesen der Datensätze ist auf das Fileende zu testen, da das File in der Regel weniger Datensätze enthält, als durch MAX angegeben wird. Nach dem Einlesen soll die Ortstabelle mit der Elementefunktion print () ausgegeben <a href="http://werden.In" rel="nofollow">werden.In</a> dem File „orte.txt“ sollen die Felder über Leerzeichen und die Datensätze über Newline getrennt sein.&quot;<br />
Wo baue ich das ein? Und wie? Die Fragestellung kann ich mit meinen Unterlagen leider nicht lösen. Das angegeben Code Schnipsel ist übrigens &quot;vollständig&quot; (steht genau so inder Angabe).<br />
Die Klasse orte wird als bekannt vorausgesetzt, ich vermute mal stark dass man sich hier auf die vorangegangene Aufgabe 1 orientiert, wo explizit auf diese Klasse eingegangen wird. ich habe keinen Plan wie man den Code vervollständigen soll...</p>
<p>Aufgabe 1:<br />
Schreiben Sie für die Klasse ort eine Funktion operator-, die die annähernde Entfernung in km zwischen zwei Orten aus der Differenz der geografischen Breite, B1 bzw. B2, und geografischen Länge, L1 bzw. L2, der Orte berechnet. Der mittlere Radius der Erde soll dazu mit 6370 km angenommen werden. Höhenunterschiede zwischen den Orten sollen vernachlässigt werden. Unter Vernachlässigung der Erdkrümmung kann aus der vertikalen Entfernung EB und horizontalen Entfernung EL über den Satz des Pythagoras näherungsweise die Entfernung E zwischen den Orten berechnet werden. Dazu implementieren Sie die folgenden Formeln:</p>
<p>EB = 6370 * (B2-B1)/180 * 3.1416<br />
EL = 6370 * cos(B1) * (L2-L1)/180 * 3.1416<br />
E = sqrt(EL * EL + EB * EB)<br />
Die Funktion sqrt ist im Headerfile cmath wie folgt definiert: double sqrt(const double r)</p>
<p>Vielen Dank im Voraus für Eure Hilfe!</p>
<p>Beste Grüße<br />
Mike</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/246567/fragen-zu-aufgaben-von-c-anfänger</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 01:01:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/246567.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Jul 2009 21:35:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fragen zu Aufgaben von C++ Anfänger on Wed, 29 Jul 2009 21:35:29 GMT]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>Ich bin ein absoluter Beginner in Sachen C++. Habe an der Uni einen C++ Kurs belegt und nach der ganzen Theorie versuche ich mich jetzt mit Hilfe von Alt-Klausuren auf die Prüfung vorzubereiten. Kann mir jemand bei folgenden Fragen weiterhelfen, denn ich komm da einfach nicht weiter?</p>
<p>Aufgabe 2:<br />
Schreiben Sie ein Testprogramm der Klasse ort, indem Ortsdaten aus einem File „orte.txt“ eingelesen und über den Konstruktor in eine Ortstabelle orte [MAX] eingetragen werden. MAX ist ein Generierungsparameter. Beim Einlesen der Datensätze ist auf das Fileende zu testen, da das File in der Regel weniger Datensätze enthält, als durch MAX angegeben wird. Nach dem Einlesen soll die Ortstabelle mit der Elementefunktion print () ausgegeben werden.<br />
In dem File „orte.txt“ sollen die Felder über Leerzeichen und die Datensätze über Newline getrennt sein.<br />
Ergänzen Sie auch die erforderliche Include-Anweisung für die Fileverarbeitung.<br />
Ergänzen Sie die fehlenden Anweisungen:<br />
#define MAX 100<br />
main ()<br />
{<br />
orte orte [MAX];<br />
char name [100];<br />
float br, len;<br />
short h;</p>
<p>}</p>
<p>Konstruktor Programmierung denke ich verstanden zu haben; was ich leider nicht kapiere sind die Details: &quot;. Beim Einlesen der Datensätze ist auf das Fileende zu testen, da das File in der Regel weniger Datensätze enthält, als durch MAX angegeben wird. Nach dem Einlesen soll die Ortstabelle mit der Elementefunktion print () ausgegeben <a href="http://werden.In" rel="nofollow">werden.In</a> dem File „orte.txt“ sollen die Felder über Leerzeichen und die Datensätze über Newline getrennt sein.&quot;<br />
Wo baue ich das ein? Und wie? Die Fragestellung kann ich mit meinen Unterlagen leider nicht lösen. Das angegeben Code Schnipsel ist übrigens &quot;vollständig&quot; (steht genau so inder Angabe).<br />
Die Klasse orte wird als bekannt vorausgesetzt, ich vermute mal stark dass man sich hier auf die vorangegangene Aufgabe 1 orientiert, wo explizit auf diese Klasse eingegangen wird. ich habe keinen Plan wie man den Code vervollständigen soll...</p>
<p>Aufgabe 1:<br />
Schreiben Sie für die Klasse ort eine Funktion operator-, die die annähernde Entfernung in km zwischen zwei Orten aus der Differenz der geografischen Breite, B1 bzw. B2, und geografischen Länge, L1 bzw. L2, der Orte berechnet. Der mittlere Radius der Erde soll dazu mit 6370 km angenommen werden. Höhenunterschiede zwischen den Orten sollen vernachlässigt werden. Unter Vernachlässigung der Erdkrümmung kann aus der vertikalen Entfernung EB und horizontalen Entfernung EL über den Satz des Pythagoras näherungsweise die Entfernung E zwischen den Orten berechnet werden. Dazu implementieren Sie die folgenden Formeln:</p>
<p>EB = 6370 * (B2-B1)/180 * 3.1416<br />
EL = 6370 * cos(B1) * (L2-L1)/180 * 3.1416<br />
E = sqrt(EL * EL + EB * EB)<br />
Die Funktion sqrt ist im Headerfile cmath wie folgt definiert: double sqrt(const double r)</p>
<p>Vielen Dank im Voraus für Eure Hilfe!</p>
<p>Beste Grüße<br />
Mike</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1751959</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1751959</guid><dc:creator><![CDATA[mike_monday]]></dc:creator><pubDate>Wed, 29 Jul 2009 21:35:29 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Aufgaben von C++ Anfänger on Wed, 29 Jul 2009 21:40:09 GMT]]></title><description><![CDATA[<p>Würdest Du Code haben, der schon fast fertig ist, und nur fragen, warum die Zeile 85 nicht so klappt, wie Du willst und würdest Du beschreiben, was Zeile 85 machen soll, dann würde ich schnell helfen können.<br />
Aber deine Fragen sind so breit, daß ich so weit ausholen müßte, daß ich Dir ein ganzes C++-Buch vorlesen müßte, und das wollen wir doch beide nicht, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1751962</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1751962</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 29 Jul 2009 21:40:09 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Aufgaben von C++ Anfänger on Wed, 29 Jul 2009 21:42:31 GMT]]></title><description><![CDATA[<p>mike_monday schrieb:</p>
<blockquote>
<p>Die Funktion sqrt ist im Headerfile cmath wie folgt definiert: double sqrt(const double r)</p>
</blockquote>
<p>Wozu das const?<br />
<a href="http://www.cplusplus.com/reference/clibrary/cmath/sqrt/" rel="nofollow">http://www.cplusplus.com/reference/clibrary/cmath/sqrt/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1751963</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1751963</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 29 Jul 2009 21:42:31 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Aufgaben von C++ Anfänger on Wed, 29 Jul 2009 21:43:55 GMT]]></title><description><![CDATA[<p>Das ganze sieht aber nich wirklich nach einer C++ Aufgabe aus (eher nach einem C/C++ mix... mit define und char arrays...)</p>
<p>Zu aufgabe 2:<br />
Überlade den &gt;&gt; operator zum Einlesen. Das Dateiende kannst du dann über den Zustand des streams bestimmen ( zB: while(is&gt;&gt;ort) ). Für Print würde sich der &lt;&lt; Operator anbieten.<br />
Wenn die Datensätze über newline getrennt sind, kannst du sie mit getline() einlesen. Die mit Leerzeichen getrennten Daten erhälst du, indem du wieder über einen stream gehst</p>
<pre><code class="language-cpp">std::ifstream lesen(&quot;bla.txt&quot;);
std::string tmp;
getline(lesen, tmp);
std::sstringstream Str;
Str&lt;&lt;tmp;
while(Str&gt;&gt;tmp)
{
    //mit tmp arbeiten
}
</code></pre>
<p>Poste doch schonmal die Ansätze, die du schon hast</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1751965</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1751965</guid><dc:creator><![CDATA[Gilder]]></dc:creator><pubDate>Wed, 29 Jul 2009 21:43:55 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Aufgaben von C++ Anfänger on Thu, 30 Jul 2009 10:48:21 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>danke für die Antworten. Ich bin wie gesagt bei der Aufgabe noch nicht sehr weit gekommen.</p>
<p>Bisher habe ich lediglich:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#define MAX 100
main ()
{
orte orte [MAX];
char name [100];
float br, len;
short h;
ofstream b_file ( &quot;orte.txt&quot; );

}
print(orte);
return EXIT_SUCCESS;
</code></pre>
<p>Natürlich fehlt noch das testen auf das File Ende, sowie die Trennung der Datensätze über newline/getline (das steht leider nicht in meinen Unterlagen drin, deswegen auch meine derzeitige Ratlosigkeit bei diesem Teilaspekt...).</p>
<p>Grüße<br />
Mike</p>
<p>/edit pumuckl: [cpp]-Tags hinzugefügt. nächstemal bitte selbst machen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1752005</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1752005</guid><dc:creator><![CDATA[mike_monday]]></dc:creator><pubDate>Thu, 30 Jul 2009 10:48:21 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Aufgaben von C++ Anfänger on Thu, 30 Jul 2009 00:01:58 GMT]]></title><description><![CDATA[<p>Wie lange noch bis zur Prüfung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1752007</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1752007</guid><dc:creator><![CDATA[BoeserBube]]></dc:creator><pubDate>Thu, 30 Jul 2009 00:01:58 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Aufgaben von C++ Anfänger on Thu, 30 Jul 2009 10:16:19 GMT]]></title><description><![CDATA[<p>8 Wochen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1752158</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1752158</guid><dc:creator><![CDATA[mike_monday]]></dc:creator><pubDate>Thu, 30 Jul 2009 10:16:19 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Aufgaben von C++ Anfänger on Thu, 30 Jul 2009 10:52:55 GMT]]></title><description><![CDATA[<p>dann solltest du dir in den 8 Wochen nochmal intensiv ein gutes Einsteigerbuch vornehmen. Da steht dann eigentlich alles drin was du brauchst. Ansonsten einfach mal auf <a href="http://www.cplusplus.com/reference" rel="nofollow">www.cplusplus.com/reference</a> die Referenz zu streams usw. durchforsten.<br />
Wenn du konkrete Fragen hast helfen wir natürlich gerne weiter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1752194</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1752194</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 30 Jul 2009 10:52:55 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Aufgaben von C++ Anfänger on Thu, 30 Jul 2009 12:21:06 GMT]]></title><description><![CDATA[<p>Hallo Mike,</p>
<p>poste doch bitte mal die ersten 2-3 Zeilen aus der vorgegebenen Datei &quot;orte.txt&quot; - dann können wir Dir auch konkret beim Einlesen der ort-Objekte helfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1752273</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1752273</guid><dc:creator><![CDATA[Werner_logoff]]></dc:creator><pubDate>Thu, 30 Jul 2009 12:21:06 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Aufgaben von C++ Anfänger on Thu, 30 Jul 2009 13:59:49 GMT]]></title><description><![CDATA[<p>Werner_logoff schrieb:</p>
<blockquote>
<p>poste doch bitte mal die ersten 2-3 Zeilen aus der vorgegebenen Datei &quot;orte.txt&quot; - dann können wir Dir auch konkret beim Einlesen der ort-Objekte helfen.</p>
</blockquote>
<p>nicht nötig:</p>
<p>mike_monday schrieb:</p>
<blockquote>
<p>In dem File „orte.txt“ sollen die Felder über Leerzeichen und die Datensätze über Newline getrennt sein.</p>
</blockquote>
<p>Nachdem wir auch nicht wissen, wie der Typ <code>orte</code> aussieht, können wir sowieso nur raten, ob ein Ansatz funktioniert oder nicht.</p>
<p>mike_monday schrieb:</p>
<blockquote>
<p>Beim Einlesen der Datensätze ist auf das Fileende zu testen, da das File in der Regel weniger Datensätze enthält, als durch MAX angegeben wird. Nach dem Einlesen soll die Ortstabelle mit der Elementefunktion print () ausgegeben werden.<br />
Wo baue ich das ein? Und wie?</p>
</blockquote>
<p>Das war ne halbwegs konkrete Frage.<br />
Schematisch geht das Einlesen also zB so:</p>
<pre><code>datei_öffnen();

datensatz_einlesen_und_speichern();
solange (nicht am Dateiende UND Anzahl &lt; MAX)
    datensatz_einlesen_und_speichern();

datei_schließen();
</code></pre>
<p>Wobei du dir dabei auch Gedanken darüber machen musst, wie du erkennst, wo das Array <code>orte</code> zu Ende ist.</p>
<p>Und sonst kann ich dir nur raten, zB erstmal das Einlesen zu versuchen, und dann nachzufragen, wenn's nicht klappt; aber etwas konkreter...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1752404</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1752404</guid><dc:creator><![CDATA[#mngbd]]></dc:creator><pubDate>Thu, 30 Jul 2009 13:59:49 GMT</pubDate></item></channel></rss>