CTRL85 Temat założony przez niniejszego użytkownika |
Odczytywanie bazy danych z pliku » 2011-06-01 19:00:13 Witam! Mój dzisiejszy problem polega na tym, że nie umiem odczytać bazy danych (tak to się nazywa?). Tutaj dam mały przykład jak to ma wyglądać (przykład). TO CO MY MÓWIMY | TO CO PROGRAM ODPOWIADA _________________________________________
czesc|| siema | Witaj|| czesc _________________________________________
Teoretycznie umiem odczytywać z pliku, ale moje umiejętności kończą się na odczytaniu jednej zmiennej :) To co program ma wykrywać, i odpowiadać mam zapisane w kodzie, ale wygodniej by było, gdybym mógł dodawać/zmieniać bez ingerowania w kod :) Nie proszę o gotowca, lecz o podpowiedzi, ew jakiś wycinek kodu. Z góry dziękuję za udzielone odpowiedzi. PS.: oczywiście nie musi tak ta baza wyglądać. |
|
Mrowqa |
» 2011-06-01 19:31:18 Sprecyzuj dokładnie sprawę, jakiś konkret :) |
|
absflg |
» 2011-06-01 19:34:00 Ze względu na brak takowej treści w ramach serwisu, pozwolę sobie na wstawienie odsyłacza zewnętrznego:
C++ Reference - ifstream
Masz tam wszystkie możliwości standardowego strumienia wejściowego z pliku wraz z przykładami. Wszystkie składniki klasy są krótko opisane przy linkach do nich, więc bez problemu znajdziesz co trzeba.
Nie ma sensu, żeby tłuc tu po kolei każdą podstawową funkcjonalność, skoro wszystko już jest opisane. |
|
szyx_yankez |
» 2011-06-01 19:43:50 Podpowiedż: zaprojektuj własny format i napisz do niego parser.
|
|
CTRL85 Temat założony przez niniejszego użytkownika |
» 2011-06-01 19:51:04 Robię baze do programu "Romek" który zresztą tutaj zamieściłem, ale źle mi się rozbudowuje rozmowe, więc... [Użytkownik] [Program] [P]Powiedz cos! [U]siemka //przeszukuje baze co odpowiedzieć [P]cześć //znalazło, że gdy użytkownik wpisze cześć/hej itp to odpowiada siemka,/cześć/witaj itp Nie wiem jak bardziej sprecyzować :] tak np może wyglądać baza: //WPISUJE KTOŚ ODPOWIEDŹ PROGRAMU ile masz lat bardzo mało Jak masz na imie jeszcze nie wiem ;) co u ciebie same nudy
Nie wiem jak odczytać coś takiego... |
|
szyx_yankez |
» 2011-06-01 20:01:16 W pliki musisz mieć znaki informacyjne typu '<',':','&','#' itd.
Przykładowy plik:
<siemka:witaj>
<jak sie masz:bardzo dobrze>
Parser:
1.Iteruj wskażnik do napotkania '<'
2.Zapisz słowo do zmiennej(a), do momenu napotkania ':'
3.Zapisz drugie słowo do zmiennej(b), do momentu napotkania '>'
4.Zapisz do tablicy
(a najlepiej kontenera asocjacyjnego map).
5.Jeżeli zdanie/słowo wpisane przez użytkownika == a wyświetl b. |
|
absflg |
» 2011-06-01 20:03:53 Zrób takiego prowizorycznego hasha.
struct odzew { string i, o; } class slownik { private: vector < odzew > h; public: }
//EDIT
Co do formatu pliku:
Wystarczy prosta konwencja, np. na przemian w oddzielnych liniach wejście i odzew na nie (czyli tu string i, o ) + ew. opuszczanie wierszy rozpoczętych znakiem specjalnym (komentarze, separatory...). |
|
CTRL85 Temat założony przez niniejszego użytkownika |
» 2011-06-01 20:05:20 [cytat](a najlepiej kontenera asocjacyjnego map)[/cytat] A po ludzku O_o
Dzięki za podpowiedź :) |
|
« 1 » 2 3 4 |