Sunteți pe pagina 1din 3

1. Scriei un program C++ n care afiai diferite valori n zecimal, octal i hexazecimal.

Afiai valorile aliniate la dreapta, respectiv la stnga ntr-un cmp de afiare cu dimensi
unea 15.
Utilizai manipulatorul setfill() pentru stabilirea caracterului de umplere
i funciile width() i precision() pentru stabilirea dimensiunii cmpului de afiare i a p
reciziei.
#include<iostream>
#include<iomanip>
using namespace std;
void main(void)
{
cout.setf(ios::right);
cout.width(15);
cout.precision(3);
cout<<setfill('*')<<10.4441<<endl;
cout.unsetf(ios::dec);
cout.setf(ios_base::hex);
cout<<442<<endl;
cout.setf(ios::left);
cout.unsetf(ios::hex);
cout.setf(ios_base::oct);
cout<<10<<endl;
}
2. Scrieti o aplicatie C++ in care se citesc de la tastatura date de diferite ti
puri,
urmand a fi afisate pe ecran utilizand manipulatorii standard.
#include <iostream>
#include <iomanip>
using namespace std;

void main(void)
{
int a;
float b;
char c[30];
cout<<"Introduceti un numar intreg:";cin>>a;
cout<<"a="<<a<<endl;
cout<<"Convertit in hexazecimal:"<<hex<<a<<endl;
cout<<"Convertit in octal:"<<oct<<a<<endl;
cout<<"\nIntroduceti un numar real:";cin>>b;
cout << setprecision(8);
cout<<"b="<<b<<endl;
cout<<"Introduceti un sir de caractere:";cin>>c;
cout<<setfill('c')<<setw(8)<<c<<endl;
}
4. Definiti o clasa numita MiscareAccelerata care contine variabilele private
dc (distanta curenta, vc (viteza curenta) si a (acceleratia).
Variabilele dc si vc sunt initializate in constructor iar valoarea lor este cea
data de d0 si v0,
ca si parametri. In clasa sunt supraincarcati operatorii de extractie si de inse
rtie pentru a se putea initializa
si afisa caracteristicile unei instante.
Implementati metoda determinaMiscarea care re-calculeaza variabilele dc si vc,
pe baza unui numar de secunde primit ca parametru si avand in vedere legea misca
rii rectilinii uniform accelerate.
Instantiati clasa si apoi folositi membrii definiti.
#include<iostream>
#include<stdarg.h>
#include<math.h>
using namespace std;
class MiscareAccelerata
{
double dc;
double vc;
double a;
public:
MiscareAccelerata(int d0,int v0) : dc(d0),vc(v0),a(0) {}
friend istream& operator>>(istream& stream, MiscareAccelerata &obj);
friend ostream& operator<<(ostream& stream, MiscareAccelerata &obj);
void determinaMiscarea(int t);
};
istream& operator>>(istream& stream, MiscareAccelerata &obj)
{
char buff[20];
cout<<"Intoduceti acceleratia sistemului:";
stream>>obj.a;
cout<<"Introduceti distanta curenta:(pentru a lasa nemodificata tastati
\'d\': ";
cin>>buff;
if(toupper(buff[0])!='D') obj.dc=atoi(buff);
cout<<"Introduceti viteza curenta:(pentru a lasa nemodificata tastati \'
d\': ";
cin>>buff;
if(toupper(buff[0])!='D') obj.vc=atoi(buff);
return stream;
}
ostream& operator<<(ostream& stream, MiscareAccelerata &obj)
{
stream<<"Acceleratia sistemului este: "<<obj.a<<endl;
stream<<"Distanta curenta este: "<<obj.dc<<endl;
stream<<"Viteza curenta este: :"<<obj.vc<<endl;
return stream;
}
void MiscareAccelerata::determinaMiscarea(int t)
{
double dc_tmp=dc;
dc=dc+vc*t+a*pow((double)t,2)/2;
vc=sqrt(pow(vc,2)+2*a*dc_tmp);
}
void main(void)
{
MiscareAccelerata c1(10,4);
cout<<"Parametrii initiali:"<<endl<<c1<<endl;
cin>>c1;
cout<<endl<<"Parametrii dupa schimbare:"<<endl<<c1<<endl;
c1.determinaMiscarea(10);
cout<<"Parametrii dupa recalculare:"<<endl<<c1<<endl;
}

S-ar putea să vă placă și