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

Odczytywanie bazy danych z pliku

Ostatnio zmodyfikowano 2011-06-13 20:48
Autor Wiadomość
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ć.
P-33741
Mrowqa
» 2011-06-01 19:31:18
Sprecyzuj dokładnie sprawę, jakiś konkret :)
P-33742
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.
P-33743
szyx_yankez
» 2011-06-01 19:43:50
Podpowiedż: zaprojektuj własny format i napisz do niego parser.


P-33744
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...
P-33745
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.
P-33746
absflg
» 2011-06-01 20:03:53
Zrób takiego prowizorycznego hasha.

C/C++
struct odzew {
    string i, o; //wejście, wyjście
}
class slownik {
private:
    vector < odzew > h;
public:
    //funkcja wprowadzania nowego odzewu
    //funkcja zwracająca odzew zgodny z podanymi kryteriami
}

//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...).
P-33747
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ź :)
P-33748
« 1 » 2 3 4
  Strona 1 z 4 Następna strona