C Program to display the product inventory of items in a store

December 22, 2022, Learn eTutorial

This is a basic C program that demonstrates the use of struct datatype to record different elements of different datatype.Here, we are creating a shop inventory to include the products ie., item's name, price, quantity, etc, and to display it in a table format like billing software. 

What is the structure datatype in C? how structure data type helps to implement product inventory store?

The structure is a user-defined datatype in C. It is a set of variables with different datatypes which is represented by a single name. The keyword struct is used to define a structure. Using a structure datatype we can store a record of different datatype elements in a single memory location. For example, we can check the date using struct:

struct date
       int day;
       int month;
       int year;

Here, we are saving the product details and the date details in two different structure datatypes as struct details and struct date.

The logic of this inventory store program is, first declare the structure variables date, and details. Then declare an array item of datatype details. Then read the number of products the user wants to add into the variable n. By using a for loop with the condition i= 0 to n to read the item details to item also display them after reading in proper format with printf


STEP 1: Include the header files to use the built-in functions in the C program.

STEP 2: Declare the structure date with elements day, month, year.

STEP 3: Declare another structure details with the elements name, price, code, qty, and mfg.

STEP 4: Initialize the variable item of structure details.

STEP 5: Declare the integer variable n, i.

STEP 6: Read the number of items into n.

STEP 7: By using a for loop with the condition i = 0 to n read details of products to item.

STEP 8: Display INVENTORY using printf with another for loop .

This program uses the below concepts of C programming, so please refer these topics for a better understanding.

C Source Code

                                          #include <stdio.h>
void main()
    struct date
        int day;
        int month;
        int year;
    struct details
        char name[20];
        int price;
        int code;
        int qty;
        struct date mfg;
    struct details item[50];
    int n, i;
    printf("Enter number of items:");
    scanf("%d", &n);
    for (i = 0; i < n; i++)
        printf("Item name: \n");
        scanf("%s", item[i].name);
        printf("Item code: \n");
        scanf("%d", & item[i].code);
        printf("Quantity: \n");
        scanf("%d", & item[i].qty);
        printf("price: \n");
        scanf("%d",  & item[i].price);
        printf("Manufacturing date(dd-mm-yyyy): \n");
        scanf("%d-%d-%d", & item[i].mfg.day, & item[i].mfg.month, & item[i].mfg.year);
    printf("             *****  INVENTORY ***** \n");
    printf("S.N.|    NAME           |   CODE   |  QUANTITY |  PRICE| MFG.DATE \n");
    for (i = 0; i < n; i++)
        printf("%d     %-15s        %-d          %-5d     %-5d %d/%d/%d \n", i + 1, item[i].name,
item[i].code, item[i].qty, item[i].price, item[i].mfg.day, item[i].mfg.month, item[i].mfg.year);


Enter number of items:5

Item name:Tea Powder
Item code:123
Manufacturing date(dd-mm-yyyy):12-03-2007

Item name:Milk Powder
Item code:345
Manufacturing date(dd-mm-yyyy):30-03-2007

Item name:Soap Powder
Item code:510
Manufacturing date(dd-mm-yyyy):01-04-2007

Item name:Washing Soap
Item code:890
Manufacturing date(dd-mm-yyyy):10-03-2007

Item name:Shampoo
Item code:777
Manufacturing date(dd-mm-yyyy):17-05-2007

     *****  INVENTORY *****
S.N.|    NAME           |   CODE   |  QUANTITY |  PRICE  |MFG.DATE
1     Tea Powder           123         23         40        12/3/2007
2     Milk Powder          345         20         80        30/3/2007
3     Soap Powder          510         10         30        1/4/2007
4     Washing Soap         890         25         12        10/3/2007
5     Shampoo              777         8          50        17/5/2007