Strona główna » C++ » Kurs » Wczytywanie danych

Wczytywanie danych

Wstęp

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.

Wczytywanie danych

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.   cin >> liczba;

(1.) Ze strumienia cin pobieramy (>>) dane i zapisujemy w zmiennej liczba. W zależności od typu zmiennej dane zostaną odpowiednio sformatowane.

Zastosowanie

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:

  1. int main() {
  2.   int liczba;
  3.   cout << "Podaj liczbe ";
  4.   cin >> liczba;
  5.   cout << "Wprowadzona liczba to " << liczba << endl;
  6.   system("pause");
  7.   return 0;
  8. }

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.

Testowanie Aplikacji

Po uruchomieniu aplikacja oczekuje na wprowadzenia liczby.

  1. Podaj liczbe

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:

  1. Podaj liczbe 5
  2. Wprowadzona liczba to 5

Wczytywanie innych typów

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:

  1.   double liczba;
  2.   cin >> liczba;

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:

  1.   char znak;
  2.   cin >> znak;

Wczytywanie wielu danych

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.   cin >> liczba1 >> liczba2;

(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.

Podsumowanie

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ł.

Zadania

Zadanie 1

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)

  1. Podaj liczby 1 2 3
  2. Wprowadzone liczby to 3, 2, 1