Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

mohaneddz/Scientific-Calculator-2.0

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scientific Calculator 2.0 🧮

Introduction

Welcome to Scientific Calculator 2.0! This project is a sophisticated tool designed to offer a modern, reliable, and versatile solution for scientific calculations. Developed as a personal project to sharpen my JavaScript skills, it was built entirely from scratch without relying on tutorials. Notably, the calculator avoids using the eval function, despite its convenience, to prioritize security and performance. Given the short development timeline, the calculator may not be complete or free from errors, but it provides a robust foundation for scientific computation.

Difficulty: 5/10

Features

Modern Interface 🎨

  • Sleek Design: The calculator boasts a clean and modern interface with vibrant, saturated colors to enhance usability and aesthetics.

Comprehensive Scientific Operations 📐

  • Wide Range of Functions: Covers most scientific operations, including trigonometric, logarithmic, and exponential functions, among others.

Secure and Efficient 🚫

  • No eval Used: For better security, the calculator does not utilize the eval function. All operations are manually implemented from the ground up, ensuring a safer and more controlled environment.

Post-Fix Notation 📊

  • Advanced Calculation Method: Implements the PostFix notation (Reverse Polish Notation) as discussed in "Data Structures & Algorithm Analysis in C++" by Mark Weiss, ensuring accurate handling of operator precedence.

Responsive Design 📱

  • Adaptability: The design is fully responsive, providing an optimal experience across various devices, including desktops, tablets, and smartphones.

Input Flexibility 🖱️⌨️

  • Mouse and Keyboard Support: Fully supports both mouse and keyboard inputs, making it easy to use in different scenarios.

Interactive Behaviors and Sound Effects 🔊

  • Enhanced User Experience: Includes interactive behaviors and sound effects to make the calculation process more engaging and intuitive.

Technologies Used 👨‍💻

  • HTML: Forms the structure of the calculator's interface.
  • CSS: Used to style the interface with modern and vibrant aesthetics.
  • JavaScript: Powers the calculator's functionality, implementing custom algorithms and handling user interactions.

Project Structure ⚙️

The project is organized to separate concerns clearly, with distinct directories for HTML, CSS, and JavaScript files. This structure facilitates easy maintenance and expansion.

Screenshots & Descriptions 🖼️

Screenshot 1: Modern Interface

Modern Interface

Description: A glimpse of the calculator's modern and vibrant interface.

Screenshot 2: Scientific Functions

Scientific Functions

Description: Example of the calculator handling complex expressions using PostFix notation!

Screenshot 3: Complex Notations!

PostFix Notation

Description: Using the Shift key will switch the calculator to handle more advanced operations.

Screenshot 4: Responsive Design

Responsive Design

Description: The calculator's responsive design, shown across different devices.

Screenshot 5: Interactive Features

Interactive Features

Description: Interactive behaviors and sound effects for better user experience.

How to Use 📃

  1. Download or Clone the Repository: Start by downloading or cloning this repository to your local machine.
  2. Open in Browser: Simply run npm start on your devlopement setup, or build the application to suit your needs, as scss needs to compile for the css to show up as intended.
  3. Perform Calculations: Use the interface to enter calculations and explore various scientific functions.
  4. Enjoy the Features: Take advantage of the responsive design, interactive elements, and comprehensive operations.

Contributing 💌

Feel free to fork the repository and submit pull requests. Suggestions for improvements or additional features are welcome!

License ⚖️

This project is open-source and available under the MIT License.

About

Modern & Minimalist Scientific Calculator Built using Post-Fix DSA & no Eval Methodology, Perfect for new practicers

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.