카테고리 없음

Exercise 7.5: Working with Two-Dimensional Arrays

07514673 2021. 12. 20. 14:37

Exercise 7.5: Working with Two-Dimensional Arrays

Here is the problem specification:

A company wants a program that displays a shipping charge based on the number of items ordered by the customer. The shipping charge information is shown here.

Use 2 dimensional array.

Minimum orderMaximum orderShipping charge ($)
1 50 20
51 100 15
101 200 10
201 500 5
501 999999 0

 

Sample run:

Number ordered (negative number or 0 to end): 5
Shipping charge for a quantity of 5 is $20

Number ordered (negative number or 0 to end): 25
Shipping charge for a quantity of 25 is $20

Number ordered (negative number or 0 to end): 55
Shipping charge for a quantity of 55 is $15

Number ordered (negative number or 0 to end): 150
Shipping charge for a quantity of 150 is $10

Number ordered (negative number or 0 to end): 250
Shipping charge for a quantity of 250 is $5

Number ordered (negative number or 0 to end): 550
Shipping charge for a quantity of 550 is $0

Number ordered (negative number or 0 to end): 0

 

Solution:


#include <iostream>
using namespace std;
int main(){
    // initialization of variables needed 
    int numberOrdered;
    int shippingChargeChart[5][3] = {
        {1,50,20},
        {51,100,15},
        {101, 200, 10},
        {201,500,5},
        {501,999999,0}
    };
    // for user input
    cout << "Number ordered (Negative Number or 0 to end): ";
    cin >> numberOrdered;
    // while loop to check if number ordered is 0 or negative
    while (numberOrdered > 0) {
        for (int i = 0; i < 5; i++) {
            // checks to see if number ordered is between the minimum and maximum 
order amount
            if (numberOrdered >= shippingChargeChart[i][0] && numberOrdered <= 
shippingChargeChart[i][1]) {
                cout << "Shipping charge for a quantity of " << numberOrdered << " 
is $" << shippingChargeChart[i][2] << endl;
                break;
            }
            else {
                continue;
            }
        }
        cout << "\nNumber ordered (Negative Number or 0 to end): ";
        cin >> numberOrdered;
    }
    return 0;
}