Example 1: how to calculate inverse trigonometric values in c++
* C++ Program to Obtain Inverse of a Trigonometric Ratio
*/
#include <iostream>
#include <cmath>
#include <iomanip>
int main()
{
double value, result;
int choice;
std::cout << "Enter a choice " << std::endl;
std::cout << "1. Inverse Sine" << std::endl;
std::cout << "2. Inverse Cosine" << std::endl;
std::cout << "3. Inverse Tangent" << std::endl;
std::cin >> choice;
switch (choice) {
case 1:
std::cout << "Enter a value ";
std::cin >> value;
std::cout << "asin(val) = " << std::setprecision(3)
<< asin(value) << std::endl;
break;
case 2:
std::cout << "Enter a value ";
std::cin >> value;
std::cout << "acos(val) = " << std::setprecision(3)
<< acos(value) << std::endl;
break;
case 3:
std::cout << "Enter a value ";
std::cin >> value;
std::cout << "atan(val) = " << std::setprecision(3)
<< atan(value) << std::endl;
break;
}
return 0;
}
Example 2: all trigonometric functions with complex numbers in c/c++
#include "stdafx.h"
#include "calc.h"
double INF = DBL_MAX;
double mINF = INF * -1;
void cotan(double x, double y) {
resultR = 0; resultI = 0;
if (x >= mINF && x <= INF && y >= mINF && y <= INF) {
complex_tan(x, y);
division(1.0, 0.0, resultR, resultI);
}
else {
if (rasf > 0) {
printf("\nError in function domain.\n\n ==> For cotangent function the valid domain is {x| x != 0 + kpi, k = ..., -1, 0, 1, ...} \n\n");
printf(" ==> Your function argument: ");
complexNumber(x, y);
}
}
}
void sec(double x, double y) {
resultR = 0; resultI = 0;
if (x >= mINF && x <= INF && y >= mINF && y <= INF) {
complex_cos(x, y);
division(1.0, 0.0, resultR, resultI);
}
else {
if (rasf > 0) {
printf("\nError in function domain.\n\n ==> For secant function the valid domain is {x| x != pi/2 + kpi, k = ..., -1, 0, 1, ...} \n\n");
printf(" ==> Your function argument: ");
complexNumber(x, y);
}
}
}
void cosec(double x, double y) {
resultR = 0; resultI = 0;
if (x >= mINF && x <= INF && y >= mINF && y <= INF) {
complex_sin(x, y);
division(1.0, 0.0, resultR, resultI);
}
else {
if (rasf > 0) {
printf("\nError in function domain.\n\n ==> For cosecant function the valid domain is {x| x != 0 + kpi, k = ..., -1, 0, 1, ...} \n\n");
printf(" ==> Your function argument: ");
complexNumber(x, y);
}
}
}
void arcosec(double x, double y) {
resultR = 0; resultI = 0;
if (x >= mINF && x <= INF && y >= mINF && y <= INF) {
division(1.0, 0.0, x, y);
complex_asin(resultR, resultI);
}
else {
if (rasf > 0) {
printf("\nError in function domain.\n\n ==> For arc cosecant function the valid domain is [-INF, INF] ^ != [-1, 1].\n\n");
printf(" ==> Your function argument: ");
complexNumber(x, y);
}
}
}
void arcsec(double x, double y) {
resultR = 0; resultI = 0;
if (x >= mINF && x <= INF && y >= mINF && y <= INF) {
division(1.0, 0.0, x, y);
complex_acos(resultR, resultI);
}
else {
if (rasf > 0) {
printf("\nError in function domain.\n\n ==> For arc secant function the valid domain is ]-INF, INF[ ^ != [-1, 1].\n\n");
printf(" ==> Your function argument: ");
complexNumber(x, y);
}
}
}
void arcotg(double x, double y) {
resultR = 0; resultI = 0;
if (x >= mINF && x <= INF && y >= mINF && y <= INF) {
division(1.0, 0.0, x, y);
complex_atan(resultR, resultI);
}
else {
if (rasf > 0) {
printf("\nError in function domain.\n\n ==> For arc cotangent function the valid domain is [-INF, INF].\n\n");
printf(" ==> Your function argument: ");
complexNumber(x, y);
}
}
}
void complex_cos(double x, double y) {
resultR = 0; resultI = 0;
if (x >= mINF && x <= INF && y >= mINF && y <= INF) {
exponentiation(M_E, 0.0, -1 * y, x, 1);
double napR = resultR, napI = resultI;
exponentiation(M_E, 0.0, y, -1 * x, 1);
double nap2R = resultR, nap2I = resultI;
sum(napR, napI, nap2R, nap2I);
double sumR = resultR, sumI = resultI;
division(sumR, sumI, 2.0, 0.0);
}
else {
if (rasf > 0) {
printf("\nError in function domain.\n\n ==> For cosine function the valid domain is [-INF, INF].\n\n");
printf(" ==> Your function argument: ");
complexNumber(x, y);
}
}
}
Example 3: how to calculate trigonometric values in c++
*
* C++ Program to Illustrate Trigonometric functions
*/
#include <iostream>
#include <iomanip>
#include <cmath>
const double PI = 3.14159265;
int main()
{
double degrees, radians;
std::cout << "Enter angle in degrees ";
std::cin >> degrees;
radians = degrees * PI / 180.0;
std::cout << "Value of trigonometric ratios " << std::endl;
std::cout << "cos(radians) = " << std::setprecision(3)
<< cos(radians) << std::endl;
std::cout << "sin(radians) = " << std::setprecision(3)
<< sin(radians) << std::endl;
std::cout << "tan(radians) = " << std::setprecision(3)
<< tan(radians) << std::endl;
return 0;
}