Scientific Calculator in C++
Scientific Calculator in C++ (3 Programs).
1#include <iostream>2#include <cmath>3#include <iomanip>4using namespace std;56void displayMenu() {7 cout << "\n=== SCIENTIFIC CALCULATOR ===" << endl;8 cout << "1. Addition" << endl;9 cout << "2. Subtraction" << endl;10 cout << "3. Multiplication" << endl;11 cout << "4. Division" << endl;12 cout << "5. Power" << endl;13 cout << "6. Square Root" << endl;14 cout << "7. Sine" << endl;15 cout << "8. Cosine" << endl;16 cout << "9. Tangent" << endl;17 cout << "10. Logarithm" << endl;18 cout << "11. Exit" << endl;19 cout << "Enter your choice: ";20}2122int main() {23 int choice;24 double num1, num2, result;2526 do {27 displayMenu();28 cin >> choice;2930 switch(choice) {31 case 1:32 cout << "Enter two numbers: ";33 cin >> num1 >> num2;34 result = num1 + num2;35 cout << "Result: " << result << endl;36 break;37 case 2:38 cout << "Enter two numbers: ";39 cin >> num1 >> num2;40 result = num1 - num2;41 cout << "Result: " << result << endl;42 break;43 case 3:44 cout << "Enter two numbers: ";45 cin >> num1 >> num2;46 result = num1 * num2;47 cout << "Result: " << result << endl;48 break;49 case 4:50 cout << "Enter two numbers: ";51 cin >> num1 >> num2;52 if (num2 != 0) {53 result = num1 / num2;54 cout << "Result: " << result << endl;55 } else {56 cout << "Error: Division by zero!" << endl;57 }58 break;59 case 5:60 cout << "Enter base and exponent: ";61 cin >> num1 >> num2;62 result = pow(num1, num2);63 cout << "Result: " << result << endl;64 break;65 case 6:66 cout << "Enter a number: ";67 cin >> num1;68 if (num1 >= 0) {69 result = sqrt(num1);70 cout << "Result: " << result << endl;71 } else {72 cout << "Error: Cannot find square root of negative number!" << endl;73 }74 break;75 case 7:76 cout << "Enter angle in degrees: ";77 cin >> num1;78 result = sin(num1 * M_PI / 180.0);79 cout << fixed << setprecision(4);80 cout << "Result: " << result << endl;81 break;82 case 8:83 cout << "Enter angle in degrees: ";84 cin >> num1;85 result = cos(num1 * M_PI / 180.0);86 cout << fixed << setprecision(4);87 cout << "Result: " << result << endl;88 break;89 case 9:90 cout << "Enter angle in degrees: ";91 cin >> num1;92 result = tan(num1 * M_PI / 180.0);93 cout << fixed << setprecision(4);94 cout << "Result: " << result << endl;95 break;96 case 10:97 cout << "Enter a number: ";98 cin >> num1;99 if (num1 > 0) {100 result = log(num1);101 cout << "Result: " << result << endl;102 } else {103 cout << "Error: Logarithm undefined for non-positive numbers!" << endl;104 }105 break;106 case 11:107 cout << "Exiting..." << endl;108 break;109 default:110 cout << "Invalid choice!" << endl;111 }112 } while(choice != 11);113114 return 0;115}
Output
=== SCIENTIFIC CALCULATOR === 1. Addition 2. Subtraction 3. Multiplication 4. Division 5. Power 6. Square Root 7. Sine 8. Cosine 9. Tangent 10. Logarithm 11. Exit Enter your choice: 5 Enter base and exponent: 2 8 Result: 256 === SCIENTIFIC CALCULATOR === ... Enter your choice: 11 Exiting...
What's going on
The program creates a scientific calculator that performs:
Users can select operations from a menu and perform calculations interactively.
Header Files Used
Understanding Scientific Calculator
Mathematical Functions
:
Angle Conversion
:
Function: displayMenu()
void displayMenu() {
}
1cout << "\n=== SCIENTIFIC CALCULATOR ===" << endl;2cout << "1. Addition" << endl;3cout << "2. Subtraction" << endl;4// ... more options ...5cout << "11. Exit" << endl;6cout << "Enter your choice: ";
How it works
:
Declaring Variables
The program declares:
int choice;
double num1, num2, result;
Basic Arithmetic Operations
Addition, Subtraction, Multiplication
:
Division
:
if (num2 != 0) {
result = num1 / num2;
} else {
}
1cout << "Error: Division by zero!" << endl;
Power Operation
case 5:
cin >> num1 >> num2;
result = pow(num1, num2);
cout << "Result: " << result << endl;
break;
1cout << "Enter base and exponent: ";
How it works
:
Square Root Operation
case 6:
cin >> num1;
if (num1 >= 0) {
result = sqrt(num1);
cout << "Result: " << result << endl;
} else {
cout << "Error: Cannot find square root of negative number!" << endl;
}
break;
1cout << "Enter a number: ";
How it works
:
Trigonometric Functions
case 7: // Sine
cin >> num1;
result = sin(num1 * M_PI / 180.0);
cout << fixed << setprecision(4);
cout << "Result: " << result << endl;
break;
1cout << "Enter angle in degrees: ";
How it works
:
Example
:
Logarithmic Function
case 10:
cin >> num1;
if (num1 > 0) {
result = log(num1);
cout << "Result: " << result << endl;
} else {
cout << "Error: Logarithm undefined for non-positive numbers!" << endl;
}
break;
1cout << "Enter a number: ";
How it works
:
Other Methods (Mentioned but not shown in code)
Method 2: Advanced Version
Method 3: Object-Oriented Version
class ScientificCalculator {
double add(double a, double b) { return a + b; }
double power(double base, double exp) { return pow(base, exp); }
};
1// ... more methods ...