TOPIC:-
SCIENTIFIC CALCULATOR
PURPOSE:-
To create scientific calculator class to perform the task related to scientific calculations. Which include finding square or cube etc.
The scientific calculator perform following task:-
1. Determine the square of the number.
2. Determine the square root of the number
3. Determine the first number power of the second number
4. Determine the factorial of a number
5. Determine the sin, cos and tan value of the number.
6. Determine the logarithm, natural logarithm and exponential of the number.
2. CERTIFICATE
This is to certify that HIMANSHU, a student
of class XII-A, roll no has successfully
completed the research on the below
mentioned project under my guidance
during the session 2017-18 in partial
fulfillment of computer science practical
examination conducted by C.B.S.E New
Delhi in Kendriya Vidyalaya A.F.S
ARJANGARH NEW DELHI
STUDENT SUBJECT TEACHER
SIGNATURE SIGNATURE
(MRS. LOVELY SINGH)
(PGT-COMPUTER SCIENCE)
3. ACKNOWLEDGEMENT
In the accomplishment of this project successfully,
many people have best owned upon me their blessings
and the heart pledged support, this time I am utilizing
to thank all the people who have been concerned with
project.
Primarily I would thank god for being able to complete
this project with success. Then I would like to thank
my computer science teacher MRS.LOVELY SINGH,
whose valuable guidance has been the ones that
helped me patch this project and make it full proof
success his suggestions and his instructions has
served as the major contributor towards the
completion of the project.
Then I would like to thank my parents and friends who
have helped me with their valuable suggestions and
guidance has been helpful in various phases of the
completion of the project.
Last but not the least I would like to thank my
classmates who have helped me a lot.
- HIMANSHU
SIGNATURE:-
4. INTRODUCTION
Accordingly, this project aims to develop source code in the form of a
computer program i.e. c++ that a scientific calculator could use to
compute functions such as square root, the exponential, and sine
functions and etc. The idea of this project that
1. Since all the mathematical function such as sin function, cos
function, logarithm function are define in the library function of
<math.h>, thus we have return the value of the function to call
function.
2. For menu driven program, here we have to use switch-case
statement.
3. In this program ,there are two type of calculator,
A). Standard calculator.
B). Scientific calculator.
4. The standard calculator contain simple function such as addition,
subtraction etc. whereas the scientific calculator contain function
sine, cosine, tangent, exponential function etc.
The code of the calculator application mainly comprise of two classes
standard calculator and scientific calculator. The standard calculator
class helps to perform standard calculation. The scientific calculator
class in the other hand, helps to perform scientific calculations. Both
classes contain static function so as to ensure that these function can
be called in the main function through class name.
5. LOGIC OF THE PROJECT
CREATING THE STANDARD CALCULATOR:-
The standard class aims at performing specific task related to standard
calculation. These task are:-
1. Adding two number
2. Subtracting the second number from the first number.
3. Multiplying two number
4. Dividing first number from second.
5. Modulus of first number by second number.
To perform the above mentioned task, the standard calculator class
implements the following member function.
FUNCTION DESCRIPTION
Addition Returns the addition of two
input number
Subtraction Returns the subtraction of
two number.
Multiplication Returns the multiplication of
two number.
Division Returns the output obtained
after performing
Operation on the input
number
6. CREATING SCIENTIFIC CALCULATOR:-
You have to need to create scientific calculator class to perform task related to
scientific calculations. Which include finding square or cube etc.
The scientific calculator perform following task:-
1. Determine the square of the number.
2. Determine the square root of the number
3. Determine the first number power of the second number
4. Determine the factorial of a number
5. Determine the sin, cos and tan value of the number.
6. Determine the logarithm, natural logarithm and exponential of the
number.
To perform the above mentioned task in scientific calculator implements the
following member function
FUNCTION DESCRIPTION
Square Accept a number and returns the square of the
number
Squae root Accept a number and returns the square root
of number
Cube Accept two number and returns the first
power to 2nd num.
Fact Returns a factorial of an input number.
Sin_fun Returns the sin value of an input number.
Cos_fun Return the cos value of an input number.
Tan_fun Return the tan value of an input number
Log_fun Return the log value of an input number
Log10_fun Return the log10 value of an input number.
Exp_fun Return the exp value of an input number.
7. CONTROL DIAGRAM
This diagram tells the interconnection between various menus
and sub-menus.
This shows the transfer of control between various menus
and sub menus
Front screen Main Menu
Standard calculator
Scientific calculator
11. cout<<"==================type of calculator======================";
cout<<"n1tStandard calculator n2tScientific calculatorn3tQuit";
cout<<"n choose type of the calculator";
cin>>choice1;
flag=new_calc;
switch(choice1)
{ case 1:
do
{ clrscr();
cout<<"====================standard calculator=====================";
cout<<"n1tadditionn2tsubstractionn3tmultiplicationn4tdivisionn5tmodulusn6
treturn to previous menun7tquit";
if(flag==old_calc)
cout<<"n8tclear memory";
cout<<"nchoose type of the calculation:";
cin>>choice2;
switch(choice2)
{ case 1:
if(flag==new_calc)
{ cout<<"enter the first number:";
cin>>num1; }
else
{ num1=temp;
cout<<"nfirst number is "<<num1<<endl; }
cout<<"enter the second number:";
cin>>num2;
num3=stand_calc::addition(num1,num2);
cout<<"naddition of "<<num1<<"+"<<num2<<"="<<num3;
cout<<"npress any key to continue...................";
12. getch();
temp=num3;
flag=old_calc;
break;
case 2:
if(flag==new_calc)
{ cout<<"enter the first number";
cin>>num1 ; }
else
{ num1=temp;
cout<<"nfirst number is"<<num1<<endl; }
cout<<"enter second number:";
cin>>num2;
num3=stand_calc::substract(num1,num2);
cout<<"nsubstraction of "<<num2<<"-"<<num1<<"="<<num3;
cout<<"npress any key to continue..................";
getch();
temp=num3;
flag=old_calc;
break;
case 3:
if(flag==new_calc)
{ cout<<"enter first number:";
cin>>num1; }
else
{ num1=temp;
cout<<"nfirst number is"<<num1<<endl; }
cout<<"nenter the second number:";
cin>>num2;
13. num3=stand_calc::multiplication(num1,num2);
cout<<"nmultiplication"<<num1<<"*"<<num2<<"="<<num3;
cout<<"npress any key to contionue.................";
getch();
temp=num3;
flag=old_calc;
break;
case 4:
if(flag==new_calc)
{ cout<<"enter first number:";
cin>>num1; }
else
{ num1=temp;
cout<<"nfirst nuber is"<<num1<<endl; }
cout<<"enter second number";
cin>>num2;
num3=stand_calc::division(num1,&num2);
cout<<"ndivision of"<<"num1"<<"by"<<num2<<"="<<num3;
cout<<"npress any key to continue..............";
getch();
temp=num3;
flag=old_calc;
break;
case 5:
if(flag==new_calc)
{ cout<<"enter the first number:";
cin>>num1; }
else
{ num1=temp;
14. cout<<"nfirst number is"<<num1<<endl; }
cout<<"enter the second number:";
cin>>num2;
num3=stand_calc::modulus(&num1,&num2);
cout<<"nmodulus of "<<num1<<"by "<<num2<<"is"<<num3;
cout<<"press any key to continue...............";
getch();
temp=num3;
flag=old_calc;
break;
case 6:
cout<<"nreturning to previous menu";
cout<<"npress any key to continue................";
getch();
break;
case 7:
cout<<"n quitting.................";
cout<<"npress any key to continue...........";
getch();
exit(0);
case 8:
if(flag==new_calc)
{ cout<<"ninvalid choice";
cout<<"npress any key to continue............";
getch(); }
else
{ temp=0;
flag=new_calc; }
break;
15. default:
cout<<"ninvalid choice";
cout<<"npress any key to continue..............";
getch();
break; } }
while(choice2!=6);
break;
case 2:
do
{ clrscr();
cout<<"=============Scientific calculator===============";
cout<<"n1tsquaren2tsquare
rootn3tcuben4tpowern5tfactorialn6tsinn7tcosn8ttann9tlogrithmn10tnat
ural logrithmn11texponentialn12treturn to previous menun13tquit";
if(flag==old_calc)
cout<<"n14tclear memory";
cout<<"n choose type of the calculation :";
cin>>choice2;
switch(choice2)
{ case 1:
if(flag==new_calc)
{ cout<<"enter number to find square :";
cin>>num1; }
else
{ num1=temp;
cout<<"n number is "<<num1<<endl; }
num3=scien_calc::square(num1);
cout<<"nsquare of "<<num1<<"="<<num3;
cout<<"npress any key to continue.............";
16. getch();
temp=num3;
flag=old_calc;
break;
case 2:
if(flag==new_calc)
{ cout<<"enter number to find square root :";
cin>>num1; }
else
{ num1=temp;
cout<<"n number ="<<num1<<endl; }
num3=scien_calc::sqrt_fun(num1);
cout<<"nsquare of "<<num1<<"="<<num3;
cout<<"npress any key to continue.............";
getch();
temp=num3;
flag=old_calc;
break;
case 3:
if(flag==new_calc)
{ cout<<"enter to find cube";
cin>>num1; }
else
{ num1=temp;
cout<<"nnumber is "<<num1<<endl; }
num3=scien_calc::cube(num1);
cout<<"ncube of"<<num1<<"="<<num3;
cout<<"npress any key to continue..........";
getch();
17. temp=num3;
flag=old_calc;
break;
case 4:
if(flag==new_calc)
{ cout<<"enter the first number of base to find power";
cin>>num1; }
else
{ num1=temp;
cout<<"nfirst number is"<<num1<<endl; }
cout<<"enter the second number for for to find power:";
cin>>num2;
num3=scien_calc::power(num1,num2);
cout<<"n"<<num1<<"^"<<num2<<"="<<num3;
cout<<"npress any key to continue............";
getch();
temp=num3;
flag=old_calc;
break;
case 5: if(flag==new_calc)
{ cout<<"enter number to find factorial:";
cin>>num1; }
else
{ num1=temp;
cout<<"n number to find factorial is"<<num1<<endl; }
long int num4=scien_calc::fact(num1);
cout<<"nfactorial of"<<num1<<" = "<<num4;
cout<<"npress any key to continue...............";
getch();
18. temp=num4;
flag=old_calc;
break;
case 6: if(flag==new_calc)
{ cout<<"enter SIN ";
cin>>num1; }
else
{ num1=temp;
cout<<"nnumber for sin value is"<<num1<<endl; }
num3=scien_calc::sin_fun(num1);
cout<<"nSIN"<<num1<<" = "<<num3;
cout<<"npress any key to continue..............";
getch();
temp=num3;
flag=old_calc;
break;
case 7: if(flag==new_calc)
{ cout<<"nenter COS ";
cin>>num1; }
else
{ num1=temp;
cout<<"nnumber for cos value"<<num1<<endl; }
num3=scien_calc::cos_fun(num1);
cout<<"nCOS "<<num1<<"="<<num3;
cout<<"npress any key to continue................";
getch();
temp=num3;
flag=old_calc;
break;
19. case 8: if(flag==new_calc)
{ cout<<"enter TAN ";
cin>>num1; }
else
{ num1=temp;
cout<<"nnumber for tan value"<<num1<<endl; }
num3=scien_calc::tan_fun(num1);
cout<<"nTAN "<<num1<<"="<<num3;
cout<<"npress any key to continue..............";
getch();
temp=num3;
flag=old_calc;
break;
case 9: if(flag==new_calc)
{ cout<<"enter LOG :";
cin>>num1; }
else
{ num1=temp;
cout<<"nnumber for log value"<<num1<<endl; }
num3=scien_calc::log_fun(num1);
cout<<"nLOG "<<num1<<"="<<num3;
cout<<"npress any key to continue.................";
getch();
temp=num3;
flag=old_calc;
break;
case 10: if(flag==new_calc)
{ cout<<"enter LOG10 :";
cin>>num1; }
20. else
{ num1=temp;
cout<<"nnumber for natural log value"<<num1<<endl; }
num3=scien_calc::log10_fun(num1);
cout<<"nLOG10 "<<num1<<"="<<num3;
cout<<"npress any key to continue.................";
getch();
temp=num3;
flag=old_calc;
break;
case 11: if(flag==new_calc)
{ cout<<"enter e^ :";
cin>>num1; }
else
{ num1=temp;
cout<<"nnumber for exponential value"<<num1<<endl; }
num3=scien_calc::exp_fun(num1);
cout<<"ne^"<<num1<<"="<<num3;
cout<<"npress any key to continue.................";
getch();
temp=num3;
flag=old_calc;
break;
case 12: cout<<"nreturning to previous menu";
cout<<"npress any key to continue.............";
getch();
break;
case 13:
cout<<"nQuitting..............";
21. cout<<"npress any key to continue...............";
getch();
exit(0);
case 14:
if(flag==new_calc)
{ cout<<"ninvalid choice";
cout<<"npress any key to continue.................";
getch(); }
else
{ temp=0;
flag=new_calc; }
break;
default:
cout<<"invalid choice";
cout<<"press any key to continue...............";
getch();
break; } }
while(choice2!=13);
break;
case3: cout<<"nQuitting..............";
cout<<"npress any key to continue.............";
getch();
break;
default:
cout<<"ninvalid choice";
cout<<"n press any key to continue.............";
getch();
break;}
}while(choice1!=3);