<?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[Verbundstruktur, Dateien, Sortierung - Anfänger braucht ordentliche Erklärung]]></title><description><![CDATA[<p>Guten Tag!</p>
<p>Wie bereits im Titel erwähnt bin ich neu in der c++Welt. Ich bin ein Kreativling der nun Angewandte Informatik studiert um das Feld zu erweitern.</p>
<p>Leider beginnt mein Professor nicht bei 0, sondern eher bei 100, was es für absolute Neulinge nicht einfacher macht.</p>
<p>Wir sollen in den Hausaufgaben mit eigens erstellten Quell- und Headerdatein arbeiten, allerding habe ich wohl Probleme diese richtig anzuwenden.</p>
<p>Leider scheitert es bereits bei der ersten Aufgabe, die noch vermeindlich einfach sein soll.</p>
<p>Ich möchte keine Komplettlösung haben, aber ich versuche nun seit drei Tagen das Ding zum laufen zu bringen...ich brauche eher Ansätze und ggf. Erklärungen für Dummies.</p>
<p>1. Definieren Sie einen Datentyp, der ein Datum (also z. B. ein<br />
Geburtsdatum) aufnehmen kann. Erläutern Sie in Kommentaren, wie ein<br />
bestimmtes Datum darin repräsentiert würde .<br />
Erstellen Sie eine Funktion, die prüft, ob ein übergebener Wert des so<br />
definierten Typs ein gültiges Datum beinhaltet (unter Beachtung des<br />
Schaltjahresstatus zulässige Kombination aus Monat und Tag.<br />
Erstellung Sie eine Funktion, die den Nutzer zur Eingabe eines Datums<br />
auffordert und nicht eher locker lässt, bis das Datum auch gültig ist. Das<br />
Datum soll Rückgabewert der Funktion sein<br />
Erstellen Sie auch eine Ausgabefunktion für ein solches (gültiges)<br />
Datum ohne begleitenden Text und ohne Zeilenvorschub, so dass die<br />
Datumsausgabe in die Ausgabe eines laufenden Texts eingebaut werden<br />
könnte</p>
<p>Erstellen Sie zwei Vergleichsfunktionen für jeweils ein Paar solcher<br />
Daten. Jede der beiden Funktionen dient zum Test einer unterschiedlichen<br />
Ordnungsrelation R und soll zwei Datumswerte date1 und date2 als<br />
Parameter und einen ganzzahligen Rückgabewert haben. Der<br />
Rückgabewert soll genau einen der Werte -1, 0 oder 1 annehmen, je<br />
nachdem, welcher der folgenden Fälle bezüglich der jeweiligen<br />
Ordnungsrelation zutrifft:<br />
• date1 ist „kleiner“ als date2  Funktionswert -1;<br />
• date1 ist gleichwertig mit date2  Funktionswert 0;<br />
• date1 ist „größer“ als date2  Funktionswert +1.<br />
Die erste Ordnungsrelation betrachte datum1 als kleiner, wenn es dem<br />
datum2 zeitlich absolut vorausgeht („früher war“). Zum Beispiel ist der<br />
16.12.1985 kleiner als der 20.11.2013.<br />
Die zweite Ordnungsrelation betrachte ein Datum datum1 hingegen dann als „kleiner“, wenn es unabhängig vom dazugehörigen Jahr, also allein<br />
nach Monat und Tag, kalendarisch vor datum2 einzuordnen wäre.<br />
Beispiel: der 20.11.2013 liegt vor dem 16.12.1985.<br />
3. Definieren Sie einen Datentyp zur Speicherung eines<br />
Geburtstagseintrags, bestehend aus:<br />
• Vorname<br />
• Nachname<br />
• Geburtsdatum<br />
• Geschlechtsangabe.</p>
<p>...ich hoffe die Menge an Text ist noch zumutbar für dieses Forum.</p>
<p>Ich habe begonnen, das Datum eingeben zu lassen und in einer einfachen main funktioniert das ganze auch. Wenn ich nun allerdings mittels Header- und Quelldatei prüfen möchte, ob das Datum überhaupt ein Datum ist, funktioniert das ganze nicht mehr.<br />
Ich benötige also UNBEDINGT hilfe, denn ich möchte lernen!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/321971/verbundstruktur-dateien-sortierung-anfänger-braucht-ordentliche-erklärung</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Jul 2026 13:53:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/321971.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 01 Dec 2013 15:21:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verbundstruktur, Dateien, Sortierung - Anfänger braucht ordentliche Erklärung on Sun, 01 Dec 2013 15:39:01 GMT]]></title><description><![CDATA[<p>Guten Tag!</p>
<p>Wie bereits im Titel erwähnt bin ich neu in der c++Welt. Ich bin ein Kreativling der nun Angewandte Informatik studiert um das Feld zu erweitern.</p>
<p>Leider beginnt mein Professor nicht bei 0, sondern eher bei 100, was es für absolute Neulinge nicht einfacher macht.</p>
<p>Wir sollen in den Hausaufgaben mit eigens erstellten Quell- und Headerdatein arbeiten, allerding habe ich wohl Probleme diese richtig anzuwenden.</p>
<p>Leider scheitert es bereits bei der ersten Aufgabe, die noch vermeindlich einfach sein soll.</p>
<p>Ich möchte keine Komplettlösung haben, aber ich versuche nun seit drei Tagen das Ding zum laufen zu bringen...ich brauche eher Ansätze und ggf. Erklärungen für Dummies.</p>
<p>1. Definieren Sie einen Datentyp, der ein Datum (also z. B. ein<br />
Geburtsdatum) aufnehmen kann. Erläutern Sie in Kommentaren, wie ein<br />
bestimmtes Datum darin repräsentiert würde .<br />
Erstellen Sie eine Funktion, die prüft, ob ein übergebener Wert des so<br />
definierten Typs ein gültiges Datum beinhaltet (unter Beachtung des<br />
Schaltjahresstatus zulässige Kombination aus Monat und Tag.<br />
Erstellung Sie eine Funktion, die den Nutzer zur Eingabe eines Datums<br />
auffordert und nicht eher locker lässt, bis das Datum auch gültig ist. Das<br />
Datum soll Rückgabewert der Funktion sein<br />
Erstellen Sie auch eine Ausgabefunktion für ein solches (gültiges)<br />
Datum ohne begleitenden Text und ohne Zeilenvorschub, so dass die<br />
Datumsausgabe in die Ausgabe eines laufenden Texts eingebaut werden<br />
könnte</p>
<p>Erstellen Sie zwei Vergleichsfunktionen für jeweils ein Paar solcher<br />
Daten. Jede der beiden Funktionen dient zum Test einer unterschiedlichen<br />
Ordnungsrelation R und soll zwei Datumswerte date1 und date2 als<br />
Parameter und einen ganzzahligen Rückgabewert haben. Der<br />
Rückgabewert soll genau einen der Werte -1, 0 oder 1 annehmen, je<br />
nachdem, welcher der folgenden Fälle bezüglich der jeweiligen<br />
Ordnungsrelation zutrifft:<br />
• date1 ist „kleiner“ als date2  Funktionswert -1;<br />
• date1 ist gleichwertig mit date2  Funktionswert 0;<br />
• date1 ist „größer“ als date2  Funktionswert +1.<br />
Die erste Ordnungsrelation betrachte datum1 als kleiner, wenn es dem<br />
datum2 zeitlich absolut vorausgeht („früher war“). Zum Beispiel ist der<br />
16.12.1985 kleiner als der 20.11.2013.<br />
Die zweite Ordnungsrelation betrachte ein Datum datum1 hingegen dann als „kleiner“, wenn es unabhängig vom dazugehörigen Jahr, also allein<br />
nach Monat und Tag, kalendarisch vor datum2 einzuordnen wäre.<br />
Beispiel: der 20.11.2013 liegt vor dem 16.12.1985.<br />
3. Definieren Sie einen Datentyp zur Speicherung eines<br />
Geburtstagseintrags, bestehend aus:<br />
• Vorname<br />
• Nachname<br />
• Geburtsdatum<br />
• Geschlechtsangabe.</p>
<p>...ich hoffe die Menge an Text ist noch zumutbar für dieses Forum.</p>
<p>Ich habe begonnen, das Datum eingeben zu lassen und in einer einfachen main funktioniert das ganze auch. Wenn ich nun allerdings mittels Header- und Quelldatei prüfen möchte, ob das Datum überhaupt ein Datum ist, funktioniert das ganze nicht mehr.<br />
Ich benötige also UNBEDINGT hilfe, denn ich möchte lernen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369217</guid><dc:creator><![CDATA[fant_lampe]]></dc:creator><pubDate>Sun, 01 Dec 2013 15:39:01 GMT</pubDate></item><item><title><![CDATA[Reply to Verbundstruktur, Dateien, Sortierung - Anfänger braucht ordentliche Erklärung on Sun, 01 Dec 2013 15:54:40 GMT]]></title><description><![CDATA[<p>Fang doch einfach mal klein an:</p>
<pre><code class="language-cpp">struct Date
{
  int d, m, y; // Tag, Monat, Jahr
  Date(int d, m, y) : d(d), m(m), y(y) { }
  bool isValid();
}
</code></pre>
<p>Normalerweise würde man das Datum im Konstruktor validieren, aber so ist es evtl. erstmal einfacher.</p>
<p>In der Memberfunktion isValid() musst du nun natürlich überprüfen, ob Tag, Monat und Jahr ein gültiges Datum beschreiben.</p>
<p>Wenn m==4,6,9,11, (April, Juni, September, November), darf d nicht größer 30 sein, wenn m==2 ist es natürlich abhängig vom Jahr (Schaltjahr oder nicht*), ob d max. 28 oder 29 sein darf, ansonsten ist der Maximalwert von d 31.</p>
<p>Wenn du es ganz toll machen willst, kannst du auch überprüfen, ob das Datum zwischen dem 5.10.1582 und dem 14.10.1582 liegt, denn diese Tage gab es schlichtweg nicht (Umstellung auf gregorianischen Kalender).</p>
<p>Dann kannst du ein Objekt vom Type Date anlegen, in einer &quot;Endlos&quot;-Schleife die Member einlesen und die Schleife dann abbrechen, wenn die Memberfunktion isValid true zurück liefert.</p>
<p>Ich hoffe, dass dies evtl. eine Anregung ist, die weiteren Aufgaben erscheinen dann evtl. auch viel einfacher.</p>
<p>* Schaltjahr:<br />
Wenn mod 4 != 0: ja.<br />
Wenn &lt;1582: nein.<br />
Wenn mod 100 !=0: ja.<br />
Wenn mod 400 !=0: nein.<br />
Sonst ja.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369220</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369220</guid><dc:creator><![CDATA[dmy]]></dc:creator><pubDate>Sun, 01 Dec 2013 15:54:40 GMT</pubDate></item><item><title><![CDATA[Reply to Verbundstruktur, Dateien, Sortierung - Anfänger braucht ordentliche Erklärung on Sun, 01 Dec 2013 16:18:53 GMT]]></title><description><![CDATA[<p>fant_lampe schrieb:</p>
<blockquote>
<p>Ich habe begonnen, das Datum eingeben zu lassen und in einer einfachen main funktioniert das ganze auch. Wenn ich nun allerdings mittels Header- und Quelldatei prüfen möchte, ob das Datum überhaupt ein Datum ist, funktioniert das ganze nicht mehr.<br />
Ich benötige also UNBEDINGT hilfe, denn ich möchte lernen!</p>
</blockquote>
<p>Dann wäre es jetzt schlau gewesen, zu sagen, was &quot;funktioniert nicht&quot; bedeutet und gegebenenfalls den Code zu zeigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369232</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369232</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Sun, 01 Dec 2013 16:18:53 GMT</pubDate></item><item><title><![CDATA[Reply to Verbundstruktur, Dateien, Sortierung - Anfänger braucht ordentliche Erklärung on Sun, 01 Dec 2013 19:46:37 GMT]]></title><description><![CDATA[<p>Dankeschön, das ist mir tatsächlich eine Anregung, da mir nicht in den Sinn gekommen ist, dafür ein struct zu verwenden. Ich habe versucht das ganze mit if schleifen zu lösen, aber das war vielleicht auch der Fehler. Kann ich diesen struct dann eigentlich in eine andere Quelldatei einbeziehen und wie würde so eine passende Quelldatei aussehen?<br />
Ich weiß wie man sie aufbaut mit den Include-Wächtern, allerdings habe ich noch nicht ganz verstanden inwiefern man etwas &quot;grob&quot; beschreiben/definieren kann.<br />
Meine kleine Headerdatei sieht bisher so aus:</p>
<pre><code>#ifndef 1DATUM_H
#define 1DATUM_H

Datum:: (int d, int m, int y)

#endif
</code></pre>
<p>In der passenden Quelldatei (außerhalb der main) schreibe ich nun die Funktion und binde diese Quelldatei in die main ein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369267</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369267</guid><dc:creator><![CDATA[fant_lampe]]></dc:creator><pubDate>Sun, 01 Dec 2013 19:46:37 GMT</pubDate></item><item><title><![CDATA[Reply to Verbundstruktur, Dateien, Sortierung - Anfänger braucht ordentliche Erklärung on Mon, 02 Dec 2013 08:44:29 GMT]]></title><description><![CDATA[<p>Tut mir leid, dich in deinem Enthusiasmus bremsen zu müssen, aber du solltest dir zunächst ein mal ein Grundlagenbuch zur Brust nehmen. Dringendst! Du hast genau eine Zeile Code und schon da sind zwei grobe Fehler drin. Das hätte dir auch dein Compiler verraten.<br />
Ich kann nur für mich sprechen, aber in deinem Fall fehlt einfach soviel Grundlage, dass es keinen Sinn ergibt, dir zu helfen. Man könnte dir von Fehler zu Fehler helfen, aber ohne die Grundlagen bist du nicht in der Lage, korrektes C++ zu programmieren. Es ist nicht so, dass dein Programm nur einen Fehler hätte, nach dessen Beseitigung es fehlerfrei läuft, sondern dir fehlen die Grundlagen.<br />
Daher: Buch besorgen, durcharbeiten, wiederkommen mit konkreten Fragen.</p>
<p>PS:<br />
Erwähnte ich, dass Grundlagen fehlen?</p>
<p>PPS:<br />
Ratschläge für vernünftige C++ Bücher findest du in den FAQ</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369325</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Mon, 02 Dec 2013 08:44:29 GMT</pubDate></item><item><title><![CDATA[Reply to Verbundstruktur, Dateien, Sortierung - Anfänger braucht ordentliche Erklärung on Mon, 02 Dec 2013 14:27:26 GMT]]></title><description><![CDATA[<p>Wie verbessere ich den Fehler in Zeile 19 und was ist hier sonst noch falsch oder verbesserungswürdig?</p>
<pre><code>#include &lt;iostream&gt;

using namespace std;

struct date {
	int t, m, j;
	date (int t, int m, int j) : t(t), m(m), j(j) {};
	bool isvalid (int t, int m, int j) {
		if (t &gt;0 &amp;&amp; t &lt;32 || m&gt; 0 &amp;&amp; m &lt; 13 || j &gt; 0 &amp;&amp; j &lt;2014)
		return true;
		else return false;
	}	
date () {
	do {
	cin &gt;&gt; t;
	cin &gt;&gt; m;
	cin &gt;&gt; j;
	isvalid (t, m, j);
    	} while (isvalid != true);
    }
};

int main () {
	date datum;
	cout &lt;&lt; &quot;Test&quot;;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2369372</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369372</guid><dc:creator><![CDATA[kamelkacke]]></dc:creator><pubDate>Mon, 02 Dec 2013 14:27:26 GMT</pubDate></item><item><title><![CDATA[Reply to Verbundstruktur, Dateien, Sortierung - Anfänger braucht ordentliche Erklärung on Mon, 02 Dec 2013 14:38:10 GMT]]></title><description><![CDATA[<p>kamelkacke schrieb:</p>
<blockquote>
<p>Wie verbessere ich den Fehler in Zeile 19 und was ist hier sonst noch falsch oder verbesserungswürdig?</p>
<pre><code>#include &lt;iostream&gt;

using namespace std;

struct date {
	int t, m, j;
	date (int t, int m, int j) : t(t), m(m), j(j) {};
	bool isvalid (int t, int m, int j) {
		if (t &gt;0 &amp;&amp; t &lt;32 || m&gt; 0 &amp;&amp; m &lt; 13 || j &gt; 0 &amp;&amp; j &lt;2014)
		return true;
		else return false;
	}	
date () {
	do {
	cin &gt;&gt; t;
	cin &gt;&gt; m;
	cin &gt;&gt; j;
	isvalid (t, m, j);
    	} while (isvalid != true);
    }
};

int main () {
	date datum;
	cout &lt;&lt; &quot;Test&quot;;
}
</code></pre>
</blockquote>
<p>ohne geprüft zu haben was du da auch wirklich machst (tu ich mir bei der formatierung nicht an):<br />
-formatierung<br />
-normalen standard-konstruktor anbieten (der meinetwegen das aktuelle datum einliest)<br />
-das was du aktuell im standard-konstruktor hast gehört in den globalen operator&gt;&gt;<br />
-ICH persönlich würde nicht in als datentypen nehmen, da es keine negativen tage oder monate gibt (bei den jahren lässt sich streiten wegen <a href="http://v.Ch" rel="nofollow">v.Ch</a>.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369375</guid><dc:creator><![CDATA[asfasfa]]></dc:creator><pubDate>Mon, 02 Dec 2013 14:38:10 GMT</pubDate></item><item><title><![CDATA[Reply to Verbundstruktur, Dateien, Sortierung - Anfänger braucht ordentliche Erklärung on Mon, 02 Dec 2013 14:44:34 GMT]]></title><description><![CDATA[<p>kamelkacke schrieb:</p>
<blockquote>
<p>Wie verbessere ich den Fehler in Zeile 19</p>
</blockquote>
<p>isvalid ist eine Memberfunktion, keine Variable. Du musst entweder den Rückgabewert der Methode in einer Variable speichern und diesen dann in der Bedingung prüfen oder du verschiebst den kompletten Aufruf in die Bedingung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369376</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369376</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Mon, 02 Dec 2013 14:44:34 GMT</pubDate></item><item><title><![CDATA[Reply to Verbundstruktur, Dateien, Sortierung - Anfänger braucht ordentliche Erklärung on Mon, 02 Dec 2013 15:32:33 GMT]]></title><description><![CDATA[<p>DocShoe schrieb:</p>
<blockquote>
<p>Tut mir leid, dich in deinem Enthusiasmus bremsen zu müssen, aber du solltest dir zunächst ein mal ein Grundlagenbuch zur Brust nehmen. Dringendst! Du hast genau eine Zeile Code und schon da sind zwei grobe Fehler drin. Das hätte dir auch dein Compiler verraten.<br />
Ich kann nur für mich sprechen, aber in deinem Fall fehlt einfach soviel Grundlage, dass es keinen Sinn ergibt, dir zu helfen.</p>
</blockquote>
<p>Im Moment versuche ich schnellstmöglich die besagten Grundlagenbücher durchzuarbeiten, aber meinen Professor interessiert es herzlich wenig ob ich noch Grundlagen benötige oder nicht.</p>
<p>Mein Compiler hat mir verraten, dass meine Eingabe fehlerhaft ist, andernfalls hätte ich mich nicht an dieses Forum gewandt.<br />
Ich dachte mir, dass es GERADE bei den Grundlagen richtig wäre jemanden zu befragen um besagte Fehler in der Zukunft nicht mehr zu machen.</p>
<p>Falls du das Gefühl hast, mir nicht helfen zu können, dann antworte das nächste mal bitte nicht. Das spart nicht nur dir Zeit, sondern auch mir.</p>
<p>Ich für meinen Teil versuche nun herauszufinden wo der Fehler in meiner Headerdatei liegt und vielleicht finde ich ihn von selbst. Danke dir.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369389</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369389</guid><dc:creator><![CDATA[fant_lampe]]></dc:creator><pubDate>Mon, 02 Dec 2013 15:32:33 GMT</pubDate></item><item><title><![CDATA[Reply to Verbundstruktur, Dateien, Sortierung - Anfänger braucht ordentliche Erklärung on Mon, 02 Dec 2013 17:04:38 GMT]]></title><description><![CDATA[<p>fant_lampe schrieb:</p>
<blockquote>
<p>Leider beginnt mein Professor nicht bei 0, sondern eher bei 100, was es für absolute Neulinge nicht einfacher macht.</p>
</blockquote>
<p>Tut mir Leid, das ich dies nicht ganz glaube. Zwar starten Dozenten meist sehr schnell, aber das Sie keinerlei Grundlagen legen (und sei es in Kurzform) kann ich so nicht glauben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369405</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369405</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Mon, 02 Dec 2013 17:04:38 GMT</pubDate></item></channel></rss>