Tworzenie rankingu do pliku *.txt.
Ostatnio zmodyfikowano 2014-02-14 22:05
mikson Temat założony przez niniejszego użytkownika |
Tworzenie rankingu do pliku *.txt. » 2014-02-14 16:04:28 Witam, Ostatnio napisałem program, który ma wczytać plik "pomocniczy.txt", który zawiera taką sekwencję: nick gościa ilość zdobytych przez niego punktów nick gościa ilość pkt i tak dla 55 gościów. Więc program wczytuje tą sekwencję i ma z niej utworzyć ranking, który tak oto ustawi tych gości malejąco wg. zdobytych przez nich pkt. Tak ma on wyglądać: 1. Nick gościa = 150 pkt 2. Nick = 100 pkt 3. Nick = 50 pkt itd... Tak wygląda kod: #include <iostream> #include <fstream> using namespace std; int main() { string tab[ 100 ]; int tabpos = 0; bool zgoda; std::fstream ranking; std::fstream pomocniczy; ranking.open( "RANKING.TXT", std::ios::in | std::ios::out ); pomocniczy.open( "pomocniczy.txt", std::ios::in | std::ios::out ); double max, pkt; string nick, pom, maxNick; int i = 1; for(;; ) { max =- 1; while( !pomocniczy.eof() ) { zgoda = true; getline( pomocniczy, nick ); getline( pomocniczy, pom ); pkt = atof( pom.c_str() ); if( pkt >= max && pkt != 0 ) { for( int buf = 0; buf < tabpos; buf++ ) { if( tab[ aha ] == lol ) { zgoda = false; break; } } if( zgoda == true ) { maxNick = nick; max = pkt; tab[ tabpos ] = maxNick; tabpos++; } } } if( max == 0 ) { break; } ranking << i; ranking << ". "; ranking << maxNick; ranking << " = "; ranking << max; ranking << endl; i++; cin.sync(); } ranking.close(); pomocniczy.close(); }
Program nie działa. Albo plik rankingu jest pusty, albo zawiera dwóch gości zupełnie nie wiadomo skąd, ani najlepszych, ani z pierwszych z pliku pomocniczy.txt... |
|
alixir |
» 2014-02-14 17:13:13 Nie bardzo widzę jakby ten program miał działać. Masz jedną tablicę do przechowywania nicków, ale nie masz tablicy która przechowywałaby ich wynik. Nie lepiej jest utworzyć tablicę struktur, wczytać do niej wszystkie rekordy, potem posortować według ilości punktów i na końcu wyświetlić według określonego kryterium. |
|
mikson Temat założony przez niniejszego użytkownika |
» 2014-02-14 22:05:42 Faktycznie, jest to o wiele prostsze rozwiązanie. Dzięki za pomoc napisze jak zrobię ;) |
|
« 1 » |