Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdlib>
- #include <iostream>
- #include <math.h>
- using namespace std;
- int main(int argc, char *argv[])
- {
- double a, b, c, delta, sdelta, x1, x2;
- int enquanto;
- /*
- a = termo de x²;
- b = termo de x;
- c = termo independente;
- delta = discriminante;
- sdelta= raíz quadrada de delta;
- x1 = primeira raíz;
- x2 = segunda raíz;
- */
- do{
- cout<<"Digite a: "<<endl;
- cin>>a;
- cout<<"Digite b: "<<endl;
- cin>>b;
- cout<<"Digite c: "<<endl;
- cin>>c;
- if(a == 0){
- cout<<"A = 0. Equação inválida."<<endl;
- /* A premissa para a equação ser de segundo grau é justamente o termo de x² ser maior do que 0. Portanto,
- se a = 0, a equação é inválida.
- */
- cout<<"Se deseja tentar novamente, digite 5."<<endl;
- cin>>enquanto;
- }else{
- delta = b * b - (4 * a * c);
- sdelta = sqrt(delta);
- if(delta < 0){
- cout<<"Delta é menor do que 0. S = vazio."<<endl;
- cout<<"Se deseja tentar novamente, digite 5."<<endl;
- cin>>enquanto;
- /*
- Para resolver a equação, delta precisa ser maior ou igual a 0, pois a solução da equação depende da raíz quadrada
- do descriminante, e o conjunto dos números reais não consegue explicar a raíz quadrada de números
- negativos.
- */
- }else{
- cout<<"Delta: "<<delta<<endl;
- cout<<"Raíz quadrada de delta: "<<sdelta<<endl;
- x1 = (-b + sdelta) / (2*a);
- x2 = (-b - sdelta) / (2*a);
- cout<<"Primeira raíz: "<<x1<<endl;
- cout<<"Segunda raíz: "<<x2<<endl;
- if(x1 > x2){
- // Determinando o conjunto solução (S) ou conjunto verdade (V) a partir da ordem dos números
- cout<<"S = ("<<x2<<", "<<x1<<")"<<endl;
- }else if(x1 == x2){
- cout<<"S = ("<<x1<<")"<<endl;
- }else{
- cout<<"S = ("<<x1<<", "<<x2<<")"<<endl;
- }
- if(b == 0 || c == 0){
- cout<<"Equação incompleta."<<endl;
- }else{
- cout<<"Equação completa."<<endl;
- }
- cout<<"Se deseja tentar novamente, digite 5."<<endl;
- cin>>enquanto;
- }
- }
- }while(enquanto == 5);
- system("PAUSE");
- return EXIT_SUCCESS;
- }
Advertisement
Add Comment
Please, Sign In to add comment