একটি টু-ডু লিস্ট প্রোগ্রাম তৈরি করা একটি চমৎকার প্রকল্প যা আপনাকে C প্রোগ্রামিংয়ের ডেটা স্ট্রাকচার, ফাইল অপারেশন এবং ইনপুট/আউটপুট পরিচালনা করতে সহায়তা করবে। এই প্রোগ্রামে ব্যবহারকারী টাস্ক যোগ, মুছতে এবং দেখতে সক্ষম হবে।
নিচে একটি কনসোল ভিত্তিক টু-ডু লিস্ট প্রোগ্রামের উদাহরণ দেওয়া হলো:
টু-ডু লিস্ট প্রোগ্রাম কোড
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_TASKS 100
#define TASK_LENGTH 100
// ফাংশন ডিক্লারেশন
void addTask(char tasks[][TASK_LENGTH], int *taskCount);
void viewTasks(char tasks[][TASK_LENGTH], int taskCount);
void deleteTask(char tasks[][TASK_LENGTH], int *taskCount);
int main() {
char tasks[MAX_TASKS][TASK_LENGTH]; // টাস্ক সংরক্ষণের জন্য 2D অ্যারে
int taskCount = 0; // বর্তমান টাস্কের সংখ্যা
int choice;
while (1) {
// মেনু প্রদর্শন
printf("\nTo-Do List Menu:\n");
printf("1. Add Task\n");
printf("2. View Tasks\n");
printf("3. Delete Task\n");
printf("4. Exit\n");
printf("Choose an option (1-4): ");
scanf("%d", &choice);
switch (choice) {
case 1:
addTask(tasks, &taskCount);
break;
case 2:
viewTasks(tasks, taskCount);
break;
case 3:
deleteTask(tasks, &taskCount);
break;
case 4:
printf("Exiting the program.\n");
exit(0);
default:
printf("Invalid choice. Please try again.\n");
}
}
return 0;
}
// টাস্ক যোগ করার ফাংশন
void addTask(char tasks[][TASK_LENGTH], int *taskCount) {
if (*taskCount >= MAX_TASKS) {
printf("Error: Task list is full. Cannot add more tasks.\n");
return;
}
printf("Enter a task: ");
getchar(); // নতুন লাইন অগ্রাহ্য করার জন্য
fgets(tasks[*taskCount], TASK_LENGTH, stdin);
// নতুন লাইনটি সরিয়ে ফেলুন
tasks[*taskCount][strcspn(tasks[*taskCount], "\n")] = 0;
(*taskCount)++;
printf("Task added successfully!\n");
}
// টাস্কগুলি দেখানোর ফাংশন
void viewTasks(char tasks[][TASK_LENGTH], int taskCount) {
if (taskCount == 0) {
printf("No tasks available.\n");
return;
}
printf("\nYour To-Do List:\n");
for (int i = 0; i < taskCount; i++) {
printf("%d. %s\n", i + 1, tasks[i]);
}
}
// টাস্ক মুছে ফেলার ফাংশন
void deleteTask(char tasks[][TASK_LENGTH], int *taskCount) {
int index;
if (*taskCount == 0) {
printf("No tasks available to delete.\n");
return;
}
viewTasks(tasks, *taskCount); // প্রথমে টাস্কগুলি দেখান
printf("Enter the task number to delete: ");
scanf("%d", &index);
if (index < 1 || index > *taskCount) {
printf("Invalid task number.\n");
return;
}
// টাস্ক মুছে ফেলা
for (int i = index - 1; i < *taskCount - 1; i++) {
strcpy(tasks[i], tasks[i + 1]);
}
(*taskCount)--; // টাস্ক সংখ্যা কমানো
printf("Task deleted successfully!\n");
}
কোডের ব্যাখ্যা
হেডার ফাইল অন্তর্ভুক্ত করা:
#include <stdio.h>: ইনপুট এবং আউটপুট ফাংশন ব্যবহারের জন্য।#include <stdlib.h>: প্রোগ্রাম বন্ধ করার জন্য।#include <string.h>: স্ট্রিং সম্পর্কিত ফাংশন ব্যবহারের জন্য।
নির্ধারিত কনস্ট্যান্টস:
MAX_TASKS: সর্বাধিক টাস্কের সংখ্যা।TASK_LENGTH: প্রতিটি টাস্কের সর্বাধিক দৈর্ঘ্য।
প্রধান ফাংশন:
int main(): প্রোগ্রামের প্রধান ফাংশন যেখানে মেনু প্রদর্শিত হয় এবং ব্যবহারকারীর ইনপুট নেওয়া হয়।
ফাংশনগুলো:
addTask(): নতুন টাস্ক যোগ করার জন্য।viewTasks(): বর্তমান টাস্কগুলি দেখানোর জন্য।deleteTask(): একটি নির্দিষ্ট টাস্ক মুছতে।
কিভাবে প্রোগ্রামটি রান করবেন
- কোডটি একটি
.cফাইলে সংরক্ষণ করুন (যেমনtodo_list.c)। - কমান্ড লাইন বা টার্মিনাল ওপেন করুন।
- কোডটি কম্পাইল করতে নিম্নলিখিত কমান্ড ব্যবহার করুন:
- প্রোগ্রামটি চালাতে নিম্নলিখিত কমান্ড ব্যবহার করুন:
উপসংহার
এই টু-ডু লিস্ট প্রোগ্রামটি মৌলিক ফিচার সহ একটি কার্যকরী টাস্ক ম্যানেজমেন্ট সিস্টেম তৈরি করতে সহায়তা করে। আপনি এটি উন্নত করতে অন্যান্য ফিচার যেমন ফাইল সেভিং, অনুস্মারক, বা প্রায়োরিটি যুক্ত করতে পারেন। এই প্রকল্পটি C প্রোগ্রামিংয়ের দক্ষতা বাড়ানোর জন্য একটি চমৎকার সুযোগ।
./todo_list
gcc todo_list.c -o todo_list
Read more