- C Programming Examples
- C Programming Examples
- C Print Hello World
- C Take Input from User
- C Print Integer
- C Add two Numbers
- C Check Even or Odd
- C Check Prime or Not
- C Check Alphabet or Not
- C Check Vowel or Not
- C Check Leap Year or Not
- C Check Reverse equal Original
- C Add Subtract Multiply & Divide
- C Make Calculator
- C Add Digits of Number
- C Calculate Average & Percentage
- C Calculate Arithmetic Mean
- C Calculate Student Grade
- C Print Table of Number
- C Print Prime Numbers
- C Add n Numbers
- C Interchange Numbers
- C Reverse Numbers
- C Swap two Numbers
- C Count Positive Negative & Zero
- C Find Largest of two Numbers
- C Find Largest of three Numbers
- C Find Factorial of Number
- C Find HCF & LCM
- C Area & Perimeter of Square
- C Area & Perimeter of Rectangle
- C Area & Circumference of Circle
- C Convert Fahrenheit to Centigrade
- C Convert Centigrade to Fahrenheit
- C Print ASCII Values
- C Print Fibonacci Series
- C Check Palindrome or Not
- C Check Armstrong or Not
- C Generate Armstrong Numbers
- C Find ncR nPr
- C Convert Decimal to Binary
- C Convert Decimal to Octal
- C Convert Decimal to Hexadecimal
- C Convert Binary to Decimal
- C Convert Binary to Octal
- C Convert Binary to Hexadecimal
- C Convert Octal to Decimal
- C Convert Octal to Binary
- C Convert Octal to Hexadecimal
- C Convert Hexadecimal to Decimal
- C Convert Hexadecimal to Binary
- C Convert Hexadecimal to Octal
- C Pattern Printing Programs
- C Print Diamond Pattern
- C Print Floyd Triangle
- C Print Pascal Triangle
- C Print smiling face
- C One Dimensional Array Program
- C Linear Search
- C Binary Search
- C Add Two Numbers using Pointer
- C Find Largest Element in Array
- C Find Smallest Element in Array
- C Reverse Array
- C Insert Element in Array
- C Delete Element from Array
- C Merge two Array
- C Bubble Sort
- C Selection Sort
- C Insertion Sort
- C Two Dimensional Array Program
- C Add two Matrices
- C Subtract Matrices
- C Transpose Matrix
- C Multiply Matrices
- C Three Dimension Array Program
- C Print String
- C Find Length of String
- C Compare two String
- C Copy String
- C Concatenate String
- C Reverse String
- C Delete Vowels from String
- C Delete Words from Sentence
- C Find Frequency of Character
- C Count Word in Sentence
- C Remove Spaces from String
- C Sort a String
- C Convert Uppercase to Lowercase
- C Convert Lowercase to Uppercase
- C Swap two Strings
- C Check Anagram or Not
- C Generate Random Numbers
- C Read File
- C Write to File
- C Read & Display File
- C Copy File
- C Merge two File
- C List Files in Directory
- C Delete File
- C Encrypt and Decrypt Files
- C Print Date
- C Get IP Address
- C Shutdown Computer
- C Programming Tutorial
- C Tutorial
- C Programming Library
- C Standard Library
- C Programming Test
- C Programming Test
- Give Online Test
- Register Now
- Login
- All Test List

In this tutorial, we will learn about how to create a program in C that will compute and print the charge (that has to paid by the sender) to send parcel as per its weight. That is the program will ask from the sender (or user) to enter the weight of the parcel and will calculate and print the charge for sending that parcel (of given weight).

The program is designed in a way as told in below line:

A post office charges parcel senders according to the weight of the parcel. For each parcel having weight 2 Kg or less,
the charge is Rs.32.50 and for each extra Kg, there is an additional charge of Rs. 10.50

// Write a program in C to calculate charges // after accepting weight of the parcel // If the weight of parcel is less than // or equal to 2kg, then charge will be Rs.32.50 // Otherwise there is an additional charge of // Rs.10.50 per each extra Kg. // -----------codescracker.com----------- #include<stdio.h> #include<conio.h> int main() { float weight, initCharge=32.50, perCharge=10.50, tempWeight, addCharge, totalCharge; printf("Enter weight of the parcel (in Kg): "); scanf("%f", &weight); printf("\n"); if(weight<=2) { printf("Charge = %0.2f", initCharge); } else { tempWeight = weight-2; addCharge = tempWeight * perCharge; totalCharge = addCharge + initCharge; printf("Charge = Rs.%0.2f", totalCharge); } getch(); return 0; }

As the above program was written under **Code::Blocks** IDE, therefore after successful build and run, here is the sample
run. This is the first snapshot:

Now user has to enter the weight of parcel to see the total charge that he/she has to paid. Here is the second snapshot of the same sample run:

If the weight of the parcel is less than or equal to 2, then there is only Rs.32.50 that has to be paid by the parcel sender. Let's take a look at another sample run:

Let's take another sample run as given below. This time user has entered the parcel weight as 1.5 Kg:

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

- Take any two variable say
**initCharge**and**perCharge**. Initialize**32.50**(charge for parcel with less than or equal to 2kg weight) to**initCharge**and initialize**10.50**(charge for every extra kg of parcel weight) to**perCharge** - Now receive the weight of the parcel by user at run-time
- Check whether the given weight is less than or equal to 2 or not
- If it is, then just print the value of
**initCharge**as output that holds the charge value of parcel with weight less than or equal to 2 kg - Otherwise if the weight of the parcel is greater than 2kg, then follow the steps given below
- As the first 2kg of parcel charge is Rs.32.50. Therefore we have to subtract the original weight by 2 and then compute the charge as per given rate that is Rs.10.50 per every extra kg. And then add the calculated charge with 32.50, after this you will get the final charge that has to be paid by the parcel sender to send the parcel
- For example, if user has entered the weight of the parcel as 10kg. As the value 10 is
greater than 2, therefore program flow goes inside the
**else**block - Inside
**else**block,**weight-2**or**10-2**or**8**is initialized to**tempWeight**, then**tempWeight * perCharge**or**8 * 10.50**or**84**is initialized to**addCharge**, and then**addCharge + initCharge**or**84 + 32.50**or**116.5**is initialized to**totalCharge** - Print the value of
**totalCharge**as output that will be the final charge (to paid) to send the parcel