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

Szukanie stringów w strukturze

Ostatnio zmodyfikowano 2015-04-06 17:15
Autor Wiadomość
ThomskY
Temat założony przez niniejszego użytkownika
Szukanie stringów w strukturze
» 2015-04-06 14:03:08
Witam ponownie :)
Poszukuje małej pomocy. Mam strukturę z książkami i muszę po podaniu np. tytulu wyszukać tą pozycje w strukturze.

C/C++
struct book {
    int nrid;
    string tytul; }

C/C++
{
case 1: cout << "Podaj tytul: " << endl;
    string tytul;
    cin >> tytul;
    for( i = 0; i < 30; i++ )
    {
        if( b[ i ].tytul =
        i = szukana;
    }
    cout << "Szukana to:" b[ szukana ].tytul << endl;
    break;
}

Jak zrobić żeby przyrównać podany z klawiatury tytuł do tego ze struktury? Proszę o jakieś wskazówki i zarazem wyrozumiałość bo dopiero się ucze ;)
P-130247
notabigthreat
» 2015-04-06 14:15:17
  • Chyba brakuje nawiasu zamykającego if'a.
  • Jeśli piszesz jeden znaczek równości, to ustawiasz lewą stronę na równą prawej. Jak chcesz sprawdzić, czy coś jest równe, używaj podwójnego:
    if( b[ i ].tytul == szukana )
     
  • cin >> moj_string
     kończy wczytywanie na spacji, więc nie przejdą wielowyrazowe tytuły. Zamiast tego możesz uzyć getline. Szczegół. 
P-130249
ThomskY
Temat założony przez niniejszego użytkownika
» 2015-04-06 14:47:47
To wiem, że dwu-członowe to getline, ale jesli zrobie tak:

C/C++
{
case 1: cout << "Podaj tytul: " << endl;
    string tytul;
    int szukana = 0;
    cin >> tytul;
    for( int i = 0; i < 30; i++ )
    {
        if( b[ i ].tytul == tytul )
             i = szukana;
       
    }
    cout << szukana << endl;
    break;
}

To szukana mi sie nie zmienia i cały czas jest równa 0 :|
P-130251
NopeDotAvi
» 2015-04-06 14:50:19
bo nie w tą stronę działa przypisywanie.
P-130252
ThomskY
Temat założony przez niniejszego użytkownika
» 2015-04-06 14:51:33
Dlatego chciałbym uzyskać jakieś wskazówki jak należy to rozpracować ;)
P-130253
SeaMonster131
» 2015-04-06 15:01:12
C/C++
i = szukana;
Zmiennej i przypisujesz wartość zmiennej szukana.
P-130254
Fireho
» 2015-04-06 15:01:53
Operator
=
 powoduje przypisania do lewego operanda wartości prawego operanda. W ten sposób do
i
 przypisujesz wartość
szukana
, więc musisz zrobić to przypisanie na odwrót.
P-130255
NopeDotAvi
» 2015-04-06 15:04:11
Tylko, że i tak nic nie znajduje, bo gdyby znalazło to pętla byłaby nieskończona.
P-130257
« 1 » 2 3
  Strona 1 z 3 Następna strona