Untitled
unknown
plain_text
4 months ago
16 kB
1
Indexable
1. Rezistența echivalentă serie și paralel pentru 3 rezistoare; RezistentaCalculator.h #ifndef RESISTENTACALCULATOR_H #define RESISTENTACALCULATOR_H class RezistentaCalculator { private: double R1, R2, R3; public: RezistentaCalculator(double r1 = 0, double r2 = 0, double r3 = 0) : R1(r1), R2(r2), R3(r3) {} void SetRezistente(double r1, double r2, double r3) {R1 = r1;R2 = r2;R3 = r3;} double CalculeazaSerie() const {return R1 + R2 + R3;} double CalculeazaParalel() const {return 1.0 / (1.0 / R1 + 1.0 / R2 + 1.0 / R3);} }; #endif main.cpp double R1, R2, R3; TextCtrl1->GetValue().ToDouble(&R1); TextCtrl2->GetValue().ToDouble(&R2); TextCtrl3->GetValue().ToDouble(&R3); RezistentaCalculator calc(R1, R2, R3); double rezSerie = calc.CalculeazaSerie(); double rezParalel = calc.CalculeazaParalel(); TextCtrl4->SetValue(wxString::Format("%.2f", rezSerie)); TextCtrl5->SetValue(wxString::Format("%.2f", rezParalel)); 2. Capacitatea echivalentă serie și paralel pentru 3 condensatoare; CapacitateCalculator.h #ifndef CAPACITATE_CALCULATOR_H #define CAPACITATE_CALCULATOR_H class CapacitateCalculator { private: double C1, C2, C3; public: CapacitateCalculator(double c1 = 0, double c2 = 0, double c3 = 0) : C1(c1), C2(c2), C3(c3) {} void SetCapacitati(double c1, double c2, double c3) {C1 = c1;C2 = c2;C3 = c3;} double CalculeazaParalel() const {return C1 + C2 + C3;} double CalculeazaSerie() const {return 1.0 / (1.0 / C1 + 1.0 / C2 + 1.0 / C3);} }; #endif main.cpp double C1, C2, C3; TextCtrl1->GetValue().ToDouble(&C1); TextCtrl2->GetValue().ToDouble(&C2); TextCtrl3->GetValue().ToDouble(&C3); CapacitateCalculator calc(C1, C2, C3); double capacitateParalel = calc.CalculeazaParalel(); double capacitateSerie = calc.CalculeazaSerie(); TextCtrl4->SetValue(wxString::Format("%.2f", capacitateParalel)); TextCtrl5->SetValue(wxString::Format("%.2f", capacitateSerie)); 3. Triunghiul puterilor, când se cunoaște factorul de putere și puterea aparentă; TriunghiPuterilor.h #ifndef TRIUNGHI_PUTERILOR_H #define TRIUNGHI_PUTERILOR_H #include <cmath> class TriunghiPuterilor { private: double factorPutere; double putereAparenta; public: TriunghiPuterilor(double pA = 0, double fP = 0) : putereAparenta(pA), factorPutere(fP) {} void SetDate(double pA, double fP) {putereAparenta = pA;factorPutere = fP;} double CalculeazaPutereActiva() const { return putereAparenta * factorPutere;} double CalculeazaPutereReactiva() const { return putereAparenta * std::sqrt(1 - std::pow(factorPutere, 2));} }; #endif main.cpp double putereAparenta, factorPutere; TextCtrl1->GetValue().ToDouble(&putereAparenta); TextCtrl2->GetValue().ToDouble(&factorPutere); TriunghiPuterilor calc(putereAparenta, factorPutere); double putereActiva = calc.CalculeazaPutereActiva(); double putereReactiva = calc.CalculeazaPutereReactiva(); TextCtrl3->SetValue(wxString::Format("%.2f", putereActiva)); TextCtrl4->SetValue(wxString::Format("%.2f", putereReactiva)); 4. Rezolvarea ecuației de gradul I, pentru două ecuații în același timp; EcuatieGrad1.h #ifndef ECUATIE_GRAD1_H #define ECUATIE_GRAD1_H class EcuatieGrad1 { private: double a, b; public: EcuatieGrad1(double coefA = 0, double coefB = 0) : a(coefA), b(coefB) {} void SetCoeficienti(double coefA, double coefB) {a = coefA;b = coefB;} double Rezolva() const { if (a == 0) throw "Ecuatia nu are solutie."; return -b / a;} }; #endif main.cpp double a1, b1, a2, b2; TextCtrl1->GetValue().ToDouble(&a1); TextCtrl2->GetValue().ToDouble(&b1); TextCtrl3->GetValue().ToDouble(&a2); TextCtrl4->GetValue().ToDouble(&b2); EcuatieGrad1 ecuatie1(a1, b1); EcuatieGrad1 ecuatie2(a2, b2); double sol1 = ecuatie1.Rezolva(); double sol2 = ecuatie2.Rezolva(); TextCtrl5->SetValue(wxString::Format("%.2f", sol1)); TextCtrl6->SetValue(wxString::Format("%.2f", sol2)); 5. Rezolvarea ecuației de gradul II; EcuatieGrad2.h #ifndef ECUATIE_GRAD2_H #define ECUATIE_GRAD2_H #include <cmath> #include <stdexcept> class EcuatieGrad2 { private: double a, b, c; public: EcuatieGrad2(double coefA = 0, double coefB = 0, double coefC = 0) : a(coefA), b(coefB), c(coefC) {} void SetCoeficienti(double coefA, double coefB, double coefC) {a = coefA;b = coefB;c = coefC;} double Delta() const {return b * b - 4 * a * c;} void Rezolva(double& x1, double& x2) const { double delta = Delta(); if (delta < 0) throw std::runtime_error("Delta negativ. Solutii complexe."); x1 = (-b + std::sqrt(delta)) / (2 * a); x2 = (-b - std::sqrt(delta)) / (2 * a);} }; #endif main.cpp double a, b, c; TextCtrl1->GetValue().ToDouble(&a); TextCtrl2->GetValue().ToDouble(&b); TextCtrl3->GetValue().ToDouble(&c); EcuatieGrad2 ecuatie(a, b, c); try { double x1, x2; ecuatie.Rezolva(x1, x2); TextCtrl4->SetValue(wxString::Format("%.2f", x1)); TextCtrl5->SetValue(wxString::Format("%.2f", x2)); } catch (const std::exception& e) { wxMessageBox(e.what(), "Eroare", wxICON_ERROR);} 6. Consumul de combustbil la un automobil și prețul acestuia; ConsumulCombustibil.h #ifndef CONSUMUL_COMBUSTIBIL_H #define CONSUMUL_COMBUSTIBIL_H class ConsumulCombustibil { private: double distanta; double consumMediu; double pretCombustibil; public: ConsumulCombustibil(double d = 0, double c = 0, double p = 0) : distanta(d), consumMediu(c), pretCombustibil(p) {} void SetDate(double d, double c, double p) {distanta = d;consumMediu = c;pretCombustibil = p;} double CalculeazaConsumTotal() const {return (distanta / 100.0) * consumMediu;} double CalculeazaCostTotal() const {return CalculeazaConsumTotal() * pretCombustibil;} }; #endif main.cpp double distanta, consumMediu, pretCombustibil; TextCtrl1->GetValue().ToDouble(&distanta); TextCtrl2->GetValue().ToDouble(&consumMediu); TextCtrl3->GetValue().ToDouble(&pretCombustibil); ConsumulCombustibil calc(distanta, consumMediu, pretCombustibil); double consumTotal = calc.CalculeazaConsumTotal(); double costTotal = calc.CalculeazaCostTotal(); TextCtrl4->SetValue(wxString::Format("%.2f", consumTotal)); TextCtrl5->SetValue(wxString::Format("%.2f", costTotal)); 7. Aria și volumul unei sfere; Sfera.h #ifndef SFERA_H #define SFERA_H #include <cmath> class Sfera { private: double raza; public: Sfera(double r = 0) : raza(r) {} void SetRaza(double r) {raza = r;} double CalculeazaArie() const {return 4 * M_PI * raza * raza;} double CalculeazaVolum() const {return (4.0 / 3.0) * M_PI * std::pow(raza, 3);} }; #endif main.cpp double raza; TextCtrl1->GetValue().ToDouble(&raza); Sfera calc(raza); double arie = calc.CalculeazaArie(); double volum = calc.CalculeazaVolum(); TextCtrl2->SetValue(wxString::Format("%.2f", arie)); TextCtrl3->SetValue(wxString::Format("%.2f", volum)); 8. Aria și volumul unei piramide; Piramida.h #ifndef PIRAMIDA_H #define PIRAMIDA_H #include <cmath> class Piramida { private: double baza, inaltime, inaltimeLaterala; public: Piramida(double b = 0, double h = 0, double hLat = 0) : baza(b), inaltime(h), inaltimeLaterala(hLat) {} void SetDimensiuni(double b, double h, double hLat) {baza = b;inaltime = h;inaltimeLaterala = hLat;} double CalculeazaArie() const {return baza * baza + 4 * (baza * inaltimeLaterala / 2);} double CalculeazaVolum() const {return (baza * baza * inaltime) / 3;} }; #endif main.cpp double baza, inaltime, inaltimeLaterala; TextCtrl1->GetValue().ToDouble(&baza); TextCtrl2->GetValue().ToDouble(&inaltime); TextCtrl3->GetValue().ToDouble(&inaltimeLaterala); Piramida calc(baza, inaltime, inaltimeLaterala); double arie = calc.CalculeazaArie(); double volum = calc.CalculeazaVolum(); TextCtrl4->SetValue(wxString::Format("%.2f", arie)); TextCtrl5->SetValue(wxString::Format("%.2f", volum)); 9. Aria și volumul unui cilindru; Cilindru.h #ifndef CILINDRU_H #define CILINDRU_H #include <cmath> class Cilindru { private: double raza, inaltime; public: Cilindru(double r = 0, double h = 0) : raza(r), inaltime(h) {} void SetDimensiuni(double r, double h) {raza = r;inaltime = h;} double CalculeazaArie() const {return 2 * M_PI * raza * (raza + inaltime);} double CalculeazaVolum() const {return M_PI * raza * raza * inaltime;} }; #endif main.cpp double raza, inaltime; TextCtrl1->GetValue().ToDouble(&raza); TextCtrl2->GetValue().ToDouble(&inaltime); Cilindru calc(raza, inaltime); double arie = calc.CalculeazaArie(); double volum = calc.CalculeazaVolum(); TextCtrl3->SetValue(wxString::Format("%.2f", arie)); TextCtrl4->SetValue(wxString::Format("%.2f", volum)); 10. Energia cinetcă și potențială; Energie.h #ifndef ENERGIE_H #define ENERGIE_H class Energie { private: double masa; double viteza; double inaltime; const double g = 9.81; public: Energie(double m = 0, double v = 0, double h = 0) : masa(m), viteza(v), inaltime(h) {} void SetDate(double m, double v, double h) {masa = m;viteza = v;inaltime = h;} double CalculeazaEnergieCinetica() const {return 0.5 * masa * viteza * viteza;} double CalculeazaEnergiePotentiala() const {return masa * g * inaltime;} }; #endif main.cpp double masa, viteza, inaltime; TextCtrl1->GetValue().ToDouble(&masa); TextCtrl2->GetValue().ToDouble(&viteza); TextCtrl3->GetValue().ToDouble(&inaltime); Energie calc(masa, viteza, inaltime); double energieCinetica = calc.CalculeazaEnergieCinetica(); double energiePotentiala = calc.CalculeazaEnergiePotentiala(); TextCtrl4->SetValue(wxString::Format("%.2f", energieCinetica)); TextCtrl5->SetValue(wxString::Format("%.2f", energiePotentiala)); 11. Media aritmetcă și geometrică a 5 numere; Medie.h #ifndef MEDIE_H #define MEDIE_H #include <cmath> class Medie { private: double n1, n2, n3, n4, n5; public: Medie(double num1, double num2, double num3, double num4, double num5) : n1(num1), n2(num2), n3(num3), n4(num4), n5(num5) {} double CalculeazaMedieAritmetica() const {return (n1 + n2 + n3 + n4 + n5) / 5.0;} double CalculeazaMedieGeometrica() const {double produs = n1 * n2 * n3 * n4 * n5;return exp(log(produs) / 5);} }; #endif main.cpp double n1, n2, n3, n4, n5; TextCtrl1->GetValue().ToDouble(&n1); TextCtrl2->GetValue().ToDouble(&n2); TextCtrl3->GetValue().ToDouble(&n3); TextCtrl4->GetValue().ToDouble(&n4); TextCtrl5->GetValue().ToDouble(&n5); Medie calc(n1, n2, n3, n4, n5); double medieAritmetica = calc.CalculeazaMedieAritmetica(); double medieGeometrica = calc.CalculeazaMedieGeometrica(); TextCtrl6->SetValue(wxString::Format("%.2f", medieAritmetica)); TextCtrl7->SetValue(wxString::Format("%.2f", medieGeometrica)); 12. Media ponderată a 5 numere; MediePonderata.h #ifndef MEDIE_PONDERATA_H #define MEDIE_PONDERATA_H class MediePonderata { private: double n1, n2, n3, n4, n5; double p1, p2, p3, p4, p5; public: MediePonderata(double num1, double num2, double num3, double num4, double num5, double pon1, double pon2, double pon3, double pon4, double pon5) : n1(num1), n2(num2), n3(num3), n4(num4), n5(num5), p1(pon1), p2(pon2), p3(pon3), p4(pon4), p5(pon5) {} double CalculeazaMediePonderata() const { double sumaNumerePonderate = n1 * p1 + n2 * p2 + n3 * p3 + n4 * p4 + n5 * p5; double sumaPonderi = p1 + p2 + p3 + p4 + p5; return sumaNumerePonderate / sumaPonderi;} }; #endif main.cpp double n1, n2, n3, n4, n5; double p1, p2, p3, p4, p5; TextCtrl1->GetValue().ToDouble(&n1); TextCtrl2->GetValue().ToDouble(&n2); TextCtrl3->GetValue().ToDouble(&n3); TextCtrl4->GetValue().ToDouble(&n4); TextCtrl5->GetValue().ToDouble(&n5); TextCtrl6->GetValue().ToDouble(&p1); TextCtrl7->GetValue().ToDouble(&p2); TextCtrl8->GetValue().ToDouble(&p3); TextCtrl9->GetValue().ToDouble(&p4); TextCtrl10->GetValue().ToDouble(&p5); MediePonderata calc(n1, n2, n3, n4, n5, p1, p2, p3, p4, p5); double mediePonderata = calc.CalculeazaMediePonderata(); TextCtrl11->SetValue(wxString::Format("%.2f", mediePonderata)); 13. Dobânda unui depozit la termen; Dobanda.h #ifndef DOBANDA_H #define DOBANDA_H class Dobanda { private: double suma; double rata; int durata; public: Dobanda(double s = 0, double r = 0, int d = 0) : suma(s), rata(r), durata(d) {} void SetDate(double s, double r, int d) {suma = s; rata = r; durata = d;} double CalculeazaDobandaSimpla() const {return suma * rata / 100.0 * durata;} double CalculeazaDobandaCompusa() const {return suma * std::pow(1 + rata / 100.0, durata) - suma;} }; #endif main.cpp double suma, rata; int durata; TextCtrl1->GetValue().ToDouble(&suma); TextCtrl2->GetValue().ToDouble(&rata); TextCtrl3->GetValue().ToLong((long*)&durata); Dobanda calc(suma, rata, durata); double dobandaSimpla = calc.CalculeazaDobandaSimpla(); double dobandaCompusa = calc.CalculeazaDobandaCompusa(); TextCtrl4->SetValue(wxString::Format("%.2f", dobandaSimpla)); TextCtrl5->SetValue(wxString::Format("%.2f", dobandaCompusa)); 14. Conversia valutară pentru 5 monede; ConversieValutara.h #ifndef CONVERSIE_VALUTARA_H #define CONVERSIE_VALUTARA_H class ConversieValutara { private: double suma; double rata1; double rata2; double rata3; double rata4; double rata5; public: ConversieValutara(double s = 0, double r1 = 0, double r2 = 0, double r3 = 0, double r4 = 0, double r5 = 0) : suma(s), rata1(r1), rata2(r2), rata3(r3), rata4(r4), rata5(r5) {} void SetDate(double s, double r1, double r2, double r3, double r4, double r5) { suma = s; rata1 = r1; rata2 = r2; rata3 = r3; rata4 = r4; rata5 = r5;} double CalculeazaEchivalent1() const {return suma * rata1;} double CalculeazaEchivalent2() const {return suma * rata2;} double CalculeazaEchivalent3() const {return suma * rata3;} double CalculeazaEchivalent4() const {return suma * rata4;} double CalculeazaEchivalent5() const {return suma * rata5;} }; #endif main.cpp double suma, rata1, rata2, rata3, rata4, rata5; TextCtrl1->GetValue().ToDouble(&suma); TextCtrl2->GetValue().ToDouble(&rata1); TextCtrl3->GetValue().ToDouble(&rata2); TextCtrl4->GetValue().ToDouble(&rata3); TextCtrl5->GetValue().ToDouble(&rata4); TextCtrl6->GetValue().ToDouble(&rata5); ConversieValutara calc(suma, rata1, rata2, rata3, rata4, rata5); double echivalent1 = calc.CalculeazaEchivalent1(); double echivalent2 = calc.CalculeazaEchivalent2(); double echivalent3 = calc.CalculeazaEchivalent3(); double echivalent4 = calc.CalculeazaEchivalent4(); double echivalent5 = calc.CalculeazaEchivalent5(); TextCtrl7->SetValue(wxString::Format("%.2f", echivalent1)); TextCtrl8->SetValue(wxString::Format("%.2f", echivalent2)); TextCtrl9->SetValue(wxString::Format("%.2f", echivalent3)); TextCtrl10->SetValue(wxString::Format("%.2f", echivalent4)); TextCtrl11->SetValue(wxString::Format("%.2f", echivalent5)); 15. Salariul net din brut, când se precizează procentul pentru impozit, sănătate și pensie; SalariuNet.h #ifndef SALARIU_NET_H #define SALARIU_NET_H class SalariuNet { private: double salariuBrut; double impozit; double sanatate; double pensie; public: SalariuNet(double brut = 0, double imp = 0, double san = 0, double pen = 0) : salariuBrut(brut), impozit(imp), sanatate(san), pensie(pen) {} void SetDate(double brut, double imp, double san, double pen) { salariuBrut = brut; impozit = imp; sanatate = san; pensie = pen;} double CalculeazaSalariuNet() const { double deduceri = salariuBrut * (impozit + sanatate + pensie) / 100.0; return salariuBrut - deduceri;} }; #endif main.cpp double salariuBrut, impozit, sanatate, pensie; TextCtrl1->GetValue().ToDouble(&salariuBrut); TextCtrl2->GetValue().ToDouble(&impozit); TextCtrl3->GetValue().ToDouble(&sanatate); TextCtrl4->GetValue().ToDouble(&pensie); SalariuNet calc(salariuBrut, impozit, sanatate, pensie); double salariuNet = calc.CalculeazaSalariuNet(); TextCtrl5->SetValue(wxString::Format("%.2f", salariuNet));
Editor is loading...
Leave a Comment