• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wyszukiwanie podanego słowa w pliku i wypisanie go [C++]

Object Storage Arubacloud
0 głosów
387 wizyt
pytanie zadane 10 marca 2019 w C i C++ przez Michal440 Nowicjusz (140 p.)
edycja 13 marca 2019 przez Michal440

Witam, tworzę program, który m.in. będzie wyszukiwał w pliku tekstowym słowa, które poda się mu w konsoli. Całość jest w do while (do menu), a w nim switch. I zrobiłem coś, znajduje tego użytkownika w pliku po podaniu imienia, nazwiska, klasy oraz wieku, który ma (jakiś tam uczeń w tej bazie), tylko że jest w stanie wyszukać te wszystkie informacje dla pierwszego użytkownika w tej bazie, kolejnych tak jakby nie widział, nie wyświetla ich. Pomógłby mi ktoś?

Edit: Dodam, że dane w pliku zapisane są w następujący sposób: Jan Kowalski 2TIa 17 - czyli kolejno imię, nazwisko, klasa oraz wiek i jest to zapisywane w pliku jedno pod drugim, nie w rzędzie.

 

#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>

using namespace std;

int main()
{
    fstream p1;
    ifstream p2;
    struct baza
    {
        string imie;
        string nazw;
        string klasa;
        string wiek;
    }u;



    string sz;
    int x;
    do
    {
        cout<<"MENU GLOWNE"<<endl;
        cout<<"-----------------"<<endl;
        cout<<"1. Dopisz dane"<<endl;
        cout<<"2. Wyszukiwanie danych"<<endl;
        cout<<"3. Popraw dane"<<endl;
        cout<<"4. Usun rekord"<<endl;
        cout<<"5. Wyswietl wszystkie dane"<<endl;
        cout<<"6. KONIEC"<<endl;
        cout<<"Wybierz opcje: "; cin>>x;
        cout<<""<<endl;

        switch(x)

            case 2:
                system("cls");
                p2.open("dane.txt", ios::in);
                if(p2.good())
                {


                    {
                        cout<<"Wybrales opcje wyszukiwania danych"<<endl;
                        cout<<"Podaj imie, nazwisko, klase lub wiek ucznia: ";
                        cin>>sz;
                        if(p2.good())
                        {
                            p2>>u.imie;
                            p2>>u.nazw;
                            p2>>u.klasa;
                            p2>>u.wiek;

                            if(sz==u.imie)
                            {
                                cout<<"Znaleziono!"<<endl;
                                cout<<u.imie<<" "<<u.nazw<<" "<<u.klasa<<" "<<u.wiek;
                            }

                            else if(sz==u.nazw)
                            {
                                cout<<"Znaleziono!"<<endl;
                                cout<<u.imie<<" "<<u.nazw<<" "<<u.klasa<<" "<<u.wiek;
                            }

                            else if(sz==u.klasa)
                            {
                                cout<<"Znaleziono!"<<endl;
                                cout<<u.imie<<" "<<u.nazw<<" "<<u.klasa<<" "<<u.wiek;
                            }

                            else if(sz==u.wiek)
                            {
                                cout<<"Znaleziono!"<<endl;
                                cout<<u.imie<<" "<<u.nazw<<" "<<u.klasa<<" "<<u.wiek;
                            }
                        }else cout<<"Blad otwarcia pliku!";

                    }
                    p2.close();
                }else cout<<"Error! Nie udalo otworzyc sie pliku!"<<endl;
                cout<<""<<endl<<endl;
                cout<<"Wcisnij klawisz ENTER by powrocic do MENU"<<endl;
                system("pause");
                system("cls");
            break;
   }while(x!=6);

return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 10 marca 2019 przez Mateusz Pawlak Użytkownik (960 p.)
Gdzie masz warunek while'a?
komentarz 10 marca 2019 przez Michal440 Nowicjusz (140 p.)
No tak, zapomniałem na końcu dopisać. Oto warunek while na końcu:    }while(x!=6);

Podobne pytania

0 głosów
2 odpowiedzi 9,195 wizyt
0 głosów
1 odpowiedź 840 wizyt
0 głosów
1 odpowiedź 147 wizyt
pytanie zadane 20 października 2017 w C# przez Kamio Obywatel (1,100 p.)

92,632 zapytań

141,500 odpowiedzi

319,879 komentarzy

62,013 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...