 |
| Autor |
Mesaj |
Zappu
Administrator


Data inscrierii: 10/Noi/2007 Mesaje: 718 Localitate: Cluj |
|
lab 12 |
|
1. Scrieþi un program C++ în care afiºaþi diferite valori în zecimal, octal ºi hexazecimal.
Afiºaþi valorile aliniate la dreapta, respectiv la stânga într-un câmp de afiºare cu măsură 15.
Utilizaþi manipulatorul setfill() pentru stabilirea caracterului de umplere
ºi funcþiile width() ºi precision() pentru stabilirea dimensiunii câmpului de afiºare ºi a preciziei.
#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 distincte tipuri,
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 insertie 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 miscarii 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;
}
_________________ Detinator MiniZone
www.zappdivercity.blogspot.com |
|
| 06/05/2014 15:04 |
|
 |
|
|
Nu puteti crea un subiect nou in acest forum Nu puteti raspunde in subiectele acestui forum Nu puteti modifica mesajele proprii din acest forum Nu puteti sterge mesajele proprii din acest forum Nu puteti vota in chestionarele din acest forum
|
Powered by phpBB © 2001, 2005 phpBB Group Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro
|
|
 |