• PL
  • EN

Strumienie wejścia / wyjścia.

Omawiając pojęcie strumienia wejściowego nie sposób pominąć strumień wyjściowy. Podczas analizowania kodu poznaliśmy już częściowo sposoby wyświetlania tekstu w konsoli, ale wiedzy jest zdecydowanie więcej.

Aby wprowadzić dane do komputera z klawiatury najpierw musisz przygotować miejsce na te informacje. Mówiąc wprost, dane z klawiatury zostają przesłane bezpośrednio do zmiennej, np.:

cin >> age;

W przykładzie powyżej skorzystaliśmy z instrukcji cin aby powiedzieć kompilatorowi, że mamy zamiar wprowadzić dane z klawiatury do programu. Bardzo istotne jest użycie właściwego operatora przekierowania w postaci dwóch nawiasów trójkątnych skierowanych w prawo: >>. Za tym operatorem znajduje nazwa zmiennej.
Podsumowując, program oczekuje wprowadzenia informacji o wieku z klawiatury i zapisuje ją w zmiennej age.

Aby wyświetlić zawartość niezapisanej zmiennej wystarczy skorzystać ze strumienia wyjściowego w następujący sposób:

cout << age;

Tym razem interpretujemy kod w następujący sposób: wyświetl na ekranie zmienną age, a mówiąc precyzyjnie, to co się w zmiennej znajduje. Zauważ, że wcześniej za operatorem strumienia wyjściowego było wyrażenie w cudzysłowie. Gdyby napisać kod inaczej:

cout << "age";

wtedy w konsoli nie zobaczylibyśmy wieku w postaci liczby lat, a po prostu słowo age.

Łączenie słów i zmiennych w zdanie.

Wyświetlenie na ekranie zwykłego zdania to nie kłopot. Podobnie jest z wyświetleniem wartości ukrytej w dowolnej zmiennej. Poniżej przykładowe polecenie wyświetlające takie informacje:

int age;

int main(){
  cout << "Ile masz lat? ";
  cin >> age;
  cout << "Witaj nieznajomy! Masz ";
  cout << age;
  cout << " lat.";
}

W ten sposó wprowadzamy do zmiennej age liczbę całkowitą (np. 12), a następnie wyświetlamy zdanie: Twój wiek to 12 lat."
Jest to jakiś sposób na ładne wyświetlenie informacji w taki sposób, że wartość schowana w zmiennej zostaje wyświetlona w środku zdania.
Istnieje sposób na wyświetlenie takiego samego zdania, ale w krótszy i ładniejszy z punktu widzenia kodu sposób:

cout << "Witaj nieznajomy! Masz " << age << " lat.";

Jak widzisz różnica polega na tym, że nie trzeba rozdzielać zdania na części i wyświetlać ich fragmentami na przemian ze zmienną. Wystarczy tekst w cudzysłowie oddzielić znakami << od zmiennej.


ZAPAMIĘTAJ!

Pamiętaj, że nazw zmiennych nie zapisuje się w cudzysłowie. Gdyby tak było, to zdanie brzmiało by tak: "Twój wiek to age lat". Możesz to sprawdzić wprowadzając taki kod samodzielnie.

Input / output streams.

When thinking about the concept of input stream, it is impossible to ignore the output stream. While analyzing the code, we have already partially learned how to display text in the console, but there is much more knowledge.

To enter data into a computer from the keyboard, you first need to prepare a place for this information. Simply put, the keyboard input is sent directly to a variable, e.g .:

cin >> age;

In the example above, we used the cin statement to tell the compiler that we want to input keyboard input into the program. It is very important to use the correct redirection operator in the form of two right angle brackets: >> . There is the name of the variable after this operator.
In summary, the program expects you to enter age information from the keyboard and stores it in the variable age .

To display the contents of an unsaved variable, just use the output stream as follows:

cout << age;

This time, we interpret the code as follows: display the age variable on the screen, and to be precise, what is in the variable. Notice that previously there was a quoted expression after the output stream operator. If the code looked different:

cout << "age";

then in the console we would not see the age in the form of a number of years, but just a word age.

Combine words and variables into a sentence.

Displaying a simple sentence on the screen is no trouble. The same is true for displaying a value hidden in any variable. Below is a sample command that displays such information:

int age;

int main(){
  cout << "How old are you? ";
  cin >> age;
  cout << "Hello stranger! You are ";
  cout << age;
  cout << " years old.";
}

This is how we put an integer (e.g. 12) into the age variable, and then display the sentence: You are 12 years old."
This is some way to nicely display information in such a way that a value hidden in a variable is displayed in the middle of a sentence.
There is a way to display the same sentence, but in a shorter and nicer way from a code point of view:

cin >> age;
cout << "Hello stranger! You are " << age << " years old.";

As you can see, the difference is that you don't have to split the sentence into parts and display them in fragments alternating with the variable. Just separate the text in quotation marks from the variable with <<. The effect of such code will be as follows:


REMEMBER!

Remember that variable names are not written in quotation marks. If that were the case, the sentence would look like this: "Hello stranger! You are age years old". You can verify this by entering such a code yourself.