Resultados 1 a 6 de 6

Tópico: [Source] Programa resolutivo da equação de segundo grau (Bhaskara)

  1. #1
    Newbie
    Data de Ingresso
    Aug 2009
    Posts
    31
    Post Thanks / Like

    Thumbs up [Source] Programa resolutivo da equação de segundo grau (Bhaskara)

    Resolvi postar esse programa que resolve a equação de segundo grau através da fórmula resolutiva (erroneamente) conhecida como Bhaskara.
    (ele também escreve todo o desenvolvimento)
    PS: foi o meu primeiro programa em C++ (e único até o momento xD), por isso deve conter alguns erros, mas espero sinceramente que vocês gostem!
    Código:
    #include <iostream>
    #include <math.h>
    
    
    using namespace std;
    
    
    int main()
    {
        cout << "-=============================================-" << endl;
        cout << "-=============== BHASKARATOR =================-" << endl;
        cout << "-=============================================-" << endl;
    
        cout << "Programa resolutivo da equacao de segundo grau:" << endl;
        cout << "ax^2 + bx + c = 0" << endl;
        cout << "~~~~~ ~~~~~ ~~~~~~~~" << endl;
        int a;
        cout << "Entre com a:" ;
        cin >> a;
        int b;
        cout << "Entre com b:";
        cin >> b;
        int c;
        cout << "Entre com c:";
        cin >> c;
        cout << "Calculando..." << endl;
        cout << "~~~~~~~~~~~~~ ~~~~" << endl;
        int delta;
        delta = b * b - 4 * (a * c);
        cout << "Delta = b^2 - 4 * (a * c)" << endl;
        cout << "Delta = " << b << "^2 - 4 * (" << a << " * " << c << ")" << endl;
        cout << "Delta = " << b * b << " - 4 * (" << a * c << ")" << endl;
        cout << "Delta = " << b * b << " - " << 4 * (a * c) << endl;
        cout << "Delta = " << delta << endl;
        if (delta < 0)
        {
            cout << "Raiz impossivel!" << endl;
            system("PAUSE");
            return 0;
        }
        int xlinha;
        xlinha = (-b + sqrt(delta)) / (2 * a);
        cout << "x' = (-b + raiz(delta)) / (2 * a)" << endl;
        cout << "x' = (" << -b << " + raiz(" << delta << ") / (2 * " << a << ")" << endl;
        cout << "x' = (" << -b << " + " << sqrt(delta) << ") / " << 2 * a << endl;
        cout << "x' = " << -b + sqrt(delta) << " / " << 2 * a << endl;
        cout << "x' = " << xlinha << endl;
        int xduaslinhas;
        xduaslinhas = (-b - sqrt(delta)) / (2 * a);
        cout << "x'' = (-b - raiz(delta)) / (2 * a)" << endl;
        cout << "x'' = (" << -b << " - raiz(" << delta << ") / (2 * " << a << ")" << endl;
        cout << "x'' = (" << -b << " - " << sqrt(delta) << ") / " << 2 * a << endl;
        cout << "x'' = " << -b - sqrt(delta) << " / " << 2 * a << endl;
        cout << "x'' = " << xduaslinhas << endl;
        system("PAUSE");
        return 0;
    }

  2. #2
    Moderador ingresso Avatar de _Guga_
    Data de Ingresso
    Apr 2006
    Localização
    Salvador - BA
    Posts
    2.136
    Post Thanks / Like
    muito legal!!! ^^

    críticas construtivas:

    1º já que vc está utilizando a linguagem C++, para vc incluir as funções matemáticas, dê um include em <cmath> ao invez de math.h, o math.h, é o header da linguagem C que contém definições de macros, constantes, e declarações de funções e tipos usados por várias operações matemáticas. ++, por razões de compatibilidade, inclui math.h como <cmath>, o qual declara funções do math.h e tipos dentro do namespace std. Em outras palavras, usar math.h nesse programa estara mesclando C com C++, e cmath, estara, por padrao utilizando apenas C++ ^^'

    2º ser um programa C++, fica bastante contraproducente vc implementar todas as suas caracteristicas funcionais dentro da função main, o ideal seria se vc pudesse "quebrar" seu código em funções ou classes separadas por headers ( .h ou .hpp ) e seus respectivos .cpp

    3º vc esta trabalhando com números, e o tipo int não é capaz de representar, por exemplo, números decimais, o ideal para o seu programa que calcula equações de 2º grau seriam os tipos float, double ou long double, sendo os dois ultimos os mais recomendáveis para esse caso.


    enfim é só, e parabéns novamente! ^^'

    abração
    I must not fear. Fear is the mind killer.

  3. #3
    Old School ingresso Avatar de fvox
    Data de Ingresso
    Sep 2005
    Localização
    São Paulo - SP
    Posts
    4.486
    Post Thanks / Like
    Hi.

    Esperamos que seja o primeiro de muitos.
    Tem encontrado dificuldades ou tá tudo suave por enquanto? =p

    Good luck. ;-)

    []'s
    Acha que está caindo na insanidade? Mergulhe!

    Twitter | Blog | Facebook | Github

  4. #4
    Newbie
    Data de Ingresso
    May 2011
    Localização
    São Paulo
    Posts
    62
    Post Thanks / Like
    Citação Postado originalmente por _Guga_ Ver Post
    muito legal!!! ^^

    críticas construtivas:

    1º já que vc está utilizando a linguagem C++, para vc incluir as funções matemáticas, dê um include em <cmath> ao invez de math.h, o math.h, é o header da linguagem C que contém definições de macros, constantes, e declarações de funções e tipos usados por várias operações matemáticas. ++, por razões de compatibilidade, inclui math.h como <cmath>, o qual declara funções do math.h e tipos dentro do namespace std. Em outras palavras, usar math.h nesse programa estara mesclando C com C++, e cmath, estara, por padrao utilizando apenas C++ ^^'
    Po, não conhecia essa <cmath>, muito util esse comentario..
    Guga manda muito bem em C

  5. #5
    Newbie
    Data de Ingresso
    Aug 2009
    Posts
    31
    Post Thanks / Like
    Muito obrigado pelas dicas e pela atenção de vocês!
    Vou tentar melhorar o código, depois posto aqui

  6. #6
    Novato
    Data de Ingresso
    Aug 2009
    Localização
    peabiru
    Posts
    10
    Post Thanks / Like
    Citação Postado originalmente por Raza Ver Post
    Resolvi postar esse programa que resolve a equação de segundo grau através da fórmula resolutiva (erroneamente) conhecida como Bhaskara.
    (ele também escreve todo o desenvolvimento)
    PS: foi o meu primeiro programa em C++ (e único até o momento xD), por isso deve conter alguns erros, mas espero sinceramente que vocês gostem!
    Código:
    #include <iostream>
    #include <math.h>
    
    
    using namespace std;
    
    
    int main()
    {
        cout << "-=============================================-" << endl;
        cout << "-=============== BHASKARATOR =================-" << endl;
        cout << "-=============================================-" << endl;
    
        cout << "Programa resolutivo da equacao de segundo grau:" << endl;
        cout << "ax^2 + bx + c = 0" << endl;
        cout << "~~~~~ ~~~~~ ~~~~~~~~" << endl;
        int a;
        cout << "Entre com a:" ;
        cin >> a;
        int b;
        cout << "Entre com b:";
        cin >> b;
        int c;
        cout << "Entre com c:";
        cin >> c;
        cout << "Calculando..." << endl;
        cout << "~~~~~~~~~~~~~ ~~~~" << endl;
        int delta;
        delta = b * b - 4 * (a * c);
        cout << "Delta = b^2 - 4 * (a * c)" << endl;
        cout << "Delta = " << b << "^2 - 4 * (" << a << " * " << c << ")" << endl;
        cout << "Delta = " << b * b << " - 4 * (" << a * c << ")" << endl;
        cout << "Delta = " << b * b << " - " << 4 * (a * c) << endl;
        cout << "Delta = " << delta << endl;
        if (delta < 0)
        {
            cout << "Raiz impossivel!" << endl;
            system("PAUSE");
            return 0;
        }
        int xlinha;
        xlinha = (-b + sqrt(delta)) / (2 * a);
        cout << "x' = (-b + raiz(delta)) / (2 * a)" << endl;
        cout << "x' = (" << -b << " + raiz(" << delta << ") / (2 * " << a << ")" << endl;
        cout << "x' = (" << -b << " + " << sqrt(delta) << ") / " << 2 * a << endl;
        cout << "x' = " << -b + sqrt(delta) << " / " << 2 * a << endl;
        cout << "x' = " << xlinha << endl;
        int xduaslinhas;
        xduaslinhas = (-b - sqrt(delta)) / (2 * a);
        cout << "x'' = (-b - raiz(delta)) / (2 * a)" << endl;
        cout << "x'' = (" << -b << " - raiz(" << delta << ") / (2 * " << a << ")" << endl;
        cout << "x'' = (" << -b << " - " << sqrt(delta) << ") / " << 2 * a << endl;
        cout << "x'' = " << -b - sqrt(delta) << " / " << 2 * a << endl;
        cout << "x'' = " << xduaslinhas << endl;
        system("PAUSE");
        return 0;
    }

    Tomei a liberdade de mexer no seu codigo ja que não consegui rodar ele no codeblocks.
    Código PHP:
      #include <iostream>
            #include <cmath>

            
    using namespace std;

            
    int main()
            {
                
    cout << "-=============================================-" << endl;
                
    cout << "-=============== BHASKARATOR =================-" << endl;
                
    cout << "-=============================================-" << endl;

                
    cout << "Programa resolutivo da equacao de segundo grau:" << endl;
                
    cout << "ax^2 + bx + c = 0" << endl;
                
    cout << "~~~~~ ~~~~~ ~~~~~~~~" << endl;
                
    int a;
                
    cout << "Entre com a:" ;
                
    cin >> a;
                
    int b;
                
    cout << "Entre com b:";
                
    cin >> b;
                
    int c;
                
    cout << "Entre com c:";
                
    cin >> c;
                
    cout << "Calculando..." << endl;
                
    cout << "~~~~~~~~~~~~~ ~~~~" << endl;
                
    int delta;
                
    delta * (c);
                
    cout << "Delta = b^2 - 4 * (a * c)" << endl;
                
    cout << "Delta = " << << "^2 - 4 * (" << << " * " << << ")" << endl;
                
    cout << "Delta = " << << " - 4 * (" << << ")" << endl;
                
    cout << "Delta = " << << " - " << * (c) << endl;
                
    cout << "Delta = " << delta << endl;
                if (
    delta 0)
                {
                    
    cout << "Raiz impossivel!" << endl;

                    return 
    0;
                }
                
    int x1;
                
    x1 = (-sqrt(delta) / (a));
                
    cout << "x' = (-b + raiz(delta)) / (2 * a)" << endl;
                
    cout << "x' = (" << -<< " + raiz(" << delta << ") / (2 * " << << ")" << endl;
                
    cout << "x' = (" << -<< " + " << sqrt(delta) << ") / " << << endl;
                
    cout << "x' = " << -sqrt(delta) << " / " << << endl;
                
    cout << "x' = " << x1 << endl;
                
    int x2;
                
    x2 = (-sqrt(delta)) / (a);
                
    cout << "x'' = (-b - raiz(delta)) / (2 * a)" << endl;
                
    cout << "x'' = (" << -<< " - raiz(" << delta << ") / (2 * " << << ")" << endl;
                
    cout << "x'' = (" << -<< " - " << sqrt(delta) << ") / " << << endl;
                
    cout << "x'' = " << -sqrt(delta) << " / " << << endl;
                
    cout << "x'' = " << x2 << endl;

                return 
    0;
            } 
    Última edição por str0p; 01 Jun 2014 às 16:22.

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •