Operatii de Citire Si Scriere

16
Operații de citire și scriere În C++ operațiile de intrare-ieșire se realizează prin fluxuri de date. Prin flux de date (stream) se înțelege traseul datelor de la sursă la destinație. sursa flux de date destinația tastatura ecranul monitorului fișier pe disc fișier pe disc variabilă de memorievariabilă de memorie

Transcript of Operatii de Citire Si Scriere

Page 1: Operatii de Citire Si Scriere

Operații de citire și scriere

În C++ operațiile de intrare-ieșire se realizează prin fluxuri de date.Prin flux de date (stream) se înțelege traseul datelor de la sursă la destinație.sursaflux de date destinația

tastatura ecranul monitoruluifișier pe disc fișier pe discvariabilă de memorie variabilă de memorie

Page 2: Operatii de Citire Si Scriere

Fluxul de date este format din secvențe de caractere organizate pe linii (separate prin codurile ASCII generate la apăsarea tastei Enter) care intră și ies din program.

Prin fluxuri de date echipamentele de intrare-ieșire sunt conectate la programul C++.

Există două fluxiri de date standard:- flux de date de intrare (cin)- flux de date de ieșire (cout)

Page 3: Operatii de Citire Si Scriere

Fluxul de date de intrare conectează tastatura la program, asigurând operațiile de citire care furnizează programului datele de intrare. Fluxul datelor este între tastatură (sursa) și variabila de memorie (destinația).

Fluxul de date de ieșire conectează monitorul la program, asigurând operațiile de scriere prin care programul furnizează datele de ieșire.Fluxul datelor este între variabila de memorie (sursa) și ecranul monitorului (destinația).

Page 4: Operatii de Citire Si Scriere

Pentru operațiile de citire și scriere se folosesc instrucțiunile expresie, prin care se creează fluxurile de date, cu ajutorul operatorilor >>, respectiv <<.

Pentru citire: cin>> - se creează fluxul de date între

tastatură și variabila de memorie (cin reprezintă tastatura, iar operatorul de intrare >> înseamnă transmiterea unei valori de la tastatură).

Page 5: Operatii de Citire Si Scriere

Pentru scriere: cout<<- se creează fluxul de date între

variabila de memorie și ecran (cout reprezintă monitorul, iar operatorul de ieşire << înseamnă transmiterea unei valori către monitor).

Rolul operatorilor >> şi << este de a apela funcţii de sistem (funcţia apelată este determinată de tipul variabilei de memorie) care convertesc:

Page 6: Operatii de Citire Si Scriere

– la intrare: o secvenţă de şiruri de caractere într-un tip de dată;

– la ieşire: un tip de dată într-o secvenţă de şiruri de caractere.

Page 7: Operatii de Citire Si Scriere

Sintaxa expresiei care creează un flux de date pentru citirea de la tastatură:

- pentru citirea valorii unei singure variabile:

cin>>nume_variabilă_memorie;Exemplu: int a,b,c;

float x,y;cin>>a;cin>>b; cin>>c;cin>>x; cin>>y;

Page 8: Operatii de Citire Si Scriere

- pentru citirea valorilor a n variabile de memorie, identificate prin numele lor:

cin>>nume_1>>nume_2>> … >>nume_n;

Exemplu: int a,b,c;float x,y;cin>>a>>b>>c;cin>>x>>y;

Page 9: Operatii de Citire Si Scriere

Observații:- introducerea valorii unei variabile de

memorie se termină prin apăsarea tastei Enter;- dacă pentru o variabilă de memorie din

listă nu se introduce de la tastatură o valoare corespunzătoare tipului ei, operația de citire se blochează (nu se mai citesc valorile nici pentru celelalte variabile de memorie din listă) și se trece la următoarea instrucțiune din program.

Page 10: Operatii de Citire Si Scriere

Sintaxa expresiei care creează un flux de date pentru scrierea pe ecran:

- pentru afișarea valorii unei singure expresii (expresie = variabilă de memorie sau o constantă sau o succesiune de operanzi și operatori):

cout<<expresie;Exemplu: int a,b;

float x;char c;….cout<<a; cout<< b;cout<<x;cout<<c;

Page 11: Operatii de Citire Si Scriere

- pentru afișarea valorilor a n expresii: cout<<expr_1<<expr_2<< … <<expr_n;

Exemplu: int a,b,c;float x,y;char c;….cout<<a<<b<<c;cout<<x<<y<<c;

Page 12: Operatii de Citire Si Scriere

Observații: - valorile precizate în listă se afișează unele

după altele, fără spațiu între ele;Exemplu: int a=10, b=20;

cout<<a<<b;se va afișa: 1020

- valorile se scriu pe același rând, separate prin spații, folosind o constantă de tip șir de caractere pentru afișarea spațiilorExemplu: cout<<a<<“ ”<<b;se va afișa: 10 20

Page 13: Operatii de Citire Si Scriere

- valorile se scriu pe rânduri diferite, pentru separarea lor folosindu-se constanta endl, care este o constantă predefinită și corespunde apăsării tastei Enter;Exemplu: cout<<a<<endl<<b;se va afișa: 10

20- dacă se afișează o constantă de tip șir de

caractere care vrem să conțină și caracterul ghilimele care este folosit ca delimitator, vom folosi secvența escape (\”) pentru acest caracter;Exemplu: cout<<“Raspunsul este \”Da\” ”pe ecran se va afișa: Raspunsul este “Da”

Page 14: Operatii de Citire Si Scriere

Limbajul C++ folosește multe funcții de sistem și constante simbolice de sistem. Pentru a le putea folosi compilatorul trebuie să cunoască anumite informații despre acestea: numele funcției, numărul și tipul parametrilor folosiți pentru apel și tipul rezultatului furnizat. Aceste informații formează prototipul funcției. Prototipurile funcțiilor de sistem se găsesc în fișiere antet (header) care au extensia .h. Pentru a putea fi folosite de compilator, informațiile despre funcții și constantele simbolice de sistem apelate trebuie incluse în fișierul sursă înainte de a începe compilarea lui.

Page 15: Operatii de Citire Si Scriere

Această operație se face scriind în fișierul sursă, înainte de funcția main(), directiva pentru preprocesare:

#include <nume_fișier_antet.h>Prin directiva #include<nume_fișier_antet.h> în fișierul sursă va fi inclus fișierul antet ce conține prototipuri ale funcțiilor de sistem. Dacă funcțiile apelate în program au prototipul în fișiere antet diferite, va trebui incluse mai multe fișiere antet în fișierul sursă, folosind câte o directivă #include pentru fiecare fișier antet.

Page 16: Operatii de Citire Si Scriere

Prototipurile funcțiilor apelate în fluxurile de citire cin>> și de scriere cout>> și constanta endl se găsesc în fișierul antet iostream.h.Orice program în care se creează aceste fluxuri de date trebuie să conțină directiva:

#include<iostream.h>Exemplu: #include<iostream.h>

void main(){int a=1, b; cout<<“b=”; cin>>b;cout<<a<<“ ”<<b;cout<<endl<<a<<endl<<b<<endl;}