Many bank atm machines have recently added the ability to

Assignment Help C/C++ Programming
Reference no: EM13346664

Many bank ATM machines have recently added the ability to dispense cash with- drawals in multiple bill denominations chosen by the customer. For example, the new touchscreen Chase ATM machines allow the customer to withdraw bills in denominations of $100, $20, $5, and $1. Below is a schematic diagram of what a screen might look like for a customer who is requesting a with-drawal of $179.

Although I am not privy to exactly how the programming is done for this kind of machine, I suspect that it is implemented using some variation of the Model-View-Controller (MVC) paradigm.

1827_Model-View-Controller.png

The model object(s) represents all the data and business logic that is driving the entire withdrawal workflow. The view object pulls the data it displays from the model(s). The controller object responds to user interaction events (such as pushing a button) by calling methods on the appropriate model objects.

Define a single class called Withdrawal that could serve as a model for the ATM machine. No view or controller classes need to be defined. The program's main function could serve as a text-based user interface substitute for a view and controller. Or it can simply instantiate (construct) a Withdrawal object, and call various methods on it to adequately test the program.

Withdrawal Class Data Members

An instance of the Withdrawal class should have three data members (corresponding to the light blue shaded areas in the UI illustration above): amount_ an integer representing the withdrawal amount bill_denominations_ a vector of integers such as [100, 20, 5, 1] bill_quantities_ a vector of integers such as [1, 3, 2, 4]

Doxygen Comments

Students should annotate each public member function with Doxygen comments using the following tags:

@brief one line summary describing what the function does
@param describe the meaning of each parameter
@return describe the meaning the return value

For example the C library function pow(double x, double y) might be documented as:

/**
* @brief exponentiation function
* @param x the base of the exponentiation
* @param y the power the base is raised to
* @return x raised to the power y
*/

Withdrawal Class Implementation

The most difficult member function to implement is the constructor itself. Note that it must initialize all three data members, but the constructor is only supplied with two parameters. The "extra" data member (bill_quantities_) must be calculated from the two parameters using logic. The simplest way to do this is to repeated use integer division (/) and remainder (%) operations.

The getter member functions are routine. The calculator member functions are fairly straightforward. The controller will call the Nudge member function when a ⊕ or ? button is pushed and will modify the element of the bill_quantities_ data member with the supplied index by the given delta.

The main Function

As mentioned previously, the main function can either be:

- an interactive program; or

- a non-interactive program that constructs one or more instances of the Withdrawal class and calls various member functions on them.

Reference no: EM13346664

Questions Cloud

1 consider the production functionwhere q is total output k : 1. consider the production functionwhere q is total output k is the amount of capital used and l is the amount of labor
Part - 1a explain the industry within which your business : part - 1a. explain the industry within which your business will be located and illustrate at least three recent trends
Write a report on application of reverse osmosis principles : write a report on application of reverse osmosis principles for the desalination of sea water.the consumable water on
Part-1suppose that a simple pendulum is attached to our : part-1suppose that a simple pendulum is attached to our spring-damper-mass system. a simple schematic of the model is
Many bank atm machines have recently added the ability to : many bank atm machines have recently added the ability to dispense cash with- drawals in multiple bill denominations
Case 1the diagram below shows a baffled tank with a six : case 1the diagram below shows a baffled tank with a six blade turbine agitatorfigure 1a is a side viewb is a bottom
Write a axis2 soap java web service that performs a : write a axis2 soap java web service that performs a bidirectional currency conversion for the subsequent currencies-
1-leadership is defined as the process of having dominance : 1-leadership is defined as the process of having dominance on group activities in order to realize the objectives. to
Part - 1you are to reflect on how this case of china sky : part - 1you are to reflect on how this case of china sky relates to what the arguments for and against allowing audit

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Create program that uses functions and reference parameters

Create program that uses functions and reference parameters, and asks user for the outside temperature.

  Write a program using vectors and iterators

Write a program using vectors and iterators that allows a user to maintain a personal list of DVD titles

  Write the code required to analyse and display the data

Calculate and store the average for each row and column. Determine and store the values for the Average Map.

  Write a webservices application

Write a webservices application that does a simple four function calculator

  Iimplement a client-server of the game

Iimplement a client-server version of the rock-paper-scissors-lizard-Spock game.

  Model-view-controller

Explain Model-View-Controller paradigm

  Design a nested program

How many levels of nesting are there in this design?

  Convert celsius temperatures to fahrenheit temperatures

Write a C++ program that converts Celsius Temperatures to Fahrenheit Temperatures.

  Evaluate and output the value in the given base

Write C program that will input two values from the user that are a Value and a Base with which you will evaluate and output the Value in the given Base.

  Design a base class shape with virtual functions

Design a base class shape with virtual functions

  Implementation of classes

Implementation of classes Chart and BarChart. Class barChart chould display a simple textual representation of the data

  Technical paper: memory management

Technical Paper: Memory Management, The intent of this paper is to provide you with an in depth knowledge of how memory is used in executing, your programs and its critical support for applications.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd