Assignment 7

  • August 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Assignment 7 as PDF for free.

More details

  • Words: 815
  • Pages: 6
McCoy, Daniel CISP 300 Assignment 7 Statement of Problem Redo exercise 15 in chapter 5 using a modular approach. Design an algorithm for the following problem You are in a candy store. Each of your customers buys exactly one item costing $1.00 or less. Each customer pays for the item with exactly $1.00. Your job is to give each customer the right amount of change in some combination of quarters, dimes, nickels, and pennies. The combination must be the minimum number of coins. The input is composed of customer records, each containing customer name, and item cost. The output is composed of lines, each containing customer name, item cost, change, number of quarters, number of dimes, number of nickels, number of pennies. A cost of $0.00 will be used to signal the end of the input.

Structure Chart O VE R A L L CON TROL A 0 00

P R O C E SS IN I T IA L I Z A T I O N

P RO C E SS Q U A RT ER N UM BER B000

Table of Variables Variable Name

P R O C E SS D IM E N UM BE R B010

P R O CE SS N IC K E L N U M BE R

P R O C E SS P E NN Y N UM BE R

B020

B 0 30

P RO CE SS LOO P OU TP U T B040

Type

Range

Description

NAME

String

A-Z, a-z

The customer name

COST

Number

0-1

The cost of the item

CHANGEP

Number

0-1

The permanent change value

CHANGE

Number

0-1

The amount of change

QUARTER

Number

0-4

The number of quarters

DIME

Number

0-2

The number of dimes

NICKEL

Number

0-1

The number of nickels

PENNY

Number

0-4

The number of pennies

B050

A000 START WRITE "Enter: Name, Cost" READ NAME, COST DOWHILE COST > 0 Process initialization (B000) DOWHILE CHANGE >= 0.25 Process quarter number (B010) ENDDO DOWHILE CHANGE >= 0.10 Process dime number (B020) ENDDO DOWHILE CHANGE >= 0.05 Process nickel number (B030) ENDDO DOWHILE CHANGE > 0 Process penny number (B040) ENDDO Process loop output (B050) READ NAME, COST ENDDO STOP B000 ENTER QUARTER = 0 DIME = 0 NICKEL = 0 PENNY = 0 CHANGE = 1 - COST CHANGEP = CHANGE RETURN B010 ENTER CHANGE = CHANGE - 0.25 QUARTER = QUARTER + 1 RETURN B020 ENTER CHANGE = CHANGE - 0.10 DIME = DIME + 1 RETURN BO30 ENTER CHANGE = CHANGE - 0.05 NICKEL = NICKEL + 1 RETURN B040 ENTER CHANGE = CHANGE - 0.01 PENNY = PENNY + 1 RETURN

B050 ENTER WRITE "Customer Name: ", NAME WRITE "Item Cost: ", COST WRITE "Change: ", CHANGEP WRITE "Number of quarters: ", QUARTER WRITE "Number of dimes: ", DIME WRITE "Number of nickels: ", NICKEL WRITE "Number of pennies: ", PENNY WRITE "-------------------------------" RETURN

Qbasic Source Code DECLARE DECLARE DECLARE DECLARE DECLARE DECLARE DIM DIM DIM DIM DIM DIM DIM DIM

SUB SUB SUB SUB SUB SUB

SHARED SHARED SHARED SHARED SHARED SHARED SHARED SHARED

ProcessInitialization() QuarterNumber() DimeNumber() NickelNumber() PennyNumber() LoopOutput() NAME$ COST QUARTER DIME NICKEL PENNY CHANGE CHANGEP

CLS PRINT "Enter: Name, Cost" INPUT NAME$, COST DO WHILE (COST > 0) CALL ProcessInitialization DO WHILE (CHANGE >= .25) CALL QuarterNumber LOOP DO WHILE (CHANGE >= .1) CALL DimeNumber LOOP DO WHILE (CHANGE >= .05) CALL NickelNumber LOOP DO WHILE (CHANGE > 0) CALL PennyNumber LOOP CALL LoopOutput INPUT NAME$, COST LOOP END REM B000 SUB ProcessInitialization QUARTER = 0 DIME = 0 NICKEL = 0 PENNY = 0 CHANGE = 0 CHANGEP = 0 CHANGE = (1 - COST) CHANGEP = CHANGE END SUB REM B010 SUB QuarterNumber CHANGE = (CHANGE - .25) QUARTER = (QUARTER + 1) END SUB

REM B020 SUB DimeNumber CHANGE = (CHANGE - .1) DIME = (DIME + 1) END SUB REM B030 SUB NickelNumber CHANGE = (CHANGE - .05) NICKEL = (NICKEL + 1) END SUB REM B040 SUB PennyNumber CHANGE = (CHANGE - .01) PENNY = (PENNY + 1) END SUB REM B050 SUB LoopOutput PRINT "Customer Name: ", NAME$ PRINT "Item Cost: ", COST PRINT "Change: ", CHANGEP PRINT "Number of quarters: ", QUARTER PRINT "Number of dimes: ", DIME PRINT "Number of nickels: ", NICKEL PRINT "Number of pennies: ", PENNY PRINT "-------------------------------" END SUB

Program Output: Enter: Name, Cost ? Bill,.23 Customer Name: Bill Item Cost: .23 Change: .77 Number of quarters: 3 Number of dimes: 0 Number of nickels: 0 Number of pennies: 2 ------------------------------? Sam,.51 Customer Name: Sam Item Cost: .51 Change: .49 Number of quarters: 1 Number of dimes: 2 Number of nickels: 0 Number of pennies: 4 ------------------------------? Sue,.97 Customer Name: Sue Item Cost: .97 Change: 2.999997E-02 Number of quarters: 0 Number of dimes: 0 Number of nickels: 0 Number of pennies: 3 ------------------------------? Richard,0 Press any key to continue

Related Documents

Assignment#7
November 2019 9
Assignment#7
May 2020 10
Assignment 7
August 2019 23
Assignment In Rle 7
July 2020 6