সি প্রোগ্রামিংয়ের মজা ,তোমার জন্মদিন কী বার ছিল?
তোমার জন্মদিন কী বার ছিল? বা কোনও তারিখ থেকেই ওই দিনটি কী বার ছিল তা বের করা😍
প্রোগ্রামটিতে আমাদের মূল হাতিয়ার হল জেলার রুল
Zellers Rule f = k + [(13*m-1)/5] + D + [D/4] + [C/4] - 2*C
//মনে করুন ,16 Decembor 1971 কী বার ছিল ?
এখানে k---হল তারিখ এর মান যেমন এখানে 16
//m-হল মাস এর জেলার ক্রমিক নম্বর ..Dec=10,জেলারের মাসগুলোর ক্রমিক নম্বর 1.Mar","2.Apr","3.May","4.Jun","5.Jul","6.Aug","7.Sep","8.Oct","9.Nov","10.Dec","11.Jan","12.Feb"
//D--হল সাল এর শেষ দুই সংখ্যা ,71
//C--first two digits of year from above it is 20
#include <stdio.h>
#include<stdlib.h>
#include <string.h>
char* months[] = {"Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Jan","Feb"
}
;
char* days[]=
{
"sunday","monday", "tuesday", "wednesday", "thursday", "friday", "saturday"
}
;
main()
{
int k,m,D,C,year,i,f,finalday,flag=0;
char str[3];
printf("Enter date \n");
scanf("%d",&k);
if(k<=0||k>31)
{
printf("Invalid Date\n");
exit(0);
}
printf("Enter first 3 letters of month of the year ex:-for January enter Jan\n");
scanf("%s",str);
for(i=0; i<12; i++)
{
if(!strcmp(str,months[i]))
{
m=i+1;
flag=1;
break;
}
}
if(flag==0)
{
printf("Invalid Month\n");
exit(0);
}
printf("Enter year\n");
scanf("%d",&year);
if(m==11||m==12)
{
year=year-1;
}
D=year%100;
C=year/100;
f = (k+(((13*m)-1)/5)+D+(D/4)+(C/4))-(2*C);
if(f>=0)
{
finalday=f%7;
}
else
{
finalday=((f%7)+7)%7;
}
printf("\nThe Day Was %s\n",days[finalday]);
}
প্রোগ্রামটি রান করার পর ধারাবাহিক ভাবে দিন তারিখ ও বছর জানতে হবে এগুলো ইনপুট দেওয়ার পর রান করলেই ফলাফল আসবে কিন্তু মনে রাখতে হবে মাস শুধুমাত্র তিনটি অক্ষর দিতে হবে এবং প্রথম অক্ষর অবশ্যই বড় হাতের হতে হবে
#include <string.h>
char* months[] = {"Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Jan","Feb"
}
;
char* days[]=
{
"sunday","monday", "tuesday", "wednesday", "thursday", "friday", "saturday"
}
;
main()
{
int k,m,D,C,year,i,f,finalday,flag=0;
char str[3];
printf("Enter date \n");
scanf("%d",&k);
if(k<=0||k>31)
{
printf("Invalid Date\n");
exit(0);
}
printf("Enter first 3 letters of month of the year ex:-for January enter Jan\n");
scanf("%s",str);
for(i=0; i<12; i++)
{
if(!strcmp(str,months[i]))
{
m=i+1;
flag=1;
break;
}
}
if(flag==0)
{
printf("Invalid Month\n");
exit(0);
}
printf("Enter year\n");
scanf("%d",&year);
if(m==11||m==12)
{
year=year-1;
}
D=year%100;
C=year/100;
f = (k+(((13*m)-1)/5)+D+(D/4)+(C/4))-(2*C);
if(f>=0)
{
finalday=f%7;
}
else
{
finalday=((f%7)+7)%7;
}
printf("\nThe Day Was %s\n",days[finalday]);
}
প্রোগ্রামটি রান করার পর ধারাবাহিক ভাবে দিন তারিখ ও বছর জানতে হবে এগুলো ইনপুট দেওয়ার পর রান করলেই ফলাফল আসবে কিন্তু মনে রাখতে হবে মাস শুধুমাত্র তিনটি অক্ষর দিতে হবে এবং প্রথম অক্ষর অবশ্যই বড় হাতের হতে হবে
Enter date
16
Enter first 3 letters of month of the year ex:-for January enter Jan
Dec
Enter year
1971
The day was Thursday
লিখেছেন ,16
Enter first 3 letters of month of the year ex:-for January enter Jan
Dec
Enter year
1971
The day was Thursday
আরো পড়ুনঃ সি প্রোগ্রামিং দিয়ে গোয়েন্দাগিরি,মাসুদ রানা এখন ঢাকায়
Md. Rusul Azom Sumon
CEO & FOUNDER azomTech
(লেখাটি লেখক কতৃক সংরক্ষিত কপি করা কপি করে পরিমার্জন করে অন্যকোথোও প্রকাশ করা সম্পূর্ণ নিষিদ্ধ ,কিন্তু অবাণিজ্যিক উদ্যেশে(শিক্ষার জন্য ) লেখকের অনুমতি নিয়ে ব্যবহার করা যাবে )
No comments