Coder Social home page Coder Social logo

calculator's Introduction

Calculator Exercise

Build a calculator command line interface (CLI) that allows a user to perform simple arithmetic.

This is a stage 1 individual project.

Baseline

The program should ask the user for an operation (string or numeric symbol) and two numbers.

Primary Requirements

The program should use the input operation and two numbers to provide the result of applying the operation to the two numbers.

  • The program should have support for these four operations: addition, subtraction, multiplication, and division.
  • The program should accept both the name (add) and the symbol (+) for each possible operation.

Test & Verify

Before you submit your work it's important to test your program and ensure it's working properly. Later we will teach you nifty ways to automate this testing, but for now we'll do things the old fashioned way.

To make sure your program works you will need to run your program and ensure:

  • The program adds numbers with both add and +
  • The program subtracts numbers with both subtract and -
  • The program adds numbers with both multiply and *
  • The program adds numbers with both divide and /
  • The program handles divide when attempting to divide by zero.
  • The program handles erroneous input. For example the user might enter clown when asked to enter a number.
    • The program also needs to handle erroneous operators.

Optional Enhancements

  • Print out the formula in addition to the result, i.e. 2 + 2 = 4
  • Add support for computing exponents (2^4 = 2 * 2 * 2 * 2 = 16).
  • Add support for the modulo operator (10 % 3 = 1).
  • Gracefully handle unexpected user input:
    • What happens if the user input is nil (i.e., the user just pressed enter)?
    • What happens if the user tries to add hotdog to elephant?
  • Make your program know when it needs to return an integer versus a float.
  • Add support for parentheticals, i.e. 10 / (5 + 5) = 1.

calculator's People

Contributors

kariabancroft avatar hamled avatar cheezitman avatar jnf avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.