Documente Academic
Documente Profesional
Documente Cultură
Operatorul cout afișează în stream-ul din stânga valoarea din dreapta. Să observăm
că "Salut" este delimitat de ghilimele, deoarece este o constantă literal de tip șir de
caractere, iar n nu este delimitată de ghilimele, deoarece este o variabilă.
Dacă textul care urmează după << este între ghilimele, se va afișa ca
atare. Dacă nu este între ghilimele, se consideră că este o variabilă,
și se afișează valoarea ei.
cout << "Ana " << "are" << " mere."; // se va afisa Ana are mere
sau
va afișa:
sau
cout << "Aceasta este o";
cout << " propozitie mai lunga!"; // la inceput este un spatiu
O altă variantă este să folosim manipulatorul endl pentru a întrerupe linia. De exemplu:
Aceasta este o
propozitie mai lunga!
endl produce un caracter rând nou, exact ca și inserarea lui \n, dar mai face
ceva: endl golește buffer stream-ului cout, adică forțează afișarea pe ecran tuturor
caracterelor inserate în stream până în acest moment. endl produce întârzieri în execuția
programului, deci trebuie folosit cu precauție.
int n;
cin >> n;
Mai întâi se declară variabila n, apoi se citește o valoare pentru ea – se extrage din cin o
valoare care se memorează în variabila n. La execuție, programul așteaptă să se introducă
o valoare de la tastatură. De fapt, caracterele introduse sunt transmise programului numai
când se apasă tasta ENTER.
Să considerăm următorul program:
#include <iostream>
using namespace std;
int main()
{
int n = 7;
cout << "n = ";
cin >> n;
cout << "n este " << n << endl;
cout << "patratul lui n este " << n * n << endl;
return 0;
}
n = 25
n este 25
patratul lui n este 625
n = salut
n este 0
patratul lui n este 0
La operația de extragere din cin contează tipul variabilei de după >>. Caracterele din
stream sunt interpretate în funcție de tipul variabilei. Dacă aceste caractere nu corespund
cu tipul variabilei, operația de extragere eșuează. Dacă operația de extragere din stream
eșuează:
Se pot citi valorile a două sau mai multe variabile în aceeași instrucțiune:
este echivalent cu
cin >> x;
cin >> y;