T ERM PAPER OF CSE-202 TOPIC:- SCIENTIFIC CALCULATOR
SUBMITTED SUBMITTED TO NAME- BITTU KUMAR SECTION-E2801 SECTION-E2801 ROLL NO. – A05 REGISTRATION NO. -10808479
BY LECT. CHETNA MAM (DEPT. OF COMPUTER SC.)
1
ACKNOWLEDGEMENT As usual a large number of people deserve my thanks for the help they provided me for the preparation of this term paper.
First of all I would like to thank my teacher Lect. Chetna mam for her support during the preparation of this topic. I am very thankful for her guidance.
I would also like to thank my friends for the encouragement and information about the topic they provided to me during my efforts to prepare this topic.
At last but not the least I would like to thank seniors for providing me their experience and being with me during my work.
2
TABLE OF CONTENT:1.1 1.2
Introduction Logic of the programme
1.2. 1.2.1 1 Crea Creati ting ng the the sta stand ndar ard d calc calcul ulat ator or 1.2. 1.2.2 2 Crea Creati ting ng the the sci scien enti tifi fic c calc calcul ulat ator or 1.3 1.4 1.5 1.5 1.6
Control diagrame Output screen Sour So urce ce code code of scien cienti tifi fic c ca calcul lculat ator or Refernces
3
1.1 INTRODUCTION:Accordingly, this project aims to develop source code in the form of a computer program i.e c++ that a scientific calculator calculator could use to compute functions 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 , thus we have return the value of the function to call function. 2. For menu derive deriven n programme, programme, here here we have to to use switch-cas switch-casee statement. statement. 3. In this this programme programme ,there ,there are are two type of calculat calculator, or, a). Standard calculator. b). Scientific calculator. 4. The standard calculator contain simple function such as addition ,
substraction etc. whereas the scientific calculator calculator contain function function sin , cosin, tan, 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 stanandard calculation. The scientific calculator class in the other hand, helps to perform scientific scientific calculations. Both classes contain static function function so a to ensure that these function can be called in the main function through class name.
1.2 LOGIC OF THE PROGRAMME:1.2.1. CREATING THE STANDARD CALCULATOR :The standard class aims at performing specific task related to standard calculation. These task are:1. 2. 3. 4. 5.
Addi Adding ng two two numbe number r Substracting Substracting the second second number number from from the first number. number. Multip Multiplyi lying ng two number number Dividi Dividing ng first first numbe numberr from seco second. nd. Modulu Moduluss of first first number number by secon second d number. number.
4
To perform the above mentioned task, the standard calculator class implements the following member function. FUNCTION
DESCRIPTION
Addition Substraction Multiplication Division
returns the addition of two input number. returns the substraction of two number. returns the multiplication of two number. returns the output obtained after performing operation on the input number
1.2.2 CREATING SCIENTIFIC CALCULATOR:You have to need to creat scientific calculator class to perform task related to scientific calculations. Which include finding square or cube etc. The scientific calculator perform following task. 1. 2. 3. 4.
Determ Determine ine the the squar squaree of the the number. number. Determ Determine ine the the square square root root of the the number number Determine Determine the the first first number number power of the second number number Determ Determine ine the the facto factoria riall of a number number 5. Determine the sin, cos and tan value of the number. 6. Determine Determine the the logarit logarithm, hm, natural natural logarith logarithm m and exponen exponential tial of the the number. To perform the above mentioned task in scientific calculator implements the following member function. FUNCTION
Square Squae root Cube Fact Sin_fun Cos_fun Tan_fun Log_fun Log10_fun Exp_fun
DESCRIPTION
accept a number and returns the square of the number accept a number and returns the square root of number accept two number and returns the first power to 2nd num. returns a factorial of an input number. returns the sin value of an input number. return the cos value of an input number. return the tan value of an input number return the log value of an input number return the log10 value of an input number. return the exp value of an input number.
5
1.3 CONTROL DIAGRAM This diagram tells the interconnection between various menus and sub-menus.
Standard calculator
Frontscreen
Main Menu
This shows the transfer of control between various menus and sub menus
1.4.OUTPUT SCREEN 6
1.4.1. Main Screen:Choose the type of calculator
1.4.2
Scientific calculator screen:-
In scientific calculator, choose the type of function.
1.4.3. Result screen:7
Find your answere
1.5. SOURCE CODE OF SCIENTIFIC CALCULATOR IN C++:#include #include #include #include #define new_calc 1 #define old_calc 0 class stand_calc { public: static double addition(double,double); static double substract(double,double); static double multiplication(double,double); static double division(double,double *); static double modulus(double *,double *); }; class scien_calc { public: static double square(double); static double cube(double); 8
static double power(double,double); static double sq_root(double); static double sin_fun(double); static double cos_fun(double); static double tan_fun(double); static long int fact(double); static double log_fun(double); static double log10_fun(double); static double exp_fun(double); static double sqrt_fun(double); }; double stand_calc::addition(double a,double b) { return(a+b); } double stand_calc::substract(double a,double b) { return(a-b); } double stand_calc::multiplication(double a,double b) { return(a*b); } double stand_calc::division(double a,double *b) { while(*b==0) { cout<<"\n cannot divide by zero"; cout<<"\n enter the second number again "; cin>>*b; } return(a/(*b)); } double stand_calc::modulus(double *a,double *b) { while(*b==0) { cout<<"\ncannot divid by zero."; cout<<"\nenter the second nuber again"; cout<<*b; } int x=(int)*a; int y=(int)*b; 9
if(*a-x>0||*b-y>0) cout<<"\nconverting decimal nuber into an integer to perform modulus"; *a=x; *b=y; return(x%y); } double scien_calc::square(double x) { return(pow(x,2)); } double scien_calc::cube(double x) { return(pow(x,3)); } double scien_calc::power(double x,double y) { return(pow(x,y)); } long int scien_calc::fact(double x) { int n=(int)x; long int f=1; while(n>1) { f*=n; n--; } return f; } double scien_calc::sin_fun(double x) { return(sin(x)); } double scien_calc::cos_fun(double x) { return(cos(x)); } double scien_calc::tan_fun(double x) { return(tan(x)); } double scien_calc::log_fun(double x) { 10
return(log(x)); } double scien_calc::log10_fun(double x) { return(log10(x)); } double scien_calc::exp_fun(double x) { return(exp(x)); } double scien_calc::sqrt_fun(double x) { return(sqrt(x)); } void main() { double num1,num2,num3,temp; int choice1=0,choice2,flag; do { clrscr(); cout<<"==================type of calculator======================"; cout<<"\n1\tStandard calculator \n2\tScientific calculator\n3\tQuit"; cout<<"\n choose type of the calculator"; cin>>choice1; flag=new_calc; switch(choice1) { case 1: do { clrscr(); cout<<"====================standard calculator====================="; cout<<"\n1\taddition\n2\tsubstraction\n3\tmultiplication\n4\tdivision\n5\tmo dulus\n6\treturn to previous menu\n7\tquit"; if(flag==old_calc) cout<<"\n8\tclear memory"; cout<<"\nchoose type of the calculation:"; cin>>choice2; switch(choice2) 11
{ case 1: if(flag==new_calc) { cout<<"enter the first number:"; cin>>num1; } else { num1=temp; cout<<"\nfirst number is "<>num2; num3=stand_calc::addition(num1,num2); cout<<"\naddition of "<>num1 ; } else { num1=temp; cout<<"\nfirst number is"<>num2; num3=stand_calc::substract(num1,num2); cout<<"\nsubstraction of "<
if(flag==new_calc) { cout<<"enter first number:"; cin>>num1; } else { num1=temp; cout<<"\nfirst number is"<>num2; num3=stand_calc::multiplication(num1,num2); cout<<"\nmultiplication"<>num1; } else { num1=temp; cout<<"\nfirst nuber is"<>num2; num3=stand_calc::division(num1,&num2); cout<<"\ndivision of"<<"num1"<<"by"<
cin>>num1; } else { num1=temp; cout<<"\nfirst number is"<>num2; num3=stand_calc::modulus(&num1,&num2); cout<<"\nmodulus of "<
break; } } while(choice2!=6); break; case 2: do { clrscr(); cout<<"=============Scientific calculator==============="; cout<<"\n1\tsquare\n2\tsquare root\n3\tcube\n4\tpower\n5\tfactorial\n6\tsin\n7\tcos\n8\ttan\n9\tlogrithm\n1 0\tnatural logrithm\n11\texponential\n12\treturn to previous menu\n13\tquit"; if(flag==old_calc) cout<<"\n14\tclear 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; 15
} else { num1=temp; cout<<"\n number ="<>num1; } else { num1=temp; cout<<"\nnumber is "<>num1; } else { num1=temp; cout<<"\nfirst number is"<
cin>>num2; num3=scien_calc::power(num1,num2); cout<<"\n"<>num1; } else { num1=temp; cout<<"\n number to find factorial is"<>num1; } else { num1=temp; cout<<"\nnumber for sin value is"<
break; case 7: if(flag==new_calc) { cout<<"\nenter COS "; cin>>num1; } else { num1=temp; cout<<"\nnumber for cos value"<>num1; } else { num1=temp; cout<<"\nnumber for tan value"<>num1; } 18
else { num1=temp; cout<<"\nnumber for log value"<>num1; } else { num1=temp; cout<<"\nnumber for natural log value"<>num1; } else { num1=temp; cout<<"\nnumber for exponential value"<
cout<<"\npress any key to continue................."; 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.............."; cout<<"\npress any key to continue..............."; getch(); exit(0); case 14: if(flag==new_calc) { cout<<"\ninvalid choice"; cout<<"\npress any key to continue................."; 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: 20
cout<<"\ninvalid choice"; cout<<"\n press any key to continue............."; continue............."; getch(); break; } }while(choice1!=3); }
1.6 REFERENCES:BOOK:A) Object oriented programe with c++----- E. balaguruswami B) Let us c++------------c++----------------------------------------------------Ya -----Yaswant swant kanitker kanitker WEBSITE:A). http://www.scribd.com/doc/22517879/Scienti http://www.scribd.com/doc/22517879/Scientific-Calculator fic-Calculator
21
22