Sunteți pe pagina 1din 9

Homework

1./*Buta Rares si Linul Paul Andrei


Grupa 2012,2115
S se scrie o aplicaie C++ care implementeaz o clasnumit PilotF1. Clasadefinetevariabilele
private nume (ir de caractere),
echipa (ir de caractere), varsta (int), record (int), nr_pole_position (int). Ca membripublici,
clasaconinemetodeaccesorimutator
distinctepentrufiecare din atributeleclasei.
In funcia main, s se creeze 3 instanedistincte ale clasei PilotF1 is se
foloseascmetodelemutatorpentru a iniializa
datele din fiecareobiect cu informaiacorespunztoarecitit de la tastatur.
Folosindmetodeleaccesor, s se afiezetoatedatelepilotului cu celmai bun record.
Data:02.04.2015
*/

#include<iostream>
usingnamespacestd;

classPilot
{
charnume[20];
charechipa [30];
intvarsta,record;
intnr_pol;
public: voidsetnu(char *n);
voidsetec(char *n);
voidsetpol(int x);
voidsetre(int x);
voidsetvar(int x);
char* getnu();
char* getec();
intgetpol();
intgetre();
intgetvar();
};
voidPilot::setnu(char *n)
{
strncpy_s(nume,n,20);
}
voidPilot::setec(char *n)
{
strncpy_s(echipa,n,20);
}
voidPilot::setpol(intx)
{
nr_pol=x;
}
voidPilot::setre(intx)
{
record=x;
}
voidPilot::setvar(intx)
{
varsta=x;
}
char* Pilot::getec()
{
returnechipa;

char* Pilot::getnu()
{
returnnume;

intPilot::getpol()
{
returnnr_pol;

}
intPilot::getre()
{
return record;

}
intPilot::getvar()
{
returnvarsta;

void main()
{ Pilotob[3];
Pilot *p=&ob[0];
intx,y,z,i,m,n,o;
char c[30],c1[40],*f,*d;
d=&c[0];
f=&c1[0];

for(i=1;i<=3;i++)
{
cout<<"\nPilotul cu nr "<<i<<" are : ";
cout<<"\nnume : ";
cin>>c;
(p+i)->setnu(c);
cout<<"\nEchipa : ";
cin>>c1;
(p+i)->setec(c1);
cout<<"\nVarsta: ";
cin>>y;
(p+i)->setvar(y);
cout<<"\nnrpol_poz: ";
cin>>x;
(p+i)->setpol(x);
cout<<"\nrecord: ";
cin>>z;
(p+i)->setre(z);

}
m=(p+1)->getre();
n=(p+2)->getre();
o=(p+3)->getre();
if(m<n&&m<o)
{
cout<<"\n Pilotul cu celmai bun record este: "<<(p+1)->getnu();
cout<<"\nvarsta: "<<(p+1)->getvar();
cout<<"\nechipa: "<<(p+1)->getec();
cout<<"\npozitie: "<<(p+1)->getpol();

}
if(n<m&&n<o){
cout<<"\n Pilotul cu celmai bun record este: "<<(p+2)->getnu();
cout<<"\nvarsta: "<<(p+2)->getvar();
cout<<"\nechipa: "<<(p+2)->getec();
cout<<"\npozitie: "<<(p+2)->getpol();

}
if(o<n&&o<m)
{
cout<<"\n Pilotul cu celmai bun record este: "<<(p+3)->getnu();
cout<<"\nvarsta: "<<(p+3)->getvar();
cout<<"\nechipa: "<<(p+3)->getec();
cout<<"\npozitie: "<<(p+3)->getpol();

cin.ignore();
cin.get();

3./*Buta Rares 31.03.2015


The elements above the main diagonal using classes
*/
#include<stdio.h>
#include<iostream>
#include<conio.h>
usingnamespacestd;
class Matrix{
//atribute
int matrix[10][10], dim1, dim2;
//declarareametodei de afisare a unui element
voidreturnElement(int row, int column){
cout<<matrix[row][column]<<" ";
}
public:
//constructor explicit vid
Matrix(){
//variabile locale
inti, j;
cout<<"\nIntroducetidimensiunilematricii: ";
cin>> dim1;
cin>> dim2;
cout<<"\nIntroducetielementelematricii: ";
for (i = 0; i<dim1; i++){
for (j = 0; j<dim2; j++){
cout<<"\nmatrix["<<i<<"]["<< j <<"] = ";
cin>> matrix[i][j];
}
}
}
//metoda de afisare a matricii din clasa; implementare in cadrulclasei

//declarareametodei de afisareaelementeloruneicoloane
voiddisplayDiag();
};
//implementareaexterna a metodelor (publicesau private) declarate in clasa

void main(void){
Matrix m1; //instantiere

m1.displayDiag();
_getch();
//incercare (imposibila) de aaccesa direct un membruprivat al clasei
//m1.returnElement(0, 0);
}
void Matrix::displayDiag(){
for (inti = 0; i< dim1; i++){
for (int j = i+1; j < dim2; j++){
returnElement(i, j);
}
};
}

4. /*Buta Rares si Linul Paul Andrei


Grupa 2012,2115

S se scrie o clas care are ca variabilprivatuncmp de tip dat, definitntr-o


structurexternclasei (zi int, luna int, an - int).
Clasaconinemetodemutatoriaccesor (publice) pentruinformaiaprivat. In clas se
maiafldouametodepublice care:
- testeazvaliditateadateistocate;
- scrientr-un fiiertoatedatele din anulcurent care preced (cronologic) data stocatnclas;
In metoda main, dupinstaniereaclaseiicitirea de la tastatur a componentelorunei date, s se
apelezemetodelemembreiapois se verificerezultateleobinute.

Data:02.04.2015
*/
#define_CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<stdlib.h>
usingnamespacestd;
#include<string.h>

structdata
{
intzi;
intluna;
int an;

};
classStruct
{
structdata d;

public:
void set(structdata x);
int get();
intverficare();
voidfisier();

};

voidStruct::set(structdatax)
{
d.zi=x.zi;
d.luna=x.luna;
d.an=x.an;

intStruct:: get()
{
return (d.zi, d.luna, d.an);
}

intStruct::verficare()
{
if((d.zi)<=0||(d.zi)>31)
{
return 0;
}else
return 1;
if((d.luna)<=0||(d.luna)>12)
{
return 0;
}else
return 1;

voidStruct::fisier()
{
char t[50];
cout<<"\ndatinumelefisierului: \n";
cin>>t;
FILE *f;

f=fopen(t,"w");
for(int l=1;l<d.luna;l++)
{
if(l==1||l==3||l==5||l==7||l==8||l==10||l==12)
{
for(int z=1;z<d.zi;z++)
{
fprintf(f,"%d, %d, %d",z,l,d.an);
cout<<"\n "<<z<<" "<<l<<" "<<d.an<<endl;

}
fprintf(f,"\n");
cout<<endl;
}
cout<<endl;
if(l==4||l==6||l==9||l==11)
{
for(int z=1;z<d.zi;z++)
{
fprintf(f,"%d, %d, %d",z,l,d.an);
cout<<"\n "<<z<<" "<<l<<" "<<d.an<<endl;

}
fprintf(f,"\n");
cout<<endl;
}
cout<<endl;
if(l==2)
{
if(d.an%4==0)
{
for(int z=1;z<=29;z++)
{
fprintf(f,"%d, %d, %d",z,l,d.an);
cout<<"\n "<<z<<" "<<l<<" "<<d.an<<endl;

}
fprintf(f,"\n");
cout<<endl;

}else
{for(int z=1;z<29;z++)
{
fprintf(f,"%d, %d, %d",z,l,d.an);
cout<<"\n "<<z<<" "<<l<<" "<<d.an<<endl;

}
fprintf(f,"\n");
cout<<endl;

}
cout<<endl;
}

}
for(int z=1;z<d.zi;z++)
{
fprintf(f,"%d, %d, %d",z,d.luna,d.an);
cout<<"\n "<<z<<" "<<d.luna<<" "<<d.an<<endl;

}
cout<<endl<<endl;
fprintf(f,"\n\n");

fclose(f);
}

void main ()
{
Struct ob1;
Struct *p=&ob1;

structdata x;
cout<<"\nintroducetiziua: ";
cin>>x.zi;
cout<<"\nintroducetiluna: ";
cin>>x.luna;
cout<<"\nintroduceti an: ";
cin>>x.an;
p->set(x);
cout<<"\nseverificavalidareadatei!";
if(p->verficare()==0)
{
cout<<"\ndataintrodusa nu estevalida!" ;

cin.ignore();
cin.get();
return;
}
else
cout<<"\ndataestevalida!Multumim!";

cout<<"\n datelecalendaristile din :\n";


p->fisier();
cin.ignore();
cin.get();

6./*Buta Rares 30.03.2015


Write a C++ application that defines a class called Triangle. The class contains as private
variables the triangle's sides a, b and c.
The methods included in the class will determine
whether the values of a,b and c form a triangle and will calculate the shape's area and perimeter.
Write a distinct method that will print a specific message if the triangle is right.
*/
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
usingnamespacestd;
class Triangle{
int a, b, c;

voidgettext(){
cout<<"Laturile nu pot forma un triunghi";
exit(0);
}
public:
Triangle(int a, int b, int c){//constructor care verificavaliditateatriunghiului
if ((a < b + c) && (b < a + c) && (c < a + b)){

this->a = a;
this->b = b;
this->c = c;
}
elsegettext();
}
float area(int a, int b, int c){//aria triunghiului
float p;
p = (a + b + c) / 2;
returnsqrt((p - a)*(p - b)*(p - c)*p);
}
floatperi(int a, int b, int c){
return a + b + c;
}
};
void main(){
int l1, l2, l3;
cout<<"Introducetilaturile\n";
cin>> l1 >> l2 >> l3;
Triangle o1(l1,l2,l3);

cout<<"Aria "<< o1.area(l1, l2, l3);


cout<<"Perimetrul "<< o1.peri(l1, l2, l3);

_getch();
}

7./*Buta Rares 30.03.2015


Write a class named Safe that has as private attributes the cipher and the amount of money.
Implement the private accessor and mutator methods getMoney() and putMoney().
The public methods putInSafe() and getFromSafe() will call the previous methods
only if the cipher sent as parameter matches the value stored inside the class.
Display a message if the cipher is not correct.
*/
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
usingnamespacestd;
class Safe{
int am=0;
constint cipher = 1234;
intgetMoney(){
return am;
}
voidputMoney(int a){
am = a;
}
public:
voidputInSafe(int c){
int b;
if (c == cipher){
cout<<"Suma de banicevretisa o introduceti: ";
cin>> b;
putMoney(b);
}
elsecout<<"Cifrugresit";
}
voidgetFromSafe(int c){
if (c == cipher){
cout<<"Suma de banice o aveti in seif: ";
cout<<getMoney();
}
elsecout<<"Cifrugresit";
}
};
void main(){
int cif1,cif2;
cout<<"Introduceticifrulpentruintroducereabanilor: ";
cin>> cif1;
Safe o1;
o1.putInSafe(cif1);
cout<<"\nIntroduceticifrulpentruinterogare sold: ";
cin>> cif2;
o1.getFromSafe(cif2);
_getch();
}

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