From 43ac848775d5b6311ff22f56cf5646106f8ea422 Mon Sep 17 00:00:00 2001 From: Mohammed Rahhal <218621863+MoCipher@users.noreply.github.com> Date: Thu, 19 Feb 2026 12:20:55 +0100 Subject: [PATCH] Update README to include C++ and Python versions Merged documentation for C++ and Python scientific calculators. --- README.md | 203 ------------------------------------------------------ 1 file changed, 203 deletions(-) diff --git a/README.md b/README.md index 6ca2702..b87f34b 100644 --- a/README.md +++ b/README.md @@ -1,205 +1,3 @@ -<<<<<<< HEAD -# ScientificCalculator - -A feature-rich scientific calculator implemented in C++ that provides advanced mathematical operations and a user-friendly interface. - -## Features - -- **Basic Arithmetic Operations**: Addition, subtraction, multiplication, and division -- **Advanced Mathematical Functions**: - - Trigonometric functions (sin, cos, tan) - - Inverse trigonometric functions (asin, acos, atan) - - Logarithmic functions (log, log10) - - Exponential functions (exp, pow) - - Square root and power operations -- **Memory Functions**: Store, recall, and clear memory values -- **Error Handling**: Comprehensive error detection and user-friendly error messages -- **Clean Interface**: Simple and intuitive command-line interface - -## Requirements - -- C++ compiler (C++11 or later recommended) -- Standard C++ library only (no external dependencies) - -## Building the Project - -### Prerequisites -- C++ compiler (g++, clang++, or MSVC) -- CMake (optional, for automated builds) - -### Compilation - -#### Using g++ (Linux/macOS) -```bash -g++ -std=c++11 -o ScientificCalculator main.cpp calculator.cpp -``` - -#### Using Makefile -```bash -make -``` - -#### Using CMake -```bash -mkdir build -cd build -cmake .. -make -``` - -## Usage - -1. **Run the executable**: - ```bash - ./ScientificCalculator - ``` - -2. **Basic Operations**: - ``` - Enter an expression or command: 5 + 3 - Result: 8 - ``` - -3. **Advanced Functions**: - ``` - Enter an expression or command: sin(30) - Result: 0.5 - ``` - -4. **Memory Operations**: - ``` - Enter an expression or command: memstore 10 - Enter an expression or command: memadd 5 - Enter an expression or command: memrecall - Result: 15 - ``` - -5. **Exit the calculator**: - ``` - Enter an expression or command: exit - ``` - -## Supported Operations - -### Basic Arithmetic -- `+` : Addition -- `-` : Subtraction -- `*` : Multiplication -- `/` : Division -- `^` : Power operation - -### Trigonometric Functions -- `sin(x)` : Sine -- `cos(x)` : Cosine -- `tan(x)` : Tangent -- `asin(x)` : Arcsine -- `acos(x)` : Arccosine -- `atan(x)` : Arctangent - -### Logarithmic and Exponential Functions -- `log(x)` : Natural logarithm -- `log10(x)` : Base-10 logarithm -- `exp(x)` : Exponential function -- `sqrt(x)` : Square root -- `pow(x, y)` : Power function - -### Memory Functions -- `memstore x` : Store value in memory -- `memadd x` : Add value to memory -- `memsubtract x` : Subtract value from memory -- `memrecall` : Recall memory value -- `memclear` : Clear memory - -## Project Structure - -``` -ScientificCalculator/ -├── main.cpp # Main program entry point -├── calculator.cpp # Core calculator implementation -├── calculator.h # Calculator class header -├── README.md # This file -└── Makefile # Build configuration (optional) -``` - -## Code Structure - -### Calculator Class -The main calculator functionality is implemented in the `Calculator` class, which provides: -- Expression parsing and evaluation -- Mathematical function implementations -- Memory management -- Error handling - -### Key Components -- **Expression Parser**: Handles input parsing and tokenization -- **Evaluator**: Processes mathematical expressions and computes results -- **Function Library**: Implements all supported mathematical functions -- **Memory Manager**: Handles storage and retrieval of memory values - -## Error Handling - -The calculator includes comprehensive error handling for: -- Invalid expressions -- Division by zero -- Domain errors (logarithm of negative numbers, etc.) -- Memory overflow/underflow -- Syntax errors - -Error messages are user-friendly and provide guidance for correct usage. - -## Examples - -### Basic Calculations -``` -Enter an expression or command: 15 * 4 + 10 / 2 -Result: 65 - -Enter an expression or command: 2 ^ 10 -Result: 1024 -``` - -### Scientific Calculations -``` -Enter an expression or command: sin(45) + cos(45) -Result: 1.41421 - -Enter an expression or command: log(100) * exp(2) -Result: 18.4207 -``` - -### Memory Operations -``` -Enter an expression or command: memstore 25 -Enter an expression or command: memadd 15 -Enter an expression or command: memrecall -Result: 40 -``` - -## Contributing - -1. Fork the repository -2. Create a feature branch -3. Make your changes -4. Test thoroughly -5. Submit a pull request - -## License - -This project is open source and available under the MIT License. - -## Future Enhancements - -- Graphical user interface (GUI) implementation -- Additional mathematical functions (hyperbolic functions, statistical functions) -- Expression history and recall -- Custom variable storage -- Unit conversion capabilities -- Complex number support - -## Contact - -For questions, suggestions, or contributions, please open an issue on the GitHub repository. -======= # Scientific Calculator A simple scientific calculator built in Python. @@ -220,4 +18,3 @@ Inspired by Python calculator tutorials. ## Disclaimer For learning purposes. ->>>>>>> e44406f (Improve project: code quality, docs, and structure)