স্ট্রাকচার হল ভিন্ন ডেটা টাইপের ভেরিয়েবল গ্রুপ করে একটি নামের নিচে রাখা। নেস্টেড স্ট্রাকচার, স্ট্রাকচার পয়েন্টার, ফাংশনে পাস করা — সব সম্ভব।
প্রোগ্রাম: ইনভেন্টরি সিস্টেম
- নেস্টেড স্ট্রাকচার:
struct date(দিন, মাস, বছর)struct details-এর ভিতরে। item[50]অ্যারে দিয়ে ৫০টি আইটেম স্টোর।- ইনপুট: নাম, কোড, কোয়ান্টিটি, প্রাইস, ম্যানুফ্যাকচারিং ডেট।
- আউটপুট: টেবিল ফরম্যাটে সব আইটেম দেখানো।
C কোড (সংক্ষিপ্ত)
#include <stdio.h>
struct date { int day, month, year; };
struct details {
char name[20];
int price, code, qty;
struct date mfg;
} item[50];
int main() {
int n, i;
printf("Enter number of items: ");
scanf("%d", &n);
for (i = 0; i < n; i++) {
printf("Item name: "); scanf("%s", item[i].name);
printf("Item code: "); scanf("%d", &item[i].code);
printf("Quantity: "); scanf("%d", &item[i].qty);
printf("Price: "); scanf("%d", &item[i].price);
printf("Mfg date (dd-mm-yyyy): ");
scanf("%d-%d-%d", &item[i].mfg.day, &item[i].mfg.month, &item[i].mfg.year);
}
// টেবিল হেডার ও ডেটা প্রিন্ট
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);
return 0;
}
নমুনা আউটপুট
***** INVENTORY ***** S.N.| NAME | CODE | QUANTITY | PRICE | MFG.DATE 1 pen 12 50 25 12/2/2020 2 pencil 15 100 30 11/3/2020 ...