LABA 1_ZASHITA
.docx
ЦЕЛЬ: Добиться того, чтобы пока пользовательн не введет верные данные для решения, программа будет запрашивать ввод заново!!
// LABA1.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.
// лабораторная работа 1 6 вариант БРТ2102 студент Епифанов Георгий Юрьевич
#include <iostream>
#include <cmath>
double z = 0;
double y = 0;
bool foo(double a, double alfa);
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
double a1, alfa;
cout << "Введите значение a_1\n";
cin >> a1; cout << "\n"; // ввод переменной a1
cout << "Введите значение alfa\n";
cin >> alfa; cout << "\n"; // ввод переменной alfa
while (!foo(a1, alfa)) {
cout << "Error" << endl;
cout << "Введите значение a_1\n";
cin >> a1; cout << "\n"; // ввод переменной a1
cout << "Введите значение alfa\n";
cin >> alfa; cout << "\n";
}
cout << "z1 = " << z << "\n"
<< "z2 = " << z << "\n"
<< "y1 = " << y << "\n"
<< "y2 = " << y << "\n";
}
bool foo(double a1, double alfa)
{
double z1, z2, y1, y2, t1, t2, t3, t4, t5, k1, k2, k3;
t1 = 2 * (1 + sqrt(a1));
t2 = 2 * (1 - sqrt(a1));
t3 = a1 * a1 + 2;
t4 = 1 - pow(a1, 3);
t5 = t3 / t4;
z1 = (1 / t1) + (1 / t2) - t5;
////////////////////////////////////
k1 = (pow(a1, 2) + a1 + 1);
z2 = -(1 / k1);
////////////////////////////////////
k2 = 1 + 1 / (tan(2 * alfa)) * 1 / (tan(alfa));
k3 = tan(alfa) + 1 / (tan(alfa));
y1 = k2 / k3;
///////////////////////////////////
y2 = 0.5 * 1 / (tan(alfa));
z = z1;
y = y1;
return a1 > 0 && t1 != 0 && t2 != 0 && t4 != 0 && k1 != 0 && k3 != 0;
}