На языке С++!

Составить программу для решения уравнений трёх видов:


7.1 ax^4 + bx^2 + c = 0;


7.2 ax^4 + bx^3 + cx^2 + bx + a = 0


7.3 x^3 + px + q = 0


то есть составить общий код для этих трех уравнений.


я написал код, но если ввожу 0 1 0 вместо a, b, c, то получается ошибка, что значит не все случаи рассмотрены, помогите пожалуйста с этим!


#include

#include


using namespace std;

int main()

{

setlocale(LC_ALL, "RU");

double a, b, c, d, p, q, x1, x2;

int n = 0;

cout << "Введите номер уравнения: ";

cin >> n;


switch (n)

{

case 1:

cout << "Введите a, b, c: " << endl;

cin >> a >> b >> c;

d = b * b - 4 * a * c;

if (d > 0)

{

x1 = (-b + sqrt(d)) / (2 * a);

x2 = (-b - sqrt(d)) / (2 * a);

cout << "x1 = " << x1 << ", x2 = " << x2 << endl;

}

else if (d == 0)

{

x1 = -b / (2 * a);

cout << "x1 = x2 = " << x1 << endl;

}

else

{

cout << "Корней нет" << endl;

}

break;

case 2:

cout << "Введите a, b, c: " << endl;

cin >> a >> b >> c;

d = b * b - 4 * a * c;

if (d > 0)

{

x1 = (-b + sqrt(d)) / (2 * a);

x2 = (-b - sqrt(d)) / (2 * a);

cout << "x1 = " << x1 << ", x2 = " << x2 << endl;

}

else if (d == 0)

{

x1 = -b / (2 * a);

cout << "x1 = x2 = " << x1 << endl;

}

else

{

cout << "Корней нет" << endl;

}

break;

case 3:

cout << "Введите p, q: " << endl;

cin >> p >> q;

d = p * p - 4 * q;

if (d > 0)

{

x1 = (-p + sqrt(d)) / 2;

x2 = (-p - sqrt(d)) / 2;

cout << "x1 = " << x1 << ", x2 = " << x2 << endl;

}

else if (d == 0)

{

x1 = -p / 2;

cout << "x1 = x2 = " << x1 << endl;

}

else

{

cout << "Корней нет" << endl;

}

break;


default:

cout << "Нет такого уравнения" << endl;

}

return 0;

}
Please enter comments
Please enter your name.
Please enter the correct email address.
You must agree before submitting.

Answers & Comments


Copyright © 2024 SCHOLAR.TIPS - All rights reserved.