C Program to Calculate Purchase Amount to be Paid after Discount

In this tutorial, we will learn about how to create a program in C that will ask from user to enter total shopping amount purchased in the shop, and then apply the discount as per the following discount criteria, then find and print the final amount that has to be paid by the customer after subtracting the discount amount:

  • If user has purchased something that costs from 101 to 200, the discount will be 5%
  • If user has purchased something that costs from 201 to 400, the discount will be 10%
  • If user has purchased something that costs from 401 to 800, the discount will be 20%
  • And if user has purchased something that costs above 800, the total discount that will be applied on the whole purchase amount is 25%

Let's take a look at the program:

#include<stdio.h>
#include<conio.h>
int main()
{
    float amount, discount, amountToBePaid;
    printf("How much shopping amount you have done here ? ");
    scanf("%f", &amount);
    printf("\n");
    if(amount<=100)
        printf("You have to paid: %0.2f", amount);
    else
    {
        if(amount>100 && amount<=200)
        {
            discount = (amount*5)/100;
            amountToBePaid = amount-discount;
            printf("After applying the discount, you have to paid: %0.2f", amountToBePaid);
        }
        else if(amount>200 && amount<=400)
        {
            discount = (amount*10)/100;
            amountToBePaid = amount-discount;
            printf("After applying the discount, you have to paid: %0.2f", amountToBePaid);
        }
        else if(amount>400 && amount<=800)
        {
            discount = (amount*20)/100;
            amountToBePaid = amount-discount;
            printf("After applying the discount, you have to paid: %0.2f", amountToBePaid);
        }
        else
        {
            discount = (amount*25)/100;
            amountToBePaid = amount-discount;
            printf("After applying the discount, you have to paid: %0.2f", amountToBePaid);
        }
    }
    getch();
    return 0;
}

As the program was written under Code::Blocks IDE, therefore after successful build and run, here is the output you will get on your output screen. This is the first snapshot of the sample run:

c program calculate purchase amount

Now enter the total amount (original purchase amount) say 150, that is customer has made a purchase of 150 at the shop. Now press ENTER key to see the total cost (final cost) customer has to paid after applying the discount. Here is the second snapshot of the sample run:

calculate purchase amount after discount c

Let's take another sample run. This time, the customer made purchase of 670. Here is the snapshot of the sample run:

c print purchase amount to paid after discount

Here is another sample run, this time, the customer made purchase of 2000:

calculate amount to paid after discount

Here are some of the main steps used in above program:

  • Receive original purchase amount
  • Use if statement to check whether the purchase amount is less than or equal to 100 or not
  • If it is, then just ask him/her to pay the original purchase amount as final purchase amount without applying any discount. As the discount starts only when the purchase amount exceeds 100
  • Otherwise if the purchase amount exceeds 100, then apply the discount and ask him/her to pay the final or net amount after applying the discount
  • Here first we have to calculate the discount amount. To calculate the discount amount, multiply the amount with discount percentage and divide it by 100 and then initialize it to a variable that hold the discount value say discount. And then minus the discount value from the original purchase amount and initialize it to another variable that hold the final amount that has to be paid by the customer say amountToBePaid.
  • Finally print the value of amountToBePaid as output. Whatever the net or final amount will be, amountToBePaid variable holds it
  • For example, let's suppose user has purchased few items that costs 768. Or user has provided 768 as input
  • As the given value is greater than 400 and less than or equal to 800, therefore the discount that will be applied on this purchase amount will be 20%
  • Therefore, (amount*20)/100 or (768*20)/100 or (15360)/100 or 153.6 will be initialized to discount
  • And amount-discount or 768-153.6 or 614.4 will be initialized to amountToBePaid
  • Now print the value of amountToBePaid as output which will be the net amount that has to be paid by the customer

C Online Test


« Previous Program Next Program »