/*1. Să se scrie o aplicaţie C++ care implementează o clasă numită PilotF1. Clasa definește
variabilele private nume (șir de caractere), echipa (șir de caractere), varsta (int), record (int),
//Zinveliu Ioana,grupa 4
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
class PilotF1 {
char echipa[20];
int varsta;
int record;
int nr_pole_position;
public:
strcpy(this->nume, nume);
{
strcpy(this->echipa, echipa);
this->varsta = varsta;
this->record = record;
this->nr_pole_position = nr_pole_position;
char* getnume()
return nume;
char* getec()
return echipa;
int getvr()
return varsta;
int getrec()
return record;
}
int getpos()
return nr_pole_position;
};
int main()
citire(s);
if (s[i].getrec() == timpmax)
afisare(s[i]);
}
delete[] s;
char nume[20];
char echipa[20];
s[i].setnume(nume);
s[i].setec(echipa);
s[i].setvarsta(varsta);
s[i].setrec(record);
s[i].setpole(pos);
/*2. Să se modifice exemplul 2 astfel încât codul să poată fi lansat în execuție considerand
//Zinveliu Ioana,grupa 4
#include <iostream>
class Test2 {
int x;
public:
Test2()
void setx(int x)
this->x = x;
};
int main() {
int a;
cout << "\nIntroduceti valoarea variabilei de tip \"int\" din clasa: ";
cin >> a;
//ob1.x = a;
/*3. Pornind de la exemplul care tratează lucrul cu matrice in varianta transformata cu alocare
- afișarea unei matrice de dimensiunea celei inițiale ale cărei elemente pot avea valori de 0
(dacă elementul corespunzător este mai mare decât o valoare citita) sau 1 (în caz contrar);*/
//Zinveliu Ioana,grupa 4
#include <iostream>
class Matrix {
public:
int getline()
return dim1;
}
int getcol()
return dim2;
void setlin(int x)
dim1 = x;
void setcol(int x)
dim2 = x;
void citire()
void afisare();
void dsec();
void dpr();
};
void Matrix::dpr()
if (dim1 == dim2)
void Matrix::dsec()
if (dim1 == dim2)
{ if (i > dim2 - j - 1)
}}
void Matrix::comp(int k)
{
cout << "Comparare";
void Matrix::afisare()
int main()
Matrix m;
int x, y,k;
m.setlin(x);
m.setcol(y);
m.citire();
m.afisare();
cin >> k;
m.comp(k);
m.dpr();
m.dsec();
/*6. Să se scrie o aplicaţie C++ care implementează o clasă numită Triunghi. Clasa cuprinde
adecvate. Calculați aria și perimetrul prin metode specifice clasei. Scrieți o metodă care să
indice dacă triunghiul este dreptunghic sau nu. Definiti o metoda private cu parametrii in clasa
metodele setter*/
//Zinveliu Ioana,grupa 4
#include <iostream>
class Triunghi {
private:int a, b, c;
public:
this->a = a;
this->b = b;
this->c = c;
int verificare()
else {
exit(1);
int perimetru()
return a + b + c;
float arie()
semiperimetru = (float)perimetru() / 2;
return rez;
void dreptunghic()
};
int main()
Triunghi t;
int a, b, c;
t.setlat(a, b, c);
t.verificare();
t.dreptunghic();
//Zinveliu Ioana,grupa 4
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <time.h>
class Person {
// membri private
char nume[dim_sir];
char prenume[dim_sir];
char cnp[14];
public:
// membri publici
char* getNume(void) {
return nume;
char* getPrenume(void) {
return prenume;
char* getCnp(void) {
return cnp;
char get_gender(void);
int get_an_nast(void);
int get_luna_nast(void);
int get_zi_nast(void);
int get_varsta(void);
};
void Person::setLunaNastere(char* l)
strncpy(cnp + 3, l, 2);
void Person::setNume(char* n)
if (n != 0)
else
strcpy_s(nume, "Necunoscut");
void Person::setPrenume(char* p)
if (p != 0)
else
strcpy_s(prenume, "Necunoscut");
int Person::setValidCnp(char* c) {
char buf[3];
int n;
if (c != 0) {
// validare CNP: numai pentru cifra gen, cifrele pentru AN, LU, ZI
return 1;
return 2;
strncpy_s(buf, c + 1, 2);//an
buf[2] = '\0';
n = atoi(buf);
if (n > 99)
return 3;//inconsistent
strncpy_s(buf, c + 3, 2);//luna
buf[2] = '\0';
n = atoi(buf);
if (n == 0 || n > 12)
return 4;
strncpy_s(buf, c + 5, 2);//zi
buf[2] = '\0';
n = atoi(buf);
if (n == 0 || n > 31)
return 5;
return 0;
char Person::get_gender(void) {
return 'X';
int Person::get_an_nast(void) {
char buf[3];
buf[2] = '\0';
return(1900 + atoi(buf));
int Person::get_luna_nast(void) {
char buf[3];
buf[2] = '\0';
return(atoi(buf));
int Person::get_zi_nast(void) {
void Person::setZiNastere(char* z)
cnp[5] = z[0];
cnp[6] = z[1];
int Person::get_varsta(void) {
struct tm newTime;
time_t szClock;
time(&szClock);
localtime_s(&newTime, &szClock);
n--;
else {
if (lu_c == lu_n) {
return n;
int main() {
Person p1;
char aux_string[dim_sir];
p1.setNume(aux_string);
cin.ignore();
p1.setPrenume(aux_string);
switch (t_cnp) {
cout << "\tNume: " << p1.getNume() << ", Prenume: " << p1.getPrenume() << ",CNP:
" << p1.getCnp() << endl;
cout << "\tData nasterii: " << p1.get_an_nast() << "/" << p1.get_luna_nast() <<
return 0;