No description
Find a file
2026-02-19 12:19:33 +01:00
src Initial commit: Scientific Calculator with build + CLI 2025-11-10 10:46:33 +01:00
.gitignore Initial commit: Scientific Calculator with build + CLI 2025-11-10 10:46:33 +01:00
calculator.py Improve project: code quality, docs, and structure 2026-02-19 12:18:34 +01:00
LICENSE Initial commit 2025-11-10 09:20:57 +01:00
README.md Improve project: code quality, docs, and structure 2026-02-19 12:18:34 +01:00

<<<<<<< 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)

g++ -std=c++11 -o ScientificCalculator main.cpp calculator.cpp

Using Makefile

make

Using CMake

mkdir build
cd build
cmake ..
make

Usage

  1. Run the executable:

    ./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.

Features

  • Basic arithmetic operations
  • Trigonometric functions
  • Logarithms and exponentials

How to Use

  1. Clone the repo: git clone <repo-url>
  2. Run the calculator: python calculator.py

Credits

Inspired by Python calculator tutorials.

Disclaimer

For learning purposes.

e44406f (Improve project: code quality, docs, and structure)