Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kartikmandhan/bc-infinite-precison-calculator
'bc' is an command line arbitrary precision calculator.Implementation of Unix based command 'bc' using C Programming language, as a part of DSA1 Project
https://github.com/kartikmandhan/bc-infinite-precison-calculator
c calculator data-structures-project dsa infinite-precision-arithmetics linked-list
Last synced: 10 days ago
JSON representation
'bc' is an command line arbitrary precision calculator.Implementation of Unix based command 'bc' using C Programming language, as a part of DSA1 Project
- Host: GitHub
- URL: https://github.com/kartikmandhan/bc-infinite-precison-calculator
- Owner: kartikmandhan
- Created: 2020-11-03T12:49:49.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2022-01-03T14:38:46.000Z (almost 3 years ago)
- Last Synced: 2023-10-20T20:54:52.850Z (about 1 year ago)
- Topics: c, calculator, data-structures-project, dsa, infinite-precision-arithmetics, linked-list
- Language: C
- Homepage:
- Size: 554 KB
- Stars: 6
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: history.txt
Awesome Lists containing this project
README
**Project Name:-** Binary Calculator (Infinite Precision Calculator)
### DESCRIPTION :-
* This is the **Command line Arbitrary precision calculator** which is implemented using _C Programming language_.
* It tries to implement some functionalities from unix based command **'bc'**.
---
* Operations performed on countably infinite length numbers are as follows:-
* Addition
* Substraction
* Multiplication
* Division
* Modulus
* SquareRoot
* Trignometric Functions like Sine, Cosine, Tangent, input angle is considered in radian units
* Length of the Number
* exponential i.e e(x)
* Factorial of a Number (try 3 digit numbers only) . _Try 1000! on Google calculator it says infinite :)_
---
* All expressions are evaluated according to their **_precedence_**.
* _paranthesis_ '()' can be used which is having higher precedence.
* All the operations performed are stored in _history.txt_ file, for future reference
---
### Execution Instruction :-* Clone the repository on your machine.
* Open **Terminal** and _change directory_ to the project directory.
* Type command ' **make** ' which will compile the required files and generate _executable file_. (Linux/Mac recommended)
* Then type the command ' **./project** '.
* Run `./project -h` to get a list of all operations that it can perform
* `./project ` will take input from the file and output it on the terminal, example: `./project test.txt`
* An enter key on empty line exits the program
---
### DataStructures used :-
**A Doubly Linked List of struct node with Head and tail pointer**
**For tokenizing the Input String, I had used Finite State Machine**
## Screenshots of the working Application :-
**Pull Requests are Welcomed, Giving A Star is appreciated**