Per declarar una variable de tipus enter utilitzem , mentre que per declarar un nombre decimal fem servir . Les funcions en C++ es defineixen amb la paraula clau seguit del tipus de retorn. Per llegir dades de l'usuari s'utilitza , i per mostrar dades s'utilitza . Els bucles en C++ inclouen per repetir un bloc de codi fins que una condició sigui falsa, i que s'executa almenys una vegada. Per definir una classe fem servir la paraula clau . Per crear un objecte d'una classe utilitzem seguit del nom de la classe. Per sobrecarregar una funció, simplement definim diverses versions de la mateixa funció amb diferent o diferent . Per gestionar memòria dinàmica utilitzem per reservar memòria i per alliberar-la. Les biblioteques estàndard es poden incloure amb la directiva . Els comentaris d'una sola línia s'escriuen amb i els comentaris de múltiples línies es delimiten amb . Per utilitzar l'espai de noms estàndard, emprem . Per controlar les estructures de decisió, utilitzem , , i .
#include <iostream>
#include <cmath>
#include <complex>
using namespace std;
void solveQuadratic(double a, double b, double c) {
double discriminant = b*b - 4*a*c;
complex<double> root1, root2;
if (discriminant >= 0) {
root1 = (-b + sqrt(discriminant)) / (2*a);
root2 = (-b - sqrt(discriminant)) / (2*a);
} else {
root1 = complex<double>(-b / (2*a), sqrt(-discriminant) / (2*a));
root2 = complex<double>(-b / (2*a), -sqrt(-discriminant) / (2*a));
}
cout << "Les arrels de l'equació són: " << root1 << " i " << root2 << endl;
}
int main() {
double a, b, c;
cout << "Introdueix els coeficients a, b i c: ";
cin >> a >> b >> c;
if (a == 0) {
cout << "El coeficient 'a' no pot ser zero." << endl;
} else {
solveQuadratic(a, b, c);
}
return 0;
}