Wczytywanie danych z wejścia

ę programowania w C++. Wejście standardowe pozwala użytkownikowi na interakcję z programem poprzez wprowadzanie danych, które program może następnie przetwarzać. W C++, biblioteka <iostream> udostępnia narzędzia do obsługi wejścia (i wyjścia) danych, w tym obiekty cin (do wczytywania danych) oraz cout (do wypisywania danych).

Podstawy Wczytywania Danych z Wejścia

cin jest obiektem predefiniowanym w C++, który reprezentuje wejście standardowe. Używa się go do wczytywania danych wprowadzonych przez użytkownika.

Podstawowe Użycie cin

Aby wczytać dane z wejścia, używamy operatora >> wraz z obiektem cin, a następnie podajemy zmienną, do której chcemy wczytać dane. Typ zmiennej musi być zgodny z typem danych, które użytkownik ma zamiar wprowadzić. Przykład 1: Wczytywanie liczby całkowitej
#include <iostream>
using namespace std;

int main() {
    int liczba;
    cout << "Wprowadź liczbę: ";
    cin >> liczba;
    cout << "Wprowadzona liczba to: " << liczba << endl;
    return 0;
}

Wczytywanie Wielu Danych

cin może być używany do wczytywania wielu danych jedna po drugiej, korzystając z tej samej lub różnych zmiennych. Przykład 2: Wczytywanie wielu danych różnego typu
#include <iostream>
using namespace std;

int main() {
    int wiek;
    double wzrost;
    cout << "Wprowadź swój wiek i wzrost: ";
    cin >> wiek >> wzrost;
    cout << "Wiek: " << wiek << ", wzrost: " << wzrost << " cm" << endl;
    return 0;
}

Obsługa Błędów Wczytywania

W przypadku, gdy typ danych wprowadzony przez użytkownika nie zgadza się z typem zmiennej, do której dane są wczytywane, cin wpada w stan błędu, co może prowadzić do pomijania kolejnych operacji wczytywania. Aby temu zapobiec, warto sprawdzać stan cin i ewentualnie czyścić flagi błędu oraz bufor wejściowy. Przykład 3: Obsługa błędów
#include <iostream>
using namespace std;

int main() {
    int liczba;
    cout << "Wprowadź liczbę: ";
    if (!(cin >> liczba)) {
        cout << "To nie jest liczba!" << endl;
        // Czyszczenie flag błędu
        cin.clear();
        // Pomijanie pozostałych danych w buforze
        cin.ignore(numeric_limits<streamsize>::max(), '\n');
    } else {
        cout << "Wprowadzona liczba to: " << liczba << endl;
    }
    return 0;
}

Wczytywanie Tekstu

Do wczytywania tekstu, w tym ciągów znaków ze spacjami, używa się funkcji getline(). Przykład 4: Wczytywanie linii tekstu
#include <iostream>
#include <string>
using namespace std;

int main() {
    string liniaTekstu;
    cout << "Wprowadź tekst: ";
    getline(cin, liniaTekstu);
    cout << "Wprowadzony tekst to: " << liniaTekstu << endl;
    return 0;
}