<?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[Projekt: Hilfe bei der Speicherung von eingetragenen Daten.]]></title><description><![CDATA[<p>Halli Hallo,<br />
ich habe vor kurzem mit C++ Programmierung angefangen und habe als erstes größeres &quot;Projekt&quot; eine Art Notizbuch geschrieben. Es gibt ein kleines Menü mit dem man zwischen &quot;Daten Eintragen &quot;Daten Einsehen&quot; und &quot;Zurueck zum Hauptmenue&quot; wechseln kann. Das alles habe ich jz über eine Konsole laufen lassen. Eigentlich bin ich auch ganz Zufrieden mit Ergebnis. Als letztes würde ich aber gerne, die Daten speichern, die ich eingetragen habe, sodass die Daten auch nach Programmschluss noch in der Liste bleiben.</p>
<p>Ich poste mal den Code, für die vllt. etwas verwirrt sind :D.</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;stdlib.h&gt;
using std::cout;
using std::cin;
using std::endl;
using std::string;

void func_start_menu();
void func_eingabe_menu();
void func_ausgabe_menu();

class employee
{	public: 
	employee()	{};
	~employee()	{};

	int i =0;
	int j =0;
	int k =0;
	int c=0;

	string get_name(){return name[i];};
	int 	get_alter(){return alter[j];};
	string 	get_geburtsdatum(){return geburtsdatum[k];};

	void set_name(string name_value){name[i]= name_value;};
	void set_alter(int number_value){ alter[j]= number_value; };
	void set_geburtsdatum(string geburt_value){geburtsdatum[k]= geburt_value;};

	private:
		string name[10];
		int alter[10];
		string geburtsdatum[10];

};

employee objekt1;

void func_eingabe_menu()
{	system(&quot;cls&quot;);

	int bestaetigung = 1;
	string nam;
	int nummer;
	string geb;

		while(bestaetigung)
	{
		cout &lt;&lt; &quot;geben sie den namen ein: &quot; &lt;&lt; endl;
		cin &gt;&gt; nam;
		objekt1.set_name(nam);
		objekt1.i++;

		cout &lt;&lt; &quot;geben sie das alter an ein: &quot; &lt;&lt; endl;

			cin &gt;&gt; nummer;
			objekt1.set_alter(nummer);
			objekt1.j++;

		cout &lt;&lt; &quot;geben sie das geburtsdatum ein: &quot; &lt;&lt; endl;
		cin &gt;&gt; geb;
		objekt1.set_geburtsdatum(geb);
		objekt1.k++;
		objekt1.c++;

		cout &lt;&lt; &quot;&lt;0&gt; zurrueck ins menue &lt;1&gt; um weiter zu machen&quot; &lt;&lt; endl;
		cin &gt;&gt; bestaetigung;

	}

}

void func_ausgabe_menu()
{	system(&quot;cls&quot;);
	int bestaetigung_1;

	cout &lt;&lt; &quot;name:			alter:			geburtsdatum:&quot; &lt;&lt; endl;
	for (objekt1.i=0, objekt1.j=0, objekt1.k=0; objekt1.i&lt;objekt1.c; objekt1.i++,objekt1.j++,objekt1.k++)
	{	

		cout &lt;&lt; objekt1.get_name() &lt;&lt; &quot;			&quot; &lt;&lt; objekt1.get_alter() &lt;&lt; &quot;			&quot; &lt;&lt; objekt1.get_geburtsdatum()&lt;&lt; &quot;			&quot; &lt;&lt; endl;

	}

	cout &lt;&lt; &quot;&lt;0&gt; zurrueck ins menue.&quot; &lt;&lt; endl;
	cin &gt;&gt; bestaetigung_1;

}

void func_start_menu()
{  
	int eingabe;

	while(true)
	{
	system(&quot;cls&quot;);

	cout &lt;&lt; &quot;---------------------------------------------------------------------------&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;			Willkommen im Notizbuchprojekt!	             &quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;		-Druecke 1 um einen neuen Eintrag auszufuehren&quot;	   &lt;&lt; endl;
	cout &lt;&lt; &quot;		-Druecke 2 um die bisherigen Einträge einzusehen&quot;   &lt;&lt; endl;
	cin &gt;&gt; eingabe;	

	if(eingabe ==1)
	{
		func_eingabe_menu();
	}
	else
	if (eingabe == 2)
	{
		func_ausgabe_menu();
	}
}
}

int main()
{
	func_start_menu();
}
</code></pre>
<p>Ich hatte mir überlegt mit der fstream bibo die eingetragenen Daten vllt. in einer Datei zwischenzuspeichern und dann bei Programmstart wieder in die Datei einzutragen. Aber bei jedem Programmstart löscht sich die Liste wieder D:.<br />
Gibts vllt. noch andere Lösungsvorschläge?<br />
Danke schonmal fürs lesen <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="🙂"
    /> .<br />
MfG<br />
BlackJoe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/332591/projekt-hilfe-bei-der-speicherung-von-eingetragenen-daten</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Apr 2026 16:35:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/332591.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 10 May 2015 15:26:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Projekt: Hilfe bei der Speicherung von eingetragenen Daten. on Sun, 10 May 2015 15:27:39 GMT]]></title><description><![CDATA[<p>Halli Hallo,<br />
ich habe vor kurzem mit C++ Programmierung angefangen und habe als erstes größeres &quot;Projekt&quot; eine Art Notizbuch geschrieben. Es gibt ein kleines Menü mit dem man zwischen &quot;Daten Eintragen &quot;Daten Einsehen&quot; und &quot;Zurueck zum Hauptmenue&quot; wechseln kann. Das alles habe ich jz über eine Konsole laufen lassen. Eigentlich bin ich auch ganz Zufrieden mit Ergebnis. Als letztes würde ich aber gerne, die Daten speichern, die ich eingetragen habe, sodass die Daten auch nach Programmschluss noch in der Liste bleiben.</p>
<p>Ich poste mal den Code, für die vllt. etwas verwirrt sind :D.</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;stdlib.h&gt;
using std::cout;
using std::cin;
using std::endl;
using std::string;

void func_start_menu();
void func_eingabe_menu();
void func_ausgabe_menu();

class employee
{	public: 
	employee()	{};
	~employee()	{};

	int i =0;
	int j =0;
	int k =0;
	int c=0;

	string get_name(){return name[i];};
	int 	get_alter(){return alter[j];};
	string 	get_geburtsdatum(){return geburtsdatum[k];};

	void set_name(string name_value){name[i]= name_value;};
	void set_alter(int number_value){ alter[j]= number_value; };
	void set_geburtsdatum(string geburt_value){geburtsdatum[k]= geburt_value;};

	private:
		string name[10];
		int alter[10];
		string geburtsdatum[10];

};

employee objekt1;

void func_eingabe_menu()
{	system(&quot;cls&quot;);

	int bestaetigung = 1;
	string nam;
	int nummer;
	string geb;

		while(bestaetigung)
	{
		cout &lt;&lt; &quot;geben sie den namen ein: &quot; &lt;&lt; endl;
		cin &gt;&gt; nam;
		objekt1.set_name(nam);
		objekt1.i++;

		cout &lt;&lt; &quot;geben sie das alter an ein: &quot; &lt;&lt; endl;

			cin &gt;&gt; nummer;
			objekt1.set_alter(nummer);
			objekt1.j++;

		cout &lt;&lt; &quot;geben sie das geburtsdatum ein: &quot; &lt;&lt; endl;
		cin &gt;&gt; geb;
		objekt1.set_geburtsdatum(geb);
		objekt1.k++;
		objekt1.c++;

		cout &lt;&lt; &quot;&lt;0&gt; zurrueck ins menue &lt;1&gt; um weiter zu machen&quot; &lt;&lt; endl;
		cin &gt;&gt; bestaetigung;

	}

}

void func_ausgabe_menu()
{	system(&quot;cls&quot;);
	int bestaetigung_1;

	cout &lt;&lt; &quot;name:			alter:			geburtsdatum:&quot; &lt;&lt; endl;
	for (objekt1.i=0, objekt1.j=0, objekt1.k=0; objekt1.i&lt;objekt1.c; objekt1.i++,objekt1.j++,objekt1.k++)
	{	

		cout &lt;&lt; objekt1.get_name() &lt;&lt; &quot;			&quot; &lt;&lt; objekt1.get_alter() &lt;&lt; &quot;			&quot; &lt;&lt; objekt1.get_geburtsdatum()&lt;&lt; &quot;			&quot; &lt;&lt; endl;

	}

	cout &lt;&lt; &quot;&lt;0&gt; zurrueck ins menue.&quot; &lt;&lt; endl;
	cin &gt;&gt; bestaetigung_1;

}

void func_start_menu()
{  
	int eingabe;

	while(true)
	{
	system(&quot;cls&quot;);

	cout &lt;&lt; &quot;---------------------------------------------------------------------------&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;			Willkommen im Notizbuchprojekt!	             &quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;		-Druecke 1 um einen neuen Eintrag auszufuehren&quot;	   &lt;&lt; endl;
	cout &lt;&lt; &quot;		-Druecke 2 um die bisherigen Einträge einzusehen&quot;   &lt;&lt; endl;
	cin &gt;&gt; eingabe;	

	if(eingabe ==1)
	{
		func_eingabe_menu();
	}
	else
	if (eingabe == 2)
	{
		func_ausgabe_menu();
	}
}
}

int main()
{
	func_start_menu();
}
</code></pre>
<p>Ich hatte mir überlegt mit der fstream bibo die eingetragenen Daten vllt. in einer Datei zwischenzuspeichern und dann bei Programmstart wieder in die Datei einzutragen. Aber bei jedem Programmstart löscht sich die Liste wieder D:.<br />
Gibts vllt. noch andere Lösungsvorschläge?<br />
Danke schonmal fürs lesen <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="🙂"
    /> .<br />
MfG<br />
BlackJoe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2453174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2453174</guid><dc:creator><![CDATA[BlackJoe]]></dc:creator><pubDate>Sun, 10 May 2015 15:27:39 GMT</pubDate></item><item><title><![CDATA[Reply to Projekt: Hilfe bei der Speicherung von eingetragenen Daten. on Sun, 10 May 2015 16:00:15 GMT]]></title><description><![CDATA[<p>Dann solltest du uns besser den Code für das Lesen und Schreiben der Datei sowie deren Verwendung zeigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2453175</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2453175</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Sun, 10 May 2015 16:00:15 GMT</pubDate></item><item><title><![CDATA[Reply to Projekt: Hilfe bei der Speicherung von eingetragenen Daten. on Sun, 10 May 2015 17:56:47 GMT]]></title><description><![CDATA[<p>Stimmt. Sorry.</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;stdlib.h&gt;
#include &lt;fstream&gt;

using std::cout;
using std::cin;
using std::endl;
using std::string;

void func_start_menu();
void func_eingabe_menu();
void func_ausgabe_menu();

class employee
{	public: 
	employee()	{};
	~employee()	{};

	int i =0;
	int j =0;
	int k =0;
	int c=0;

	string get_name(){return name[i];};
	int 	get_alter(){return alter[j];};
	string 	get_geburtsdatum(){return geburtsdatum[k];};

	void set_name(string name_value){name[i]= name_value;};
	void set_alter(int number_value){ alter[j]= number_value; };
	void set_geburtsdatum(string geburt_value){geburtsdatum[k]= geburt_value;};

	private:
		string name[10];
		int alter[10];
		string geburtsdatum[10];

};

employee objekt1;

void func_eingabe_menu()
{	system(&quot;cls&quot;);

	int bestaetigung = 1;
	string nam;
	int nummer;
	string geb;

		while(bestaetigung)
	{	
		cout &lt;&lt; &quot;geben sie den namen ein: &quot; &lt;&lt; endl;
		cin &gt;&gt; nam;
		objekt1.set_name(nam);
		objekt1.i++;

		cout &lt;&lt; &quot;geben sie das alter an ein: &quot; &lt;&lt; endl;

			cin &gt;&gt; nummer;
			objekt1.set_alter(nummer);
			objekt1.j++;

		cout &lt;&lt; &quot;geben sie das geburtsdatum ein: &quot; &lt;&lt; endl;
		cin &gt;&gt; geb;
		objekt1.set_geburtsdatum(geb);
		objekt1.k++;
		objekt1.c++;

		cout &lt;&lt; &quot;&lt;0&gt; zurrueck ins menue &lt;1&gt; um weiter zu machen&quot; &lt;&lt; endl;
		cin &gt;&gt; bestaetigung;
		std::ofstream schreiben(&quot;notizbucht.dat&quot;);
		schreiben.write((char*)&amp;objekt1, sizeof(employee));
		schreiben.close();
	}

}

void func_ausgabe_menu()
{	system(&quot;cls&quot;);
	int bestaetigung_1;
	std::ifstream lesen(&quot;notizbucht.dat&quot;);
	lesen.read((char*)&amp;objekt1, sizeof(employee));
	lesen.close();

	cout &lt;&lt; &quot;name:			alter:			geburtsdatum:&quot; &lt;&lt; endl;
	for (objekt1.i=0, objekt1.j=0, objekt1.k=0; objekt1.i&lt;objekt1.c; objekt1.i++,objekt1.j++,objekt1.k++)
	{	

		cout &lt;&lt; objekt1.get_name() &lt;&lt; &quot;			&quot; &lt;&lt; objekt1.get_alter() &lt;&lt; &quot;			&quot; &lt;&lt; objekt1.get_geburtsdatum()&lt;&lt; &quot;			&quot; &lt;&lt; endl;

	}

	cout &lt;&lt; &quot;&lt;0&gt; zurrueck ins menue.&quot; &lt;&lt; endl;
	cin &gt;&gt; bestaetigung_1;

}

void func_start_menu()
{  
	int eingabe;

	while(true)
	{
	system(&quot;cls&quot;);

	cout &lt;&lt; &quot;---------------------------------------------------------------------------&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;			Willkommen im Notizbuchprojekt!	             &quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;		-Druecke 1 um einen neuen Eintrag auszufuehren&quot;	   &lt;&lt; endl;
	cout &lt;&lt; &quot;		-Druecke 2 um die bisherigen Einträge einzusehen&quot;   &lt;&lt; endl;
	cin &gt;&gt; eingabe;	

	if(eingabe ==1)
	{
		func_eingabe_menu();
	}
	else
	if (eingabe == 2)
	{
		func_ausgabe_menu();
	}
}
}

int main()
{
	func_start_menu();
}
</code></pre>
<p>Das wäre der code mit fstream.<br />
Wenn ich es richtig verstanden habe, dann kann man mit ofstream/ifstream.write bzw . read, dann die daten einer eines klassenobjekts ein und auslesen. Das heißt in diesem fall hatte ich vor, die daten des gesamten objekts in eine binärdatei einzulesen bei func_eingabe_menu() und dann in die func_ausgabe_menu() auszugeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2453178</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2453178</guid><dc:creator><![CDATA[BlackJoe]]></dc:creator><pubDate>Sun, 10 May 2015 17:56:47 GMT</pubDate></item><item><title><![CDATA[Reply to Projekt: Hilfe bei der Speicherung von eingetragenen Daten. on Sun, 10 May 2015 18:06:53 GMT]]></title><description><![CDATA[<p>Nee, das wird so nicht funktionieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2453179</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2453179</guid><dc:creator><![CDATA[Mechanics]]></dc:creator><pubDate>Sun, 10 May 2015 18:06:53 GMT</pubDate></item><item><title><![CDATA[Reply to Projekt: Hilfe bei der Speicherung von eingetragenen Daten. on Sun, 10 May 2015 18:35:23 GMT]]></title><description><![CDATA[<p>Deine Employeeklasse ist ziemlich übel. Wenn du mehrere Mitarbeiter verwalten willst, sollten die Arrays <strong>nicht</strong> in der Klasse selber verwaltet werden. Noch besser ist es, gleich einen std::vector zu verwenden:</p>
<pre><code class="language-cpp">class employee
{   public:
    employee(const string&amp; name, int alter, const string&amp; geburtsdatum) : name(name), alter(alter), geburtsdatum(geburtsdatum)  {};

    string get_name() const {return name;};
    int     get_alter() const {return alter;};
    string  get_geburtsdatum() const {return geburtsdatum;};

    private:
        string name;
        int alter;
        string geburtsdatum;
};
...
std::vector&lt;employee&gt; employees;
...
employees.push_back( employee( &quot;Meier&quot;, 40, &quot;1.3.&quot; ) );
...
for( std::vector&lt;employee&gt;::iterator it = employees.begin(); it != employees.end(); ++it ) {
    std::cout &lt;&lt; it-&gt;get_name() &lt;&lt; &quot; &quot; &lt;&lt; it-&gt;get_alter() ...
}
</code></pre>
<p>Und mit C++11 könnte man das noch vereinfachen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2453180</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2453180</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Sun, 10 May 2015 18:35:23 GMT</pubDate></item><item><title><![CDATA[Reply to Projekt: Hilfe bei der Speicherung von eingetragenen Daten. on Mon, 11 May 2015 04:31:16 GMT]]></title><description><![CDATA[<blockquote>
<p>Deine Employeeklasse ist ziemlich übel. Wenn du mehrere Mitarbeiter verwalten willst, sollten die Arrays nicht in der Klasse selber verwaltet werden</p>
</blockquote>
<p>Wie macht man das dann am besten, habe ein ähnliches Problem . Als Freie Funktion, oder eine weitere Klasse die den Vecotr enthält?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2453183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2453183</guid><dc:creator><![CDATA[Desing_?]]></dc:creator><pubDate>Mon, 11 May 2015 04:31:16 GMT</pubDate></item><item><title><![CDATA[Reply to Projekt: Hilfe bei der Speicherung von eingetragenen Daten. on Mon, 11 May 2015 06:00:16 GMT]]></title><description><![CDATA[<p>Desing_? schrieb:</p>
<blockquote>
<blockquote>
<p>Deine Employeeklasse ist ziemlich übel. Wenn du mehrere Mitarbeiter verwalten willst, sollten die Arrays nicht in der Klasse selber verwaltet werden</p>
</blockquote>
<p>Wie macht man das dann am besten, habe ein ähnliches Problem . Als Freie Funktion, oder eine weitere Klasse die den Vecotr enthält?</p>
</blockquote>
<p>Wie sollte eine Funktion Daten halten? Eine Funktion tut etwas, sie ist kein &quot;Ding&quot; (außer im Sinne einer &quot;Handlung&quot;).</p>
<p>PS: Du plenkst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2453185</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2453185</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 11 May 2015 06:00:16 GMT</pubDate></item></channel></rss>