Write a procedure to add and subtract-money, C/C++ Programming

Assignment Help:

Money is immutable and is associated with a currency. When two money entities are added or subtracted be sure to consider currency conversion. You must create a money object resulting from the addition or subtraction which has the same currency as the first money entity passed to the add-money or subtract-money procedure.

(a) You are required to write the procedures: add-money and subtract-money. The procedures add-money and subtract-money have 2 arguments, both being Money.

(b) You are required to write the procedures: multiply-money and divide-money. The multiply-money and divide-money have 2 arguments, the first of which is Money, the second of which is a number.

(c) You must also write a make-money procedure, which has 2 arguments, the amount as a number and a currency, which is a symbol.

(d) Write accessor procedures for the amount and currency parts of a Money object.

(e) Write a money-as procedure. This procedure has 2 arguments, the first of which is Money, the second of which is a currency symbol. The procedure returns a new Money object of the currency requested.

(f) You must also implement a currency procedure which has a symbol argument, c, that returns the currency conversion value for that currency. Assume that 'dollars, 'pounds, and 'euros are valid currencies. The currency procedure returns #f for all other currencies. The conversion value for 'dollars should be 1.0, 0.636 for 'pounds and 0.756 for 'euros. An example is shown below:

(define dollar-amount (make-money 100 'dollars)) ; Make a $100
(define pound-amount (make-money 100 'pounds)) ; Make 100 pounds
(define dollars-plus-pounds (add-money dollar-amount pound-amount)) ; Result should be dollars
(define pounds-plus-dollars (subtract-money pound-amount dollar-amount)) ; Result should be pounds
(currency 'euros) ; Result should be 0.756

 


Related Discussions:- Write a procedure to add and subtract-money

Explain about the unions, Explain what are Unions? The Unions like as s...

Explain what are Unions? The Unions like as structures, contain members whose individual data types may perhaps differ from one another. Though the members that create a union

Application for build a toy program, With this assignment you will build a ...

With this assignment you will build a toy program that manipulates pointers to integers. You will develop the same main program fragment in both C and Assembler. Thus, you'll get t

C language, in a program for what purpose print f and scan f is used

in a program for what purpose print f and scan f is used

How many ways are there to initialize an int with a constant, There are two...

There are two ways for initializes in C++ as shown in the example that follows. The first way uses the traditional C notation. The second way uses constructor notation. int foo

What are the benefits of using friend classes, What are the benefits of usi...

What are the benefits of using friend classes? - Friend classes are useful when a class wants to hide features from users which are required only by another, tightly coupled cl

Write a program of inline function, Here is a program that uses an inline f...

Here is a program that uses an inline function to compute and return the absolute value of its input argument. # include inline int abs(int x) {                  ret

Program is to find the maximum from two numbers, Program is to find the max...

Program is to find the maximum from two numbers: Program is to find the maximum from two numbers entered by the user having pointer variable as parameter void main()   {

Explain procedural logic, Explain procedural logic A procedure, or func...

Explain procedural logic A procedure, or function, was explained as a set of specific instructions implemented in sequential manner. The data is kept separate from the procedur

How to double to int, char P[100]; double X=533.8*22500; sprintf(P...

char P[100]; double X=533.8*22500; sprintf(P,"%f %u",X,(unsigned int)X); MessageBox(P,"SSS"); //12010500.000 12010499

Write Your Message!

Captcha
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