Skip to content

A calculator with basic functions and an option to switch to the scientific version. Comes with extra stuff for convenience and aesthetics.

License

Notifications You must be signed in to change notification settings

JARalph23Z/Calculator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

forthebadge made-with-python

LICENSE

Burgir Calculator

Introduction

This calculator was made with love and effort. The name and layout of our calculator is inspired by the man, the myth, and the legend himself, Abdu Rozik.

  • Written with Python 3.9 (Can work with 3.7.9)
  • Uses PyQt6 as the GUI Framework
  • Uses Pyparsing for the calculator logic

Features

Calculator Logic:

  • Numeric keypad (0-9) with decimal point
  • Can perform addition (+) , subtraction (-), multiplication (*), and division (/)
  • Can perform trigonometric operations (sine, cosine, tangent, inverses, hyperbolic)
  • Can perform logarithmic and exponential operations
  • Can perform other algebraic operations (square root, cube root, scientific notations, etc.)
  • Capable of chaining multiple operations together (with or without parentheses) and execute them in the correct order
  • Can perform round, truncate, modular, and absolute functions
  • Other necessary functions: delete, clear all, ANS, etc.

UI:

  • NEW! Dark Theme
  • Can switch between the basic calculator layout to the scientific calculator layout.
  • A button press effect, which can be changed or disabled.
  • A subtle background music.
  • A date and time widget in the status bar.
  • A status bar that shows tips on how to use certain functions.
  • An Instructions window that shows general instructions on how to use our calculator.
  • An About window that has a link for our GitHub repository and presentation video (to be updated as we finish it)

And some extra little adjustment to the UI, the windows are non-resizable so that the layout is preserved. By extension, the calculator can't be maximized.

Layout:

Basic Calculator

Scientific Calculator

Dark Theme

How to Set Up

  1. Clone or download the repository.
  2. Install the necessary dependencies:
pip install -r requirements.txt
  1. Run the program:
python main.py
  1. Make sure all the .py files are located in the same folder.
  2. Make sure the resources folder is also within the same directory, as the UI uses files that are in this folder.
  • Calculator logic is located in calculator.py
  • UI code is located in ui.py
  • You can initiate some tests for the calculator logic with test.py

How To Use

  • Switch between the layouts by clicking the button in the menu, or by pressing Ctrl+1 on your keyboard.
  • Switching between the dark theme and burgir theme can also be done with Ctrl+2.
  • General instructions are inside the Instructions page which can be accessed in the menu or by pressing Ctrl+3.
  • If you want to change or disable click sound, you can do so by accessing the menu in Preferences
  • Use the buttons to put numbers and functions to the display.
  • Make sure to properly use the parentheses and comma so the functions will work.
  • Parentheses must have an operation between them. 3*(3) is not the same as 3(3). The latter won't work.

Team

Name Role
Ralph Palmaira Team Leader / UI Coder
Ray Dalipe UI Designer / Documentation
Brixson Domantay Logic Coder
Hans Tulayan Test File Coder
Saile Galilea UI Designer / Documentation

Disclaimer

All the codes within this repository are either self-made or adapted from other repositories under the MIT 
License, which allows for the distribution and alteration of such codes. If you wish, you can open an issue 
so we can address any problems immediately. 

Thank you for your understanding.

About

A calculator with basic functions and an option to switch to the scientific version. Comes with extra stuff for convenience and aesthetics.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages