Zasada działania programów, pomimo interfejsów graficznych, jest wciąż taka sama. Użytkownik uruchamia program. Następnie wprowadza dane i otrzymuje konkretne wyniki. W niniejszym artykule opisze jak wczytywać dane przy pomocy strumienia cin.
cin jest strumieniem wejścia danych i pozwala na wczytywanie danych od użytkownika, które zostały wpisane w konsoli. Tak samo jak w przypadku cout, cin należy do przestrzenie nazw std. Do wczytywania danych ze strumienia służy operator >>. Przykładowo można go użyć tak:
(1.) Ze strumienia cin pobieramy (>>) dane i zapisujemy w zmiennej liczba. W zależności od typu zmiennej dane zostaną odpowiednio sformatowane.
Spróbujmy teraz napisać aplikację, która wczyta od użytkownika liczbę całkowitą, a następnie wypisze na ekran jaka liczba została wczytana:
Nasz program wykonuje się w głównej funkcji main(). (1.) Deklaracja funkcji main(). (2.) Deklarujemy zmienną liczba, aby można było wczytać liczbę. (3.) Wypisujemy na ekran informację czego oczekujemy od użytkownika. Dzięki temu program nie będzie oczekiwał danych, a użytkownik będzie czekał na informację co robi aplikacja. (4.) Wczytujemy liczbę ze strumienia do zmiennej liczba. (5.) Nasz kolejny komunikat składa się z komunikatów co wypisujemy oraz konkretną wartość. (6.) Wstrzymujemy pracę programu, aż użytkownik naciśnie dowolny przycisk. Dzięki temu będziemy w stanie sprawdzić czy program rzeczywiście działa prawidłowo. (7.) Ze względu na to, że działamy w funkcji main() na koniec zwracamy wartość 0, aby system wiedział, że program wykonał się prawidłowo.
Po uruchomieniu aplikacja oczekuje na wprowadzenia liczby.
Wystarczy wpisać liczbę i zatwierdzić przyciskiem ENTER. Spowoduje to przejście do kolejnej instrukcji. Efekt końcowy dla przykładowo wpisanej liczby 5 wygląda tak:
Dane, które wczytujemy przy pomocy operatora >>, są formatowane zgodnie z typem zmiennej do której te dane zapisujemy. Przykładowo wczytując liczbę rzeczywistą musimy zadeklarować zmienną typu double i wczytać do niej dane:
Należy pamiętać, że liczby rzeczywiste, które wczytujemy od użytkownika, wpisujemy bez użycia spacji, a część dziesiętną zapisujemy po kropce, a nie przecinku.
W analogiczny sposób wczytujemy znaki typu char:
W przypadku operatora >> możliwe jest wczytanie wielu zmiennych w tej samej linijce kodu. Możemy to osiągnąć używając kilka razy >>. Przykładowo:
(1.) Używając tego kodu wczytamy ze strumienia cin najpierw dane, które zapiszemy do zmiennej liczba1. Następnie wczytamy dane dla zmiennej liczba2. Możliwe jest w ten sposób wczytywanie różnego rodzaju typów danych.
Lekcja 4 dobiegła końca. Zajrzyj do kodu źródłowego, aby przeanalizować wypisywanie danych jeszcze raz. Następnie spróbuj wykonać zadania, aby utrwalić materiał.
Napisz aplikację, która wczyta trzy liczby całkowite a, b i c. Następnie wypisz na ekran w kolejności odwrotnej niż zostały wczytane. Wypisane liczby powinny zostać oddzielone przecinkiem. Pamiętaj o dodaniu wskazówek dla użytkownika.
Przykładowo na konsoli otrzymamy coś takiego: (pogrubione dane powinny zostać wczytane od użytkownika)