how to find the exact value of each trigonometric function code example

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;
    // Trigonometric functions accept angles in radians
    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;
}

Tags:

Cpp Example