<?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[Highscore wird nicht in CSV abgespeichert]]></title><description><![CDATA[<p>Hey Leute,</p>
<p>ich habe ein kleines Problem. Für ein Spiel wollen wir(meine Gruppe) einen Highscore in eine CSV-Datei speichern. Das Format der Speicherung ist Name , Runde.<br />
Wenn ich wie im Code ein Beispiel mit in die Funktion gebe, löscht das Programm die bestehenden Werte und schreibt stattdessen nur ein &quot;,&quot;. Wo liegt hier der Fehler? Funktioniert die Schleife nicht richtig oder scheiterts an der Konvertierung?<br />
Wäre für eure Hilfe sehr dankbar <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>
<pre><code>private: void highscoreSchreiben() {
	//Beispiel für Gewinner
	string nameGewinner = &quot;Hans&quot;;
	int rundenZahlGewinner = 9 ;

	using namespace std;
	int i = 0;
	//stringdaten werden hier als int abgespeichert s.U.
	int ersterPlatz, zweiterPlatz, dritterPlatz, vierterPlatz, fuenfterPlatz;

	char zeichen[100];
	string daten[100];

	//Stringstream zum konvertieren der Zahlen zu Strings
	stringstream ss;
    ss &lt;&lt; rundenZahlGewinner;

	//Ein- und Auslesen
    ifstream highscoreLesen;
	highscoreLesen.open(&quot;speicherHighscore.csv&quot;);
	ofstream highscoreSpeichern;
	highscoreSpeichern.open(&quot;speicherHighscore.csv&quot;);

	if(!highscoreLesen.is_open()) { 
	        cerr &lt;&lt; &quot;Speicherstand ist nicht vorhanden!&quot; &lt;&lt; endl; 	    
	} else { 

		while (highscoreLesen.getline(zeichen, 100, ',')) {
		//ausgelesene chars werden in strings abgespeichert.
        daten[i] = zeichen;
		//Konvertieren
		ersterPlatz = atoi(daten[1].c_str());
 		zweiterPlatz = atoi(daten[3].c_str());
		dritterPlatz = atoi(daten[5].c_str());
		vierterPlatz = atoi(daten[7].c_str());
		fuenfterPlatz = atoi(daten[9].c_str());

		//Einsortieren
        if (rundenZahlGewinner&lt;= ersterPlatz) {
			daten[9]=daten[7];daten[7]=daten[5];daten[5]=daten[3];daten[3] = daten[1];
			daten[1] = ss.str();
			daten[0] = nameGewinner;

		} else if (rundenZahlGewinner&lt;= zweiterPlatz) {
			daten[9] = daten[7];daten[7]=daten[5];daten[5]=daten[3];
			daten[3] = ss.str();
			daten[2] = nameGewinner;

		} else if (rundenZahlGewinner&lt;= dritterPlatz) {
			daten[9] = daten[7]; daten[7]=daten[5];
			daten[5] = ss.str();
			daten[4] = nameGewinner;

		} else if (rundenZahlGewinner&lt;= vierterPlatz) {
			daten[9]=daten[7];
			daten[7] = ss.str();
			daten[6] = nameGewinner;
		} else if (rundenZahlGewinner&lt;= fuenfterPlatz) {
			daten[9] = ss.str();
			daten[8] = nameGewinner;
		}

		i++;

      }
		//In Datei schreiben
		highscoreSpeichern &lt;&lt; daten[i] &lt;&lt; &quot;,&quot; &lt;&lt; endl;

    }

	highscoreLesen.close();
	highscoreSpeichern.close();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/320060/highscore-wird-nicht-in-csv-abgespeichert</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Jul 2026 14:49:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/320060.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 14 Sep 2013 17:51:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Highscore wird nicht in CSV abgespeichert on Sat, 14 Sep 2013 17:51:17 GMT]]></title><description><![CDATA[<p>Hey Leute,</p>
<p>ich habe ein kleines Problem. Für ein Spiel wollen wir(meine Gruppe) einen Highscore in eine CSV-Datei speichern. Das Format der Speicherung ist Name , Runde.<br />
Wenn ich wie im Code ein Beispiel mit in die Funktion gebe, löscht das Programm die bestehenden Werte und schreibt stattdessen nur ein &quot;,&quot;. Wo liegt hier der Fehler? Funktioniert die Schleife nicht richtig oder scheiterts an der Konvertierung?<br />
Wäre für eure Hilfe sehr dankbar <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>
<pre><code>private: void highscoreSchreiben() {
	//Beispiel für Gewinner
	string nameGewinner = &quot;Hans&quot;;
	int rundenZahlGewinner = 9 ;

	using namespace std;
	int i = 0;
	//stringdaten werden hier als int abgespeichert s.U.
	int ersterPlatz, zweiterPlatz, dritterPlatz, vierterPlatz, fuenfterPlatz;

	char zeichen[100];
	string daten[100];

	//Stringstream zum konvertieren der Zahlen zu Strings
	stringstream ss;
    ss &lt;&lt; rundenZahlGewinner;

	//Ein- und Auslesen
    ifstream highscoreLesen;
	highscoreLesen.open(&quot;speicherHighscore.csv&quot;);
	ofstream highscoreSpeichern;
	highscoreSpeichern.open(&quot;speicherHighscore.csv&quot;);

	if(!highscoreLesen.is_open()) { 
	        cerr &lt;&lt; &quot;Speicherstand ist nicht vorhanden!&quot; &lt;&lt; endl; 	    
	} else { 

		while (highscoreLesen.getline(zeichen, 100, ',')) {
		//ausgelesene chars werden in strings abgespeichert.
        daten[i] = zeichen;
		//Konvertieren
		ersterPlatz = atoi(daten[1].c_str());
 		zweiterPlatz = atoi(daten[3].c_str());
		dritterPlatz = atoi(daten[5].c_str());
		vierterPlatz = atoi(daten[7].c_str());
		fuenfterPlatz = atoi(daten[9].c_str());

		//Einsortieren
        if (rundenZahlGewinner&lt;= ersterPlatz) {
			daten[9]=daten[7];daten[7]=daten[5];daten[5]=daten[3];daten[3] = daten[1];
			daten[1] = ss.str();
			daten[0] = nameGewinner;

		} else if (rundenZahlGewinner&lt;= zweiterPlatz) {
			daten[9] = daten[7];daten[7]=daten[5];daten[5]=daten[3];
			daten[3] = ss.str();
			daten[2] = nameGewinner;

		} else if (rundenZahlGewinner&lt;= dritterPlatz) {
			daten[9] = daten[7]; daten[7]=daten[5];
			daten[5] = ss.str();
			daten[4] = nameGewinner;

		} else if (rundenZahlGewinner&lt;= vierterPlatz) {
			daten[9]=daten[7];
			daten[7] = ss.str();
			daten[6] = nameGewinner;
		} else if (rundenZahlGewinner&lt;= fuenfterPlatz) {
			daten[9] = ss.str();
			daten[8] = nameGewinner;
		}

		i++;

      }
		//In Datei schreiben
		highscoreSpeichern &lt;&lt; daten[i] &lt;&lt; &quot;,&quot; &lt;&lt; endl;

    }

	highscoreLesen.close();
	highscoreSpeichern.close();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2352583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2352583</guid><dc:creator><![CDATA[DeDudeZz]]></dc:creator><pubDate>Sat, 14 Sep 2013 17:51:17 GMT</pubDate></item><item><title><![CDATA[Reply to Highscore wird nicht in CSV abgespeichert on Sat, 14 Sep 2013 18:19:12 GMT]]></title><description><![CDATA[<pre><code>highscoreSpeichern &lt;&lt; daten[i] &lt;&lt; &quot;,&quot; &lt;&lt; endl;
</code></pre>
<p>sollte das nicht innerhalb der while schleife sein?(noch vor dem i++;)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2352587</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2352587</guid><dc:creator><![CDATA[bert0]]></dc:creator><pubDate>Sat, 14 Sep 2013 18:19:12 GMT</pubDate></item><item><title><![CDATA[Reply to Highscore wird nicht in CSV abgespeichert on Sat, 14 Sep 2013 18:31:55 GMT]]></title><description><![CDATA[<p>gesagt getan, jetzt ist die csv-datei komplett leer <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<pre><code>private: void highscoreSchreiben() {
	//Beispiel für Gewinner
	string nameGewinner = &quot;Hans&quot;;
	int rundenZahlGewinner = 9 ;

	using namespace std;
	int i = 0;
	//stringdaten werden hier als int abgespeichert s.U.
	int ersterPlatz, zweiterPlatz, dritterPlatz, vierterPlatz, fuenfterPlatz;

	char zeichen[100];
	string daten[100];

	//Stringstream zum konvertieren der Zahlen zu Strings
	stringstream ss;
    ss &lt;&lt; rundenZahlGewinner;

	//Ein- und Auslesen
    ifstream highscoreLesen;
	highscoreLesen.open(&quot;speicherHighscore.csv&quot;);
	ofstream highscoreSpeichern;
	highscoreSpeichern.open(&quot;speicherHighscore.csv&quot;);

	if(!highscoreLesen.is_open()) { 
	        cerr &lt;&lt; &quot;Speicherstand ist nicht vorhanden!&quot; &lt;&lt; endl; 	    
	} else { 

		while (highscoreLesen.getline(zeichen, 100, ',')) {
		//ausgelesene chars werden in strings abgespeichert.
        daten[i] = zeichen;
		//Konvertieren
		ersterPlatz = atoi(daten[1].c_str());
 		zweiterPlatz = atoi(daten[3].c_str());
		dritterPlatz = atoi(daten[5].c_str());
		vierterPlatz = atoi(daten[7].c_str());
		fuenfterPlatz = atoi(daten[9].c_str());

		//Einsortieren
        if (rundenZahlGewinner&lt;= ersterPlatz) {
			daten[9]=daten[7];daten[7]=daten[5];daten[5]=daten[3];daten[3] = daten[1];
			daten[1] = ss.str();
			daten[0] = nameGewinner;

		} else if (rundenZahlGewinner&lt;= zweiterPlatz) {
			daten[9] = daten[7];daten[7]=daten[5];daten[5]=daten[3];
			daten[3] = ss.str();
			daten[2] = nameGewinner;

		} else if (rundenZahlGewinner&lt;= dritterPlatz) {
			daten[9] = daten[7]; daten[7]=daten[5];
			daten[5] = ss.str();
			daten[4] = nameGewinner;

		} else if (rundenZahlGewinner&lt;= vierterPlatz) {
			daten[9]=daten[7];
			daten[7] = ss.str();
			daten[6] = nameGewinner;
		} else if (rundenZahlGewinner&lt;= fuenfterPlatz) {
			daten[9] = ss.str();
			daten[8] = nameGewinner;
		}
		//In Datei schreiben
		highscoreSpeichern &lt;&lt; daten[i] &lt;&lt; &quot;,&quot; &lt;&lt; endl;

		i++;

      }

    }

	highscoreLesen.close();
	highscoreSpeichern.close();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2352589</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2352589</guid><dc:creator><![CDATA[DeDudeZz]]></dc:creator><pubDate>Sat, 14 Sep 2013 18:31:55 GMT</pubDate></item><item><title><![CDATA[Reply to Highscore wird nicht in CSV abgespeichert on Sat, 14 Sep 2013 18:40:31 GMT]]></title><description><![CDATA[<p>Stellst du die Frage in allen Foren, die du finden kannst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2352592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2352592</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Sat, 14 Sep 2013 18:40:31 GMT</pubDate></item><item><title><![CDATA[Reply to Highscore wird nicht in CSV abgespeichert on Sat, 14 Sep 2013 18:43:52 GMT]]></title><description><![CDATA[<p>ja und ist das verwerflich? <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/2352594</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2352594</guid><dc:creator><![CDATA[DeDudeZz]]></dc:creator><pubDate>Sat, 14 Sep 2013 18:43:52 GMT</pubDate></item><item><title><![CDATA[Reply to Highscore wird nicht in CSV abgespeichert on Sat, 14 Sep 2013 18:45:26 GMT]]></title><description><![CDATA[<p>ich weiss nicht genau was du da sortierst , aber in deiner ursprungsversion wurde ja nur a[10] ? in den file gepackt.<br />
ansonsten vlt nach der while</p>
<pre><code>for(int i=0;i&lt;10;i++) {highscoreSpeichern &lt;&lt; daten[i] &lt;&lt; &quot;,&quot; &lt;&lt; endl;}
</code></pre>
<p>wenns immer noch leer gib dir mal daten[] nach jedem while durchgang aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2352595</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2352595</guid><dc:creator><![CDATA[bert0]]></dc:creator><pubDate>Sat, 14 Sep 2013 18:45:26 GMT</pubDate></item><item><title><![CDATA[Reply to Highscore wird nicht in CSV abgespeichert on Sat, 14 Sep 2013 18:49:32 GMT]]></title><description><![CDATA[<p>es gibt ja schon eine csv datei die wir probehalber mit namen und zahlen gefüllt haben</p>
<p>Bert, 10<br />
Hans, 12<br />
etc.</p>
<p>Wenn jetzt der beispielgewinner mit seinen 9 Runden dazu kommet müssen ja die bestehenden 5 Leute runtergestuft werden.<br />
Das passiert über den Sortieralgo.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2352596</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2352596</guid><dc:creator><![CDATA[DeDudeZz]]></dc:creator><pubDate>Sat, 14 Sep 2013 18:49:32 GMT</pubDate></item><item><title><![CDATA[Reply to Highscore wird nicht in CSV abgespeichert on Sun, 15 Sep 2013 09:02:25 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>du liest und schreibst gleichzeitig aus bzw. in dieselbe Datei - das kann nicht gutgehen.<br />
Also der einzige Weg ist:<br />
1. Datei komplett lesen und Daten im Speicher halten<br />
2. Neue Daten einsortieren<br />
3. Daten wieder in Datei schreiben</p>
<p>Am besten du erstellst dir für jeden der Schritte eine eigene Funktion!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2352662</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2352662</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Sun, 15 Sep 2013 09:02:25 GMT</pubDate></item></channel></rss>