Exercise 3.3 Calculate a discounted price

Exercise 3-3. Write a program that will calculate the price for a quantity entered from
the keyboard, given that the unit price is $5 and there is a discount of 10 percent for
quantities over 30 and a 15 percent discount for quantities over 50.

 1 // Exercise 3.3 Calculate a discounted price
 2 
 3 // I interpreted this exercise as implying that the 10% applies to items 31 to 50
 4 // and the 15% applies to items in excess of 50.
 5 // That is, you don't get 15% discount on the whole price when you order 51 items.
 6 
 7 // There is more than one way of doing this so different is not necessarily wrong.
 8 
 9 #include <stdio.h>
10 
11 int main(void)
12 {
13   const int level1 = 30;               // Quantity over this level are at discount1
14   const int level2 = 50;               // Quantity over this level are at discount2
15   const double discount1 = 0.10;       // 10% discount
16   const double discount2 = 0.15;       // 15% discount
17   const double unit_price = 5.0;       // Basic unit price
18   int quantity = 0;
19   int qty_full_price = 0;              // 0 to 30 at full price
20   int qty_level1 = 0;                  // 31 to 50 at level1 price
21   int qty_level2 = 0;                  // Over 50 at level2 price
22   printf("Enter the quantity that you require: ");
23   scanf("%d", &quantity);
24  
25   if(quantity > 50)                     // Quantity over 50
26   {
27     qty_full_price = level1;
28     qty_level1 = level2 - level1;
29     qty_level2 = quantity - level2;
30   }
31   else if(quantity > 30)                // Quantity is from 30 to 50
32   {
33     qty_full_price = level1;
34     qty_level1 = quantity - level1;
35   }
36   else
37     qty_full_price = quantity;
38 
39   printf("The total price for %d items is $%.2lf\n", quantity,
40     unit_price*(qty_full_price + (1.0 - discount1)*qty_level1 + (1.0 - discount2)*qty_level2));
41   return 0;
42 }

 

posted @ 2014-12-17 22:17  稳稳稳稳稳稳  阅读(518)  评论(1编辑  收藏  举报