Zahlen und Text aus Datei auslesen - Aber wie?



  • Moin Leudchen,
    habe vor einigen Wochen mit der C++ Programmierung angefangen und schreibe mir gerade ein kleines Spiel für die Konsole (altbekannte Snake). Das Spiel läuft sowweit Top, Schlange wächst und so weiter...
    Nun bin ich dabei, ein Highscore einzufügen. Das Schreiben der Highscoreliste in eine Textdatei klappt problemlos. Nun will ich aber diese auslesen...
    Aufbau der Datei
    Punkte Name
    100 Name1
    50 Name2
    80 Name3
    etc.. jeden neuen Highscore hängt er hinten dran.
    So also langsam mal zum Problem, ich möchte den highscore gerne in ein integer array schreiben um ihn dann zu sortieren, den Namen würde ich dann in ein 2. Array schreiben und dieses dann auch sortieren.
    Ich kriege es nun aber einfach nicht auf die Reihe, dies Datei EINMAL als integer auszulesen und den Rest als Text.... so, ich hoffe mal das war genug input.
    Danke und schönes Wochenende.
    mfg Passo



  • Habe das Problem nun anderweitig gelöst.
    Ich habe mir nun 2 Dateien erstellt, einmal miit den Punkten und einmal mit dem dazugehörigen Namen.
    Soweit so gut.

    jetzt habe ich aber ein problem mit meiner punkte sortierung
    ich finde den fehler nicht.....

    for (sortcount1=1;sortcount1<=sort_int_anzahl-1;sortcount1++)		
    	{
    		for (sortcount2=0;sortcount2<=sort_int_anzahl-1;sortcount2++)	//dieser Zähler durchläuft das gesamte array 1mal
    		{
    			if (int_sort[sortcount2]<int_sort[sortcount2]+1)	//Sortierung muss erfolgen
    			{
    				build_int_sort=int_sort[sortcount2];
    				int_sort[sortcount2]=int_sort[sortcount2+1];	//Array n+1 wird nach n geschoben
    				int_sort[sortcount2+1]=build_int_sort;			//Array n wird nach n+1 geschoben
    			}
    		}
    	}
    

    das einlesen in das array klappt 100%. nur irgendwo ist da ein problem in der sortierung....
    wahrscheinlich seh ich den wald vor lauter bäumen einfach nicht, vielleicht bin ich schon einfach zu lange davor...
    Hilfe 😃



  • Auf den ersten Blick würde ich sagen

    if (int_sort[sortcount2]<int_sort[sortcount2]+1)
    

    sollte wohl

    if (int_sort[sortcount2]<int_sort[sortcount2+1])
    

    heißen



  • ach sch***e... 😃 manchmal sieht man den wald vor lauter bäumen nicht. 🙂 danke dir.


Anmelden zum Antworten