Skip to content
This repository has been archived by the owner on Nov 3, 2022. It is now read-only.
/ CalcLab Public archive

CalcLab is an all-in-one application which includes a scientific calculator with graph plotting capability, date comparator, currency converter (real-time rates), and 12 more converter tools.

License

Notifications You must be signed in to change notification settings

dulapahv/CalcLab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CalcLab

An individual project for Introduction to Computers and Programming, KMITL Software Engineering, Year 1, Semester 1

Created by Dulapah Vibulsanti (64011388)

Introduction

CalcLab is an all-in-one application which includes a scientific calculator with graph plotting capability, date comparator, currency converter (real-time rates), and 12 more converter tools. It is designed to be as easy to use and as straightforward as possible. It also has a beautiful flat-modern GUI which makes it fit seamlessly into any workspace.

Motivation

Generally, when people want to perform conversions or calculations, they must look up on the internet to get the right tools. However, that is inefficient and not so productive as they have to waste their precious time finding the right tools, not to mention some people even have a hard time finding the right tools. This is where CalcLab will solve the problem as it has all the right tools located at their fingertip, and it is very easy to use.

Features

  1. Calculator (scientific)
  2. Graph Plotter
  3. History
  4. Tools Selection Menu
  5. Date Comparator
  6. Currency Converter
  7. Volume Converter
  8. Length Converter
  9. Weight and Mass Converter
  10. Temperature Converter
  11. Energy Converter
  12. Area Converter
  13. Speed Converter
  14. Time Converter
  15. Power Converter
  16. Data Converter
  17. Pressure Converter
  18. Angle Converter

1. Calculator (scientific)

Supports: add, subtract, multiply, divide, percentage, square, cube, square root, cube root, factorial, natural logarithm, common logarithm (base 10), sin, cos, tan, sinh, cosh, tanh, e constant, pi constant

image

Other features:

  • Auto detect invalid input (i.e. contains non-numeric character) and invalid number operations (i.e. dividing by 0)
  • Auto prevent user from using more than one decimal point
  • If the result is the same as what is currently displayed (i.e. 4/2 = 2), the display will blink, indicating that the result is updated
  • Auto conversion to scientific notation when the result is too long
  • Able to do continuous calculations, no need to press AC (i.e. pressing 5 + 2 x 2 will give out 14)
  • Result will be automatically stored in history

2. Graph Plotter

Supports:

  • Straight line y=mx+c, x=my
  • Parabola y=mx^2+c
  • Cubic graph y=mx^3+c
  • Graph of n power y=mx^n+c; 0 n 6

plot8ex image User can also type /undo to remove the latest plotted line. Examples of supported equation:

y=20
x=5.23
y=2x
y=-2x+10
y=(1/2)x^2-(100/3)
f(x)=-0.03x^2.5+20
y=(1/3)**3x^2+(25/2)**1.3

3. History

Everytime user calculates something, it will be stored in a text file history.txt which user can view it right from the program. User also has an option to clear all history.

image

image

4. Tools Selection Menu

When user presses the upper left button, the selection menu will appear. From here, they can select tools they want.

image

5. Date Comparator

Supports: Calculate date difference and output in year, month, week, day, and sum of day.

image

Other features:

  • Auto detect invalid input (i.e. contains non-numeric character, invalid date number, not entering date completely)
  • If the year/month/week/day is 0, it will not be displayed
  • Suffix (s) is automatically determined
  • “From” date does not have to be less than “To” date

6. Currency Converter

Supports: BTC, AED, AUD, BRL, CAD, CHF, CLP, CNY, COP, CZK, DKK, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, KRW, MXN, MYR, NOK, NZD, PHP, PLN, RON, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, ZAR The rates are obtained real-time right when press the equal button.

image

Other features:

  • Auto detect invalid input (i.e. contains non-numeric character)
  • The program will show the current rates, date, and time at the bottom left
  • The program will show error if the server is not responding

7. Volume Converter

Supports: Milliliters, Cubic centimeters, Liters, Cubic meters, Teaspoons (US), Tablespoons (US), Fluid ounces (US), Cups (US), Pints (US), Quarts (US), Gallons (US), Cubic inches, Cubic feet, Cubic yards, Teaspoons (UK), Tablespoons (UK), Fluid ounces (UK), Pints (UK), Quarts (UK), Gallons (UK),

image

Other features:

  • Auto detect invalid input (i.e. contains non-numeric character)

8. Length Converter

Supports: Nanometers, Microns, Millimeters, Centimeters, Meters, Kilometers, Inches, Feet, Yards, Miles, Nautical Miles

image

Other features:

  • Auto detect invalid input (i.e. contains non-numeric character)

9. Weight and Mass Converter

Supports: Carats, Milligrams, Centigrams, Decigrams, Grams, Dekagrams, Hectogram, Kilograms, Metric tonnes, Ounces, Pounds, Stone, Short tons (US), Long tons (US)

image

Other features:

  • Auto detect invalid input (i.e. contains non-numeric character)

10. Temperature Converter

Supports: Celsius, Fahrenheit, Kelvin

image

Other features:

  • Auto detect invalid input (i.e. contains non-numeric character)

11. Energy Converter

Supports: Electron volts, Joules, Kilojoules, Thermal calories, Food calories, Foot-pounds, British thermal units

image

Other features:

  • Auto detect invalid input (i.e. contains non-numeric character)

12. Area Converter

Supports: Square millimeters, Square centimeters, Square meters, Hectares, Square kilometers, Square inches, Square feet, Square yards, Acres, Square miles

image

Other features:

  • Auto detect invalid input (i.e. contains non-numeric character)

13. Speed Converter

Supports: Centimeters per second, Meters per second, Kilometers per hour, Feet per second, Miles per hour, Knots, Mach

image

Other features:

  • Auto detect invalid input (i.e. contains non-numeric character)

14. Time Converter

Supports: Microseconds, Milliseconds, Seconds, Minutes, Hours, Days, Weeks, Years

image

Other features:

  • Auto detect invalid input (i.e. contains non-numeric character)

15. Power Converter

Supports: Watts, Kilowats, Horsepower (US), Foot-pounds/minute, BTUs/minute

image

Other features:

  • Auto detect invalid input (i.e. contains non-numeric character)

16. Data Converter

Supports: Bits, Bytes, Kilobits, Kibibits, Kilobytes, Kibibytes, Megabits, Mebibits, Megabytes, Mebibytes, Gigabits, Gibibits, Gigabytes, Gibibytes, Terabits, Tebibits, Terabytes, Tebibytes, Petabits, Pebibits, Petabytes, Pebibytes, Exabits, Exbibits, Exabytes, Exibytes, Zetabits, Zebibits, Zetabytes, Zebibytes, Yottabit, Yobibits, Yottabyte, Yobibytes

image

Other features:

  • Auto detect invalid input (i.e. contains non-numeric character)

17. Pressure Converter

Supports: Atmospheres, Bars, Kilopascals, Millimeters of mercury, Pascals, Pounds per square inch

image

Other features:

  • Auto detect invalid input (i.e. contains non-numeric character)

18. Angle Converter

Supports: Degrees, Radians, Gradians

image

Other features:

  • Auto detect invalid input (i.e. contains non-numeric character)

About

CalcLab is an all-in-one application which includes a scientific calculator with graph plotting capability, date comparator, currency converter (real-time rates), and 12 more converter tools.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages