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

Kurs [C++] Opis działania strumienia wejściowego - Problem ze zrozumieniem.

Ostatnio zmodyfikowano 2016-11-03 01:22
Autor Wiadomość
strit9321
Temat założony przez niniejszego użytkownika
Kurs [C++] Opis działania strumienia wejściowego - Problem ze zrozumieniem.
» 2016-11-03 00:21:52
                              Kurs C++ | Poziom 1 | rozdział 9 | Obsługa strumienia wejściowego
Skoro nauczyliśmy się już korzystać ze strumienia wejściowego w podstawowym wymiarze - przyjrzyjmy się teraz jego działaniu. Wyobraźmy więc sobie, że początkowo strumień jest pusty. Wysyłamy następnie żądanie: "daj mi liczbę całkowitą" (czyli: std::cin>>liczba). Strumień jest pusty, więc nie można z niego pobrać danych, a więc użytkownik musi wprowadzić nowe dane do strumienia. Wprowadźmy teraz do strumienia następujące dane:

12345, 321. Czy 2+2 wynosi 4?

Po wciśnięciu klawisza ENTER dane te trafiają do bufora strumienia wejściowego, z którego następnie odczytywane są dane. Po wczytaniu liczby w buforze strumienia wejściowego zostaną następujące dane:

, 321. Czy 2+2 wynosi 4?

Co się teraz stanie, gdy zechcemy wczytać kolejną liczbę? Strumień stwierdzi, że pierwszym znakiem w strumieniu jest znak ,, który nie jest liczbą, a więc nie zostanie wczytana liczba. Operacja wczytywania się nie powiedzie, a flaga błędu zostanie ustawiona.
Jak widać jestem bardzo początkującym, wszystko przed tym rozumiem i rozdział dalej też zrozumiałem ale cały czas wracam do tej rzeczy i mam problem ze zrozumieniem. Czy byłby ktoś w stanie napisać program który zadziała tak jak twórca kursu to przedstawił? Jestem takim typem osoby że gdy zobaczę jak to wygląda to ogarnę co robiłem źle itp. Możliwe że ktoś poprosi o "program" który piszę aby osiągnąć owy przykład ale szczerze mówiąc to się wstydze bo gdzieś czuje że tj banalne ale coś nie umiem tego zrozumieć jak to ma działać. Z góry dziękuje.
P-153298
pekfos
» 2016-11-03 00:29:51
W którym momencie nie rozumiesz?
P-153300
strit9321
Temat założony przez niniejszego użytkownika
» 2016-11-03 00:43:22
Nie rozumiem momentu w którym pisze żeby wpisać do strumienia 12345, 321. Czy 2+2 = 4 i co zrobić żeby po wciśnięciu ENTER 12345 a potem 321 zniknęło. Dlatego fajnie było by zobaczyć gotowy program żebym ogarnął co gdzie jak.
P-153301
pekfos
» 2016-11-03 00:54:50
C/C++
#include <iostream>

int main()
{
    int i;
    std::cin >> i;
    std::cout << "Liczba: " << i << "\nReszta: " << std::cin.rdbuf() << std::endl;
}
Wpisz w to te "12345, 321. Czy 2+2 = 4".
P-153302
strit9321
Temat założony przez niniejszego użytkownika
» 2016-11-03 01:00:26
Otrzymałem coś takiego w cmd:

12345, 321. Czy 2 + 2 = 4

Liczba 12345

Reszta ,321

i pomimo dodania return program się nie zamyka :l
P-153303
pekfos
» 2016-11-03 01:22:23
I jak to się ma do twojego rozumienia tamtego fragmentu kursu?

pomimo dodania return program się nie zamyka :l
Tym się nie przejmuj ;) Program się nie zamyka, bo czeka na kolejne dane wejściowe.
P-153304
« 1 »
  Strona 1 z 1