Вот мой вариант проги:
Код:

int x2yravn ()
{
double a, b, c, x1, x2;
double error;
unsigned short int back;
cout << "Ввод уравнения: " << endl;
cout << endl << "(a=) ";
cin >> a;
cout << "(b=) ";
cin >> b;
cout << "(c=) ";
cin >> c;
error = GetX2yravn (a, b, c, &x1, &x2);
if (!error)
{
backer ();
}
else
{
cout << endl << "Ошибка! а=0, уравнение не квадратное" << endl;
}
char response;
cin >> response;
return 0;
}
// Функция нахождения корней
double GetX2yravn (double a, double b, double c, double *px1, double *px2)
{
double value = 0;
if (a == 0)
value = 1;
else
{
double D;
D = b*b - 4*a*c;
cout << endl << "Дискриминант равен " << D << endl;
if (D < 0)
{
cout << "=====РЕЗУЛЬТАТ============================================";
cout << endl << "Корней не найдено, дискриминант меньше ноля" << endl;
cout << "==========================================================" << endl;
}
if (D == 0)
{
*px1 = -b / (2*a);
cout << "=====РЕЗУЛЬТАТ============================================";
cout << endl << "Найден один корень, x = " << *px1 << endl;
cout << "==========================================================" << endl;
}
if (D > 0)
{
*px1 = (-b + sqrt(D)) / (2*a);
*px2 = (-b - sqrt(D)) / (2*a);
cout << "=====РЕЗУЛЬТАТ============================================";
cout << endl << "Найдено два корня, x1 = " << *px1 << ", x2 = " << *px2 << endl;
cout << "==========================================================" << endl;
}
value = 0;
}
return value;
//----Функция возврата------------------------------------------------------------------------------
int backer ()
{
unsigned short int back;
cout << endl << endl<< "Вернуться в главное меню? (Да - 1, Нет - 2)";
cin >> back;
cout << endl << endl;
switch (back)
{
case 1:
{
cout << "-----END---------------------------------------------------------";
cout << endl << endl << endl << endl << endl << endl << endl;
return int x2yravn();
}
break;
case 2:
{
cout << endl << "Можете закрыть программу.";
char response;
cin >> response;
return 0;
}
break;
default:
{
cout << endl << "<Ошибка! Введите коректное число!>" << endl << endl;
return backer ();
}
}
}