Informatică, întrebare adresată de cristianiscru23, 8 ani în urmă

1.Realizați un program care calculează data zilei de mâine cunoscând data zilei de
azi și folosind pentru aceasta o clasă.(C++).

2.Realizați un program pentru rezolvarea unei ecuații de gradul 1 și un program
pentru rezolvarea unei ecuații de gradul al 2-lea, folosind o clasă pentru gruparea
datelor și metodelor.(C++).

Răspunsuri la întrebare

Răspuns de andrei750238
5

PROBLEMA 1

#include <iostream>

using namespace std;

class data_calendaristica {

private:

unsigned zi, luna, an;

bool este_an_bisect() {

 if (an % 400 == 0)return 1;

 if (an % 100 == 0)return 0;

 if (an % 4 == 0)return 1;

 return 0;

}

public:

void seteaza_data(unsigned z, unsigned l, unsigned a) {

 an = a;

 luna = l;

 zi = z;

}

void maine() {

 zi++;

 //Overflow luna

 if ((luna == 1 || luna == 3 || luna == 5 || luna == 7 || luna == 8 || luna == 10 || luna == 12) && zi == 32) {

  zi = 1;

  luna += 1;

 }

 else if ((luna == 4 || luna == 6 || luna == 9 || luna == 11) && zi == 31) {

  zi = 1;

  luna += 1;

 }

 else if (luna == 2) {

  if (zi == 29 && !este_an_bisect() || zi==30 && este_an_bisect()) {

   zi = 1;

   luna++;

  }

 }

 //Overflow an

 if (luna == 13) {

  luna = 1;

  an++;

  este_an_bisect();

 }

}

void afisare_data() {

 cout << "Data  : " << zi << " " << luna << " " << an << endl;

}

};

int main(){

unsigned z, l, a;

cout << "Introduceti ziua, luna si anul : ";

cin >> z >> l >> a;

 

data_calendaristica x;

x.seteaza_data(z, l, a);

cout << "Azi : ";

x.afisare_data();

x.maine();

 

cout << "Maine : ";

x.afisare_data();

}

PROBLEMA 2

#include <iostream>

#include <math.h>

using namespace std;

class ecuatie_grad_2 {

private:

float a, b, c;

float delta;

public:

void initializeaza(float temp_a, float temp_b, float temp_c) {

 a = temp_a;

 b = temp_b;

 c = temp_c;

}

float calc_delta() {

 return b * b - 4 * a * c;

}

void afisare_solutie() {

 cout << endl;

 if (delta < 0) cout << "Ecuatia nu are solutii reale";

 else if (delta == 0)cout << "Ecuatia are solutia x = " << -b / (2 * a);

 else cout << "Ecuatia are solutiile x1 = " << (-b + sqrt(delta)) / (2 * a) << " si x2 = " << (-b - sqrt(delta)) / (2 * a);

 cout << endl;

}

ecuatie_grad_2(float temp_a, float temp_b, float temp_c) {

 initializeaza(temp_a, temp_b, temp_c);

 delta = calc_delta();

 afisare_solutie();

}

};

class ecuatie_grad_1 {

private:

float a, b;

public:

void initializeaza(float temp_a, float temp_b) {

 a = temp_a;

 b = temp_b;

}

void afisare_solutie() {

 cout << endl;

 if (a == 0 && b == 0) cout << "Ecuatia are o infinitate de solutii";

 else if (a == 0) cout << "Ecuatia nu are solutii";

 else cout << "Solutia ecuatiei este x = " << -b / a;

 cout << endl;

}

ecuatie_grad_1(float temp_a, float temp_b) {

 initializeaza(temp_a, temp_b);

 afisare_solutie();

}

};

int main(){

int a, b, c;

cout << "Introduceti coeficientii ecuatiei de grad 2 : ";

cin >> a >> b >> c;

ecuatie_grad_2(a, b, c);

cout << "Introduceti coeficientii ecuatiei de grad 1 : ";

cin >> a >> b;

ecuatie_grad_1(a, b);

}

Anexe:
Alte întrebări interesante