Kurs [C++] Opis działania strumienia wejściowego - Problem ze zrozumieniem.
Ostatnio zmodyfikowano 2016-11-03 01:22
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. |
|
pekfos |
» 2016-11-03 00:29:51 W którym momencie nie rozumiesz? |
|
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.
|
|
pekfos |
» 2016-11-03 00:54:50 #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". |
|
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 |
|
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. |
|
« 1 » |