Documente Academic
Documente Profesional
Documente Cultură
în limbajul C++
Programarea Structurată
1. Introducere
2. Operații de ieșire
3. Operații de intrare
4. Manipulatori
5. Utilizarea operațiilor de intrare/ieșire în
procesul de elaborare a programelor
2
Introducere
o Prin operație de ieșire, se are în vedere,
scrierea de instrucțiuni prin intermediul cărora
la consolă sînt afișate mesaje/informații
exacte, în cadrul unui program.
3
Programul 1
Exemplu
#include <iostream>
using namespace std;
int a, b, suma;
main(){
cout <<"Introduceti doua numere intregi"<<endl;
cout<<"a=";
cin>>a;
cout<<"b=";
cin>>b;
suma=a+b;
cout<<"Suma numerelor este "<<suma;
}
Albastru – date de ieșire
Verde – date de intrare
4
Procesul de execuție a programului
1 - ieșire
2 - intrare
3 - ieșire
4 - intrare
5 - ieșire
Rezultat
5
Generalități (1)
7
Sintaxa
9
Programul 3
Exemple – intrări
#include <iostream>
#include <conio.h>
using namespace std;
int a;
float p;
char r,q;
main(){
cout<<"Dati un numar intreg"<<endl; cin>>a;
cout<<"Dati un numar real"<<endl; cin>>p;
cout<<"Scrieti doua caractere"<<endl; cin>>r;
q=getche();
cout<<"Datele introduse"<<endl;
cout<<a<<p<<r<<q;
}
10
Exerciții (1)
În baza programului 1:
1. Specificați care vor fi datele de ieșire, dacă în calitate de date
de intrare se vor introduce numerele:
a) 10 și 200
b) -20000 și -20000
c) 15000 și 190000
d) -7 și 14
e) 9999999999 și 1111111111
f) 3.2 și 4
g) A și B
2. Modificați programul astfel încît să se determine diferența și
produsul a două numere;
3. Precizați care vor fi datele de ieșire pentru p.2 dacă în caitate
11
de date de intrare se introduc valorile de la p.1.
Exerciții (2)
În baza programului 2:
1. Precizați ce modificări sînt necesare a fi realizate în program
pentru a afișa rezultatele :
În baza programului 3:
Specificați care vor fi datele de ieșire, dacă în calitate de date de
intrare se va introduce :
a) 1 1 1 1 1
b) 3.2 4.5 6.4 8.4
c) a b c d e f
d) -3 -4 -5 -6 -9
e) 33333 23.123456789 p q
f) 9999999999 0.000000123456789 4 y
13
Problema 1 De la tastatură se citeşte lungimea laturii unu
pătrat. Să se elaboreze un program prin intermediul căruia se va
afişa la ecran suprafaţa şi perimetrul figurii.
Implementare C++
#include<iostream>
using namespace std;
float lat, aria, per;
main(){
cout<<"Dati lungimea laturii patratului lat=";cin>>lat;
aria=lat*lat;
per=lat*4;
cout<<"Aria patratului="<<aria<<endl;
cout<<"Perimetrul patratului="<<per;
}
rezultat
14
Problema 2 De la tastatură se citesc două numere
întregi. Să se elaboreze un program prin intermediul căruia se
va afişa la ecran suma, diferenţa, produsul câtul şi restul dintre
cele două numere. Implementare C++
#include<iostream>
using namespace std;
int a,b,sum,dif,prod,cit,rest;
main(){
cout<<"Dati doua numere intregi"<<endl;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
sum=a+b; dif=a-b; prod=a*b; cit=a/b; rest=a%b;
cout<<a<<"+"<<b<<"="<<sum<<endl;
cout<<a<<"-"<<b<<"="<<dif<<endl;
cout<<a<<"*"<<b<<"="<<prod<<endl;
cout<<a<<"/"<<b<<"="<<cit<<endl;
cout<<a<<"%"<<b<<"="<<rest<<endl;
}
15
Problema 3. Să se elaboreze un program prin intermediul căruia
se va oferi posibilitatea utilizatorului de a afișa codul din tabelul
ASCII al unui caracter citit de la tastatură și de a afișa caracterul
care corespunde poziției din tabelul ASCII, dacă numărul poziției se
citește de la tastatură. Implementare C++
#include<iostream>
using namespace std;
int a,b;
char c,d;
main(){
cout<<"Scrieti un caracter ";
cin>>c; // se poate si c=getche();
cout<<"Indicati pozitia din tabelul ASCII"; cin>>a;
b=c;
d=a;
cout<<"Caracterului "<<c;
cout<<" ii corespunde codul "<<b<<endl;
cout<<"Pe pozitia "<<a;
cout<<" se afla caracterul "<<d<<endl;
}
16
FORMATAREA PRIN MANIPULATORI
17
Tabelul 1 Manipulatori C++fără parametri
Manipulator Intrare/Ieşire Acţiune
Formatează datele numerice în zecimal
dec I/O
(activează bitul de conversie zecimală)
Formatează datele numerice în hexa
hex I/O (activează bitul de conversie
hexazecimală)
Formatează datele numerice în octal
oct I/O
(activează bitul de conversie octală)
Afişează (inserează) un caracter '\n' şi
endl O
eliberează fluxul
cout<<manipulator (argument)<<afisare_date;
cin>>manipulator (argument)>>citire_date;
18
Tabelul 2 Manipulatori C++ cu parametrii
Manipulator Intrare/
Acţiune
Ieşire
Stabileşte baza de conversie 8 10 sau
setbase(int baza) I/O
16.
Defineşte caracterul de umplere (cel
setfill(char c) I/O
implicit este spaţiul liber, blank-ul)
Defineşte precizia pentru numerele
setprecision (int p) I/O
reale
Defineşte lăţimea câmpului (numărul
setw(int w) I/O
de octeţi care vor fi citiţi sau afisaţi)
Exemple
Fie date declaraţiile:
int a=24;
double c=123.1234567;
cout<<a<<endl<<”a=”<<setw(5)<<a<<endl;
cout<<”c=”<<setw(7)<<setprecision(2)<<c;
cout << setfill ('x') << setw (10);
cout << 77 << endl;
va afişa :
24
a=VVV24
numărul a este afișat pe 5 poziţii
c=123.12
numărul c este afișat pe 7 poziţii cu 2 cifre după virgulă
xxxxxxxx77 20
Program-exemplu Acest program va
demonstra modalitatea de utilizare a
manipulatorilor de conversie.
#include<iostream.h>
using namespace std;
int a;
main(){
cout<<"Introdu un numar in baza 16"<<endl;
cin>>setbase(16)>>a;
cout<<"Hexazecimal "<<hex<<a<<endl;
cout<<"Zecimal "<<dec<<a<<endl;
cout<<"Octal "<<oct<<a<<endl;
}
21
Problema 4. De la tastatură se citește un caracter.
Să se elaboreze un program prin intermediul căruia la ecran
se va afișa un pătrat interiorul căruia să fie completat cu
caracterul citit.
#include<iostream>
#include<iomanip>
#include<conio.h>
using namespace std;
char a;
main(){
cout<<"Scrieti un caracter ";
a=getche(); cout<<endl;
cout<<setw(4)<<setfill(a)<<a<<endl;
cout<<setw(4)<<setfill(a)<<a<<endl;
cout<<setw(4)<<setfill(a)<<a<<endl;
cout<<setw(4)<<setfill(a)<<a<<endl;
}
22
Problema 5 Factura.
Lunar Ionel primește de la părinți A lei pentru
a achita factura pentru consumul de gaz şi apă. În
luna curentă consumul de gaze a fost de 43.23 m3,
iar de apă de 67.78 m3. De la tastatură se citește
suma de bani primită de Ionel, costul unui m3 de
gaz și costul unui m3 de apă. Să se elaboreze un
program prin intermediul căruia se va afișa la ecran
suma ce necesită a fi achitată de către Ionel, cât și
suma de bani rămasă.
23
Implementare în C++
#include<iostream>
#include<iomanip>
using namespace std;
float A,apa,gaz,rest,f;
const float g=43.23;
const float a=67.78;
main(){
cout<<"Indicati suma initiala ";cin>>A;
cout<<"Dati costul pentru un metru cub de gaz";
cin>>gaz;
cout<<"Dati costul pentru un metru cub de apa";
cin>>apa;
f=gaz*g+apa*a;
rest=A-f;
cout<<"Suma pentru achitarea facturii=";
cout<<setprecision(2)<<f<<endl;
cout<<"Lui Ionel iau ramas";
cout<<setprecision(2)<<rest<<" lei"; 24
}
Pentru acasa
Mult succes