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

Wczytywanie stringów z pliku. Całe zdania a nie pojedyńcze wyrazy.

Ostatnio zmodyfikowano 2015-11-14 16:19
Autor Wiadomość
oliwierr
Temat założony przez niniejszego użytkownika
Wczytywanie stringów z pliku. Całe zdania a nie pojedyńcze wyrazy.
» 2015-11-14 15:53:02
while(getline(CharInfo, line))
{


        if (question == 1)
        {
            cout << linia_pierwsza <<endl;
        }
        else if (question == 2)
        {
            cout << linia_druga <<endl;
        }
        else if (question == 3)
        {
            cout << linia_trzecia <<endl;
        }
        else if (question == 4)
        {
            cout << linia_czwarta <<endl;
        }
        else if (question == 5)
        {
            cout << linia_piąta <<endl;
        }
        else if (question == 6)
        {
            cout << linia_szósta <<endl;
        }
}

Mam plik tekstowy gdzie jest 6 zdań, każdy zapisany w kolejnej linii:

To jest zdanie pierwsze
To drugie
A to trzecie
A to czwarte
To piąte
I to szóste

Zmienna question to int wprowadzony cinem z klawiatury w menu wyboru gdzie pytanie jest "które zdanie wybierasz?".
Kod mi nie działa i obwaiam się że zrobiłem wszystko źle. Chciałbym żeby podczas gdy question, czyli zostanie cinem wprowadzona z klawiatury np. liczba 4,
to pokaże się tylko i wyłącznie czwarte zdanie z pliku txt. Mi wyświetla tylko same wyrazy bo spacja to znak biały.

Tyle właściwie, nie pytam co zrobiłem źle bo pewnie wszystko xd Tylko, co mam zrobić żeby było tak jak chcę?

PS: Tak dla sprecyzowania to w moim kodzie nie istnieją zmienne takie jak linia_szósta czy linia_czwarta tylko chciałem pokazać że chodzi mi o to że chciałbym żeby przy wciskaniu 6 wyświetliła się szósta linia z pliku xd
P-140121
Monika90
» 2015-11-14 16:01:46
C/C++
int wybrana;
std::cin >> wybrana;

std::string linia;
int numer_linii = 0;
while( std::getline( plik, linia ) )
{
    ++numer_linii;
    if( numer_linii == wybrana )
         std::cout << linia << std::endl;
   
}

albo lepiej
C/C++
int wybrana;
std::cin >> wybrana;

std::string linia;
int numer_linii = 0;
while( numer_linii != wybrana && std::getline( plik, linia ) )
     ++numer_linii;

if( numer_linii == wybrana )
     std::cout << linia << std::endl;

P-140123
oliwierr
Temat założony przez niniejszego użytkownika
» 2015-11-14 16:19:09
@Monika90 Omg dzięki Ci *.* ;o <3
P-140125
« 1 »
  Strona 1 z 1