C++ program to build a trigonometric calculator

In this tutorial, we are going to make a Trigonometric Calculator using C++. Here, we will calculate basic trigonometric functions and their inverse and it can take input from users in degree as well as in radian.

Algorithm for creating the program

  • We will take input as a whole string as “sin 90” and will give output
  • We will create a user-defined function to take out ”90″ from the string.
  • Then, we will give it as an argument to the pre-defined trigonometric function.
  • We will use switch-case to compare the string to give output accordingly

C++ Code for trigonometric calculator

#include<iostream>
#include<cmath>

using namespace std;

const float pie = 3.141;
#define degree(x) (x*pie)/180

float input(int m,char ch[20])
{
int i=3,j=0; char temp[10];
while(ch[i] !='\0')
  {
  if(ch[i]==' ') {i++; break;}
  i++;
  }
while(ch[i]!='\0')
 {
 temp[j]=ch[i];
 j++;i++;
 }
if(m==1) return degree(atoi(temp));
else if(m==2) return atoi(temp);
else return 0;
}

int main()
{
int m; char ch[20];

cout<<"*************** Welcome To Trignometric Calculater ***************";
cout<<"\nChoose the Input MODE:\n1) Degree\n2) Radian\n";
cin>>m;
if(m<1&&m>2)
{
cout<<"Invalid Choice ! Choose again\n";
cin>>m;
}
cout<<"\nEnter the input as 'sin 90' and 'asin 0.5' for invrse and 'exit' to exit:\n";
while(1){
cout<<"\nInput: ";
gets(ch);
if(ch[0]=='e') exit(0);
switch(ch[0])
{
case 's': cout<<"Output: "<<sin(input(m,ch));
    break;
case 'c': cout<<"Output: "<<cos(input(m,ch));
    break;
case 't': cout<<"Output: "<<tan(input(m,ch));
    break;
case 'a': switch(ch[1])
   {
   case 's': cout<<"Output: "<<sin(input(m,ch));
       break;
   case 'c': cout<<"Output: "<<cos(input(m,ch));
       break;
   case 't': cout<<"Output: "<<tan(input(m,ch));
       break;
   };
   break;
default: cout<<"Invalid Input! Retry";
};
}
return 0;
}

Pre-defined function used to build a trigonometric calculator

  • atio(): This function converts a string into an integer.

Output:

********** Welcome To Trignometric Calculater **********
Choose the Input MODE:
1) Degree
2) Radian
1

Enter the input as 'sin 90' and 'asin 0.5' for inverse and 'exit' to exit:

Input: sin 90
Output: 1
Input: cos 60
Output: 0.5
Input: abc
Invalid Input! Retry
Input: exit

Leave a Reply

Your email address will not be published. Required fields are marked *