Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для XEN_STRANGER

Старожил


Сообщения: 158
Благодарности: 4

Профиль | Отправить PM | Цитировать


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


Код: Выделить весь код
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 ();
		}
	}
}

Последний раз редактировалось Drongo, 24-03-2009 в 11:23. Причина: Тег [code]...[/code] #


Отправлено: 11:08, 24-03-2009 | #27