Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[C++] Baza danych w konsoli

25 Gru 2011 19:53 2415 10
  • #1 25 Gru 2011 19:53
    1900800
    Użytkownik usunął konto  
  • Pomocny post
    #2 25 Gru 2011 20:14
    beluosus
    Poziom 25  

    1. Z sort nie powinno być problemów, masz przykład. Raczej pokaż co zrobiłeś dotychczas. Tworzysz funkcję, która porównuje odpowiednie pola obiektu i tyle.

    2. Sprawa taka jak z wypisywaniem tylko przed wypisaniem dajesz warunek

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    Musisz dodać odpowiednie funkcje (pierwszego punktu też się to dotyczy) zwracające nazwisko, imię i co tam chcesz wyszukiwać.

    3. Tutaj też nie wiem w czym pomóc nie wiedząc z czym masz problem. Użyj fstream do operacji na plikach. Robisz plik << nazwisko << "," << imie << ... Z odczytem robisz to samo tylko w drugą stronę. :) Google tylko czeka żeby zostać użytym.

    0
  • #3 25 Gru 2011 22:30
    1900800
    Użytkownik usunął konto  
  • Pomocny post
    #4 25 Gru 2011 23:06
    beluosus
    Poziom 25  

    cisza napisał:
    Wrzucić cały kod ?

    Jeżeli myślisz, że to pomoże nam pomóc Tobie to tak.

    cisza napisał:
    Rozumiem, że muszę stworzyć konstruktor getNazwisko ?

    Wiesz co to konstruktor? Masz dodać - tak jak napisałem wcześniej - funkcję. Np:
    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    Poza tym raczej lepiej gdy wyszukiwaniem będzie zajmować się wewnętrzna metoda:
    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    cisza napisał:
    Co znaczy
    Code:
    std::string::npos

    Pierwszy/drugi wynik z google mówi, że taka wartość jest zwracana przez std::string::find() w przypadku kiedy szukany tekst nie zostanie odnaleziony.

    Co do trzeciego punktu to napisałeś to samo tylko lejąc wodę. Zrób parę przykładów na plikach i zobaczysz, że to będzie wyglądało tak samo jak wyświetlanie tylko do pliku.

    0
  • #5 25 Gru 2011 23:29
    1900800
    Użytkownik usunął konto  
  • Pomocny post
    #6 26 Gru 2011 09:44
    beluosus
    Poziom 25  

    Tak na szybko napiszę kod, bez większego tłumaczenia, bo mi się nie chce. ;) Mam nadzieję, że ogarniesz.
    Do klasy w sekcji public dodaj:

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    Tutaj masz te funkcje:
    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    Sortowanie wg imion to będzie coś takiego (z resztą postępuj analogicznie):
    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    Wyszukiwanie nazwiska (reszta analogicznie):
    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    Import/eksport do csv:
    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    Ogólnie większość wypadałoby przerobić na funkcje/klasy, ale póki co rób tak jak masz. ;) Zauważyłem, że w pętli for dajesz błędy warunek. Np Twoje wyszukiwanie wg nazwisk:
    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    Dodatkowo:
    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    PS
    Dodaj te nagłówki:
    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0
  • #7 26 Gru 2011 11:52
    1900800
    Użytkownik usunął konto  
  • #8 27 Gru 2011 19:05
    robert-gd
    Poziom 10  

    zaraz zaraz, robisz "nr.indeksu. " czyli próbujesz odwolac sie do skladowej nr_indeksu, nie mozesz czegos takiego robić:

    int porównujesz normalnie poprzez IF, jak sa rowne to sie zgadza a jak nie to nie, stringa wystarczy ze przekształcisz na int i będzie problem z głowy, tak samo wyszukiwanie zrobisz zwykłym if'em gdy dwa numery indeksu są sobie równe, zwykle matematyczne porównanie

    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    P.s Jak nie dojdziesz daj znać to Ci to poprawię, ale się postaraj !!!

    0
  • #9 27 Gru 2011 22:39
    1900800
    Użytkownik usunął konto  
  • #10 28 Gru 2011 19:33
    robert-gd
    Poziom 10  

    Jest dokładnie tak jak mówisz. Polecam książkę Grębosza do C++ poczytaj trochę.

    0
  • #11 30 Gru 2011 19:51
    1900800
    Użytkownik usunął konto