Linguaggio Basic e C/C++ – Risoluzione Equazione II grado

Equazioni di II Grado – Codifica in C++


#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main (void) {
	float A, B, C; // coefficienti dell'equazione
	float x1, x2; // radici dell'equazione
	float Appoggio;
        cout << endl << "Inserire il valore del coefficiente 'a': ";
        cin >> A;
        cout << endl << "Inserire il valore del coefficiente 'b': ";
        cin >> B;
        cout << endl << "Inserire il valore del coefficiente 'c': ";
        cin >> C;
        cout << endl << " - - - ";
        cout << endl << "I valori inseriti sono: a = " << A << "; b = " << B << "; c = " << C;
        cout << endl << " - - - ";
        if (C == 0) {
            if (B == 0) {
                cout << endl << "Equazione MONOMIA";
                cout << endl << "x_1 = x_2 = 0";
             }
            else
        		{
                cout << endl << "Equazione SPURIA";
                x2 = (-B) / (A);
                cout << endl << std::setprecision(2) << std::fixed << "x_1 = 0; x_2 = " << x2;
            }
         }
        else
        		{
            if (B == 0) {
               if ((A * C) < 0) {
                    Appoggio = -C / A;
                    cout << endl << "Equazione PURA";
                    x1 = sqrt(Appoggio);
                    x2 = -x1;
                    cout << endl << std::setprecision(2) << std::fixed << "x_1 = " << x1 << "; x_2 = " << x2;
	             }
               else
        		{
                    cout << endl << "I coefficienti a = " << A << " e c = " << C << " sono concordi";
                    cout << endl << "Equazione IMPOSSIBILE";
				}
                }
            else
        		{
                cout << endl << "Equazione COMPLETA";
                int Delta;
                Delta = B * B - 4 * A * C;
                if (Delta == 0) {
                    x1 = (-(B) / (2*A));
                    cout << endl << "Il Determinante risulta uguale a zero";
                    cout << endl << std::setprecision(2) << std::fixed << "x_1 = x_2 = " << x1;
                }
	             else
        			{
                    if (Delta < 0) {
                        cout << endl << "Il Determinante risulta negativo e vale " << Delta;
                        cout << endl << "Equazione IMPOSSIBILE";
			             }
                    else
        					{
                        Appoggio = sqrt(Delta);
                        x1 = (-B + Appoggio) / (2 * A);
                        x2 = (-B - Appoggio) / (2 * A);
                        cout << endl << "Il Determinante risulta positivo e vale " << Delta;
                        cout << endl << std::setprecision(2) << std::fixed << "x_1 = " << x1 << "; x_2 = " << x2;
                    }
                }
            }
        }
   cout << endl << endl << endl;

      system ("pause");
    return 0;
}



Visite: 795

Pagine: 1 2 3 4