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

Trzymanie textu w tablicy

Ostatnio zmodyfikowano 2014-08-11 16:09
Autor Wiadomość
mgrD
Temat założony przez niniejszego użytkownika
Trzymanie textu w tablicy
» 2014-08-11 00:10:09
Witam, robię sobie taki programik ala Quiz i mam dylemat: gdzie trzymać pytania? Tablica czy plik? W programie będę sprawdzał, czy dane pytanie już było, żeby się nie powtarzało itp. Więc trzymając pytania w pliku musiałbym po wylosowaniu pytania otwierać plik i pobierać dany wers i wydaje mi się, że taka operacja też swoje żre. Czy najlepszym sposobem nie będzie trzymać tekstu w tablicy? Nie mam pojęcia ile będzie pytań, ale przypuścimy, że będzie...80 pytań(maxymalnie pytanie ma 4 wyrazy). Pytania będą krótkie. Osobiście  wolałbym chyba trzymać wszystko w tablicy niż co losowanie pytania pobierać dany wers teksty z pliku - no ale ja się nie znam, proszę o jakąś porade.
P-115293
Jacob99
» 2014-08-11 12:31:15
Najlepiej użyj vectora stringów.
P-115303
libed
» 2014-08-11 16:09:23
Ile przewidujesz pytań? Nie wierzę, że aż tyle, że będziesz je musiał doczytywać co chwilę? ;)
Najprościej sklecić strukturę
C/C++
struct Question {
    string pytanie;
    string odp1;
    string odp2;
    string odp3;
    string odp4;
    unsigned flagi; // było/nie było itp.
};

i trzymać ją w mapie
std::map < unsigned, Question >
 lub w wektrorze par
std::vector < std::pair < unsigned, Question > >

Z tym, że trzeba pamiętać, że trzymanie tekstu w stringach ciągnie za sobą sporo mini-alokacji oraz jest dość problematyczne przy serializacji.
Ja bym preferował trzymanie stringów w oddzielnym pliku a w programie stworzenie klasy zarządzającej wszelkimi stringami ( prealokacja jakiegoś obszaru pamięci i operowanie jedynie na ID przypisanych do stringów ).
P-115312
« 1 »
  Strona 1 z 1