A Collection of Code Snippets in as Many Programming Languages as Possible

This project is maintained by TheRenegadeCoder

Welcome to the Fraction Math page! Here, you'll find a description of the project as well as a list of sample programs written in various languages.

This article was written by:

- Jeremy Grifski

Languages like python have built-in utilities or functions for working with fractions. Many of these fractions functions follow a similar pattern across programming languages: takes a numerator and a denomenator as an attribute. Perform basic arithmatic and relational operations with operator overloading.

In general, a fractions library should perform the following:

- Perform arithmatic operation like multiplications, addition etc.
- Give output for relational operations like >=, >, == etc.

More specifically, begin with creating object instance of fraction class with two attributes: numerator and denomenator.Using operator overloading feature of langauge implement basic arithmatic and relational operaions.

For instance `./fraction-math "6/2" "+" "1/4"`

would output `13/4`

In addition, there should be some error handling for situations where the user doesn't supply any input.

Every project in the Sample Programs repo should be tested. In this section, we specify the set of tests specific to Fraction Math. In order to keep things simple, we split up the testing as follows:

- Fractions Valid Tests
- Fractions Invalid Tests

Description | Fraction 1 | Operation | Fraction 2 | Output |
---|---|---|---|---|

Sample Input: Addition | "2/3" | "+" | "4/5" | "22/15" |

Sample Input: Multiplication | "2/3" | "*" | "4/5" | "8/15" |

Sample Input: Subtraction | "2/3" | "-" | "4/5" | "-2/15" |

Sample Input: Division | "2/3" | "/" | "4/5" | "5/6" |

Sample Input: Equals | "2/3" | "==" | "4/5" | "0" |

Sample Input: Greater Than | "2/3" | ">" | "4/5" | "0" |

Sample Input: Less Than | "2/3" | "<" | "4/5" | "1" |

Sample Input: Greater Than Equals | "2/3" | ">=" | "4/5" | "0" |

Sample Input: Less Than Equals | "2/3" | "<=" | "4/5" | "1" |

Sample Input: Not Equals | "2/3" | "!=" | "4/5" | "1" |

Description | Input |
---|---|

No Input | |

Empty Input | "" |

All of these tests should output the following:

```
Usage: ./fraction-math operand1 operator operand2
```

- Fraction Math in Algol68
- Fraction Math in Beef
- Fraction Math in C++
- Fraction Math in Commodore Basic
- Fraction Math in Euphoria
- Fraction Math in Mathematica
- Fraction Math in Php
- Fraction Math in Python
- Fraction Math in Rust
- Fraction Math in Swift