Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Przeszukiwanie pliku tekstowego

Ostatnio zmodyfikowano 2014-01-03 15:45
Autor Wiadomość
MrPoxipol
» 2014-01-02 18:55:39
Równie prosto możesz to zrobić na vectorze. Prosiłeś o przykład? Prosz..
C/C++
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
#include <cstdlib>

using namespace std;

typedef vector < string > QuestionsDB;

string getQuestion( QuestionsDB & db, const size_t which )
{
    if( which > db.size() )
         return string( "Nie znaleziono pytania o takim indeksie!" );
   
    return db[ which - 1 ];
}

QuestionsDB loadQuestionsFromFile( string fname )
{
    ifstream file( fname.c_str() );
    if( !file.good() )
    {
        cout << "Nie udalo sie otworzyc bazy pytan! Stop.";
        exit( EXIT_FAILURE );
    }
   
    QuestionsDB db;
    string buffer;
    while( getline( file, buffer ) )
         db.push_back( buffer );
   
    return db;
}

int main()
{
    QuestionsDB db = loadQuestionsFromFile( "questions.txt" );
   
    unsigned int which = 0;
    cout << "Podaj nr pytania: ";
    cin >> which;
    cout << getQuestion( db, which );
   
    return 0;
}
Plik questions.txt:
Aha dupa allah boom boom?
Blabla? Bla?
Si plask plask better than Java?
Java sucks?
abdi arab?

Wejście:
3

Wyjście:
Si plask plask better than Java?
P-100977
godela
Temat założony przez niniejszego użytkownika
» 2014-01-03 13:10:20
MrPoxipol bardzo dziekuje Ci za przyklad, zastanawia mnie tylko jedna rzecz, czy jesli mam w poleceniu "Podaj rozwiązanie bez tablic pomocniczych." to czy na vektorach mi to prowadzacy przyjmnie. Osobiscie jestem na 1 roku i nie mialem jeszcze vektorow ale z tego co tam czytalem w necie to taka ulepszona tablica... ;D
P-101018
MrPoxipol
» 2014-01-03 14:49:37
Równie dobrze możesz to zrobić na zwykłych tablicach dynamicznych :)
P-101027
pekfos
» 2014-01-03 15:14:25
czy jesli mam w poleceniu "Podaj rozwiązanie bez tablic pomocniczych." to czy na vektorach mi to prowadzacy przyjmnie.
Nie. Jeśli nie możesz używać tablic, to znaczy, że nie możesz zapisywać w pamięci całego pliku. Ktoś tylko nie przewidział, że jest wiele różnych, niezwiązanych z tablicami kontenerów.
P-101032
godela
Temat założony przez niniejszego użytkownika
» 2014-01-03 15:38:42
Czyli w jaki sposob to najlepiej zrobic, bo podejrzewam ze na tablicy struktur tez tego zrobic nie moge.... jak musze wylosowac 20 pytan, potem podac wynik i pokazac bledy... teoretycznie mozna by bylo to zrobic caly czas na plikach ale to by bylo bardzo glupie np przy losowaniu pytan bez powtorzen bo trzeba by bylo otwierac plik 20 razy i sprawdzac czy juz tam wylosowana liczba jest..
P-101040
pekfos
» 2014-01-03 15:45:17
Zależy, co jest uznawane za tablicę pomocniczą.
P-101042
1 « 2 »
Poprzednia strona Strona 2 z 2