#include #include #include #include void unlockInput() { const char endOfInputCharacter = '\n'; char currentCharOnInput = 0; while (endOfInputCharacter != currentCharOnInput) { currentCharOnInput = getchar(); } } double readDouble(const char* askString, const char* onWrongInputString) { double returnValue; const int successCode = 1; int inputOperationCode; bool isInputCorrect = false; while (false == isInputCorrect) { printf("%s", askString); inputOperationCode = scanf("%lf", &returnValue); unlockInput(); if (successCode == inputOperationCode) { isInputCorrect = true; } else { printf("Input Error: %s\n", onWrongInputString); } } return returnValue; } double calculate(const double s) { const double xInDegees = 60.0; const double xInRadian = xInDegees * M_PI / 180.0; const double x = tan(xInRadian); const double firstBrackets = pow((pow(cos(x), 2) - log(x + 1)), 3); const double secondBrackets = fabs(x - s * log(pow(x, 2) - 1)); const double y = firstBrackets - secondBrackets * 1.5 * pow(10, -3); return y; } int main() { double numberSvalue; double numberYvalue; numberSvalue = readDouble("Enter S value: ", "Wrong value. Please, enter number again."); numberYvalue = calculate(numberSvalue); printf("Result is: %lf\n", numberYvalue); return 0; }