Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में किसी दिए गए वर्ष के लिए कैलेंडर प्रिंट करें

इस समस्या में, हमें एक वर्ष दिया जाता है और हम उस वर्ष के लिए कैलेंडर प्रिंट करना चाहते हैं।

साल का कैलेंडर महीने की हर तारीख को सभी दिन, महीने दिखाता है। और यहां हम एक प्रोग्राम बनाएंगे जो चालू वर्ष का कैलेंडर लौटाएगा।

इसके लिए हमें कुछ गणनाओं की आवश्यकता होगी जैसे,

किसी खास महीने में दिनों की संख्या

जनवरी, मार्च, मई, जुलाई, अगस्त, अक्टूबर, दिसंबर में 31 दिन होते हैं।

गैर लीप वर्ष में फरवरी 28 दिन और लीप वर्ष में 29 दिन होते हैं।

अप्रैल, जून, सितंबर, नवंबर में 30 दिन होते हैं।

आरंभ दिन (कार्यदिवस) महीने पर

साल और महीने के आधार पर, हर महीने की पहली तारीख को कार्यदिवस मिलता है।

उदाहरण

अब, 2020 के कैलेंडर को प्रिंट करने के लिए एक प्रोग्राम बनाते हैं -

#include<iostream>
using namespace std;
int dayNumber(int day, int month, int year){
   static int t[] = { 0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4 };
   year -= month < 3;
   return ( year + year/4 - year/100 + year/400 + t[month-1] + day) % 7;
}
string getMonthName(int monthNumber){
   string months[] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
   return (months[monthNumber]);
}
int numberOfDays (int monthNumber, int year){
   switch(monthNumber){
      case 0 :
      case 2 :
      case 4 :
      case 6 :
      case 7 :
      case 9 :
      case 11: return(31);
      break;
      case 1 :
         if (year % 400 == 0 || (year % 4 == 0 && year %100 != 0))
            return (29);
         else
            return (28);
      break;
      case 3 :
      case 5 :
      case 8 :
      case 10 : return(30);
      break;
   }
}
void printCalendar(int year){
   cout<<"\t\t\t Calendar - Year "<<year;
   int days;
   int current = dayNumber (1, 1, year);
   for (int i = 0; i < 12; i++){
      days = numberOfDays (i, year);
      cout<<endl<<"\t\t ----X----"<<getMonthName (i).c_str()<<"----X---- \t\t"<<endl;
      cout<<" Sun Mon Tue Wed Thu Fri Sat \n";
      int k;
      for (k = 0; k < current; k++)
         cout<<"\t";
      for (int j = 1; j <= days; j++){
         printf("%5d", j);
         if (++k > 6){
            k = 0;
            cout<<endl;
         }
      }
      if (k)
         cout<<endl;
         current = k;
      }
   return;
}
int main(){
   int year = 2019;
   printCalendar(year);
   return (0);
}

आउटपुट

Calendar - Year 2019
----X----January----X----
Sun Mon Tue Wed Thu Fri Sat
         1   2   3   4   5
6    7   8   9   10  11 12
13   14  15  16  17  18 19
20   21  22  23  24 25 26
27   28  29  30   31
----X----February----X----
Sun Mon Tue Wed Thu Fri Sat
                     1   2
3    4   5    6   7   8   9
10   11  12   13  14  15 16
17   18  19   20   21 22 23
24    25  26  27   28
----X----March----X----
Sun Mon Tue Wed Thu Fri Sat
                     1  2
3    4    5   6  7   8   9
10   11 12   13  14 15   16
17   18 19   20  21 22  23
24   25 26   27 28 29 30
31
----X----April----X----
Sun Mon Tue Wed Thu Fri Sat
     1    2  3   4   5   6
7    8    9 10   11 12   13
14  15    16 17   18 19  20
21  22  23   24  25  26 27
28 29   30
----X----May----X----
Sun Mon Tue Wed Thu Fri Sat
             1    2  3  4
5    6    7  8    9 10 11
12   13   14 15  16  17 18
19   20   21 22 23  24  25
26   27  28 29  30   31
----X----June----X----
Sun Mon Tue Wed Thu Fri Sat
                        1
2    3    4   5  6 7    8
9    10  11 12 13 14 15
16    17 18 19 20 21 22
23    24 25 26 27 28 29
30
----X----July----X----
Sun Mon Tue Wed Thu Fri Sat
      1    2  3    4   5 6
7    8    9    10 11 12 13
14    15 16    17 18 19 20
21 22 23    24    25 26 27
28 29 30 31
----X----August----X----
Sun Mon Tue Wed Thu Fri Sat
                  1  2   3
4    5    6    7  8    9 10
11  12  13  14   15 16 17
18  19  20   21  22 23 24
25 26  27   28  29 30 31
----X----September----X----
Sun Mon Tue Wed Thu Fri Sat
1    2    3   4  5   6 7
8    9    10  11 12 13 14
15  16  17   18 19 20 21
22  23 24 25 26 27 28
29 30
----X----October----X----
Sun Mon Tue Wed Thu Fri Sat
         1   2  3   4   5
6    7   8   9 10  11   12
13  14 15   16 17   18 19
20  21   22 23 24   25 26
27  28  29   30 31
----X----November----X----
Sun Mon Tue Wed Thu Fri Sat
                     1   2
3    4    5  6   7   8   9
10   11   12 13 14   15 16
17   18   19  20 21 22 23
24   25   26   27 28 29 30
----X----December----X----
Sun Mon Tue Wed Thu Fri Sat
1    2   3   4   5   6   7
8    9   10  11  12 13  14
15   16  17  18  19 20  21
22   23  24  25  26 27  28
29   30   31

  1. किसी दिए गए स्रोत से गंतव्य तक सभी पथों को C++ में प्रिंट करें

    इस समस्या में हमें एक निर्देशित ग्राफ़ दिया जाता है और हमें स्रोत से ग्राफ़ के गंतव्य तक के सभी पथों को प्रिंट करना होता है। निर्देशित ग्राफ़ किनारों वाला एक ग्राफ़ है जो शीर्ष a से b तक निर्देशित होता है। समस्या को समझने के लिए एक उदाहरण लेते हैं स्रोत =के गंतव्य =पी आउटपुट: K -> T -&

  1. C++ में डिस्कनेक्टेड ग्राफ़ के लिए BFS

    डिस्कनेक्ट किया गया ग्राफ़ एक ग्राफ़ है जिसमें एक या अधिक नोड ग्राफ़ के अंतिम बिंदु नहीं होते हैं अर्थात वे जुड़े नहीं होते हैं। डिस्कनेक्ट किया गया ग्राफ़… अब, साधारण बीएफएस केवल तभी लागू होता है जब ग्राफ जुड़ा होता है यानी ग्राफ के सभी कोने ग्राफ के एक नोड से पहुंच योग्य होते हैं। उपरोक्त डिस्

  1. पायथन में दिए गए महीने और साल के लिए कैलेंडर कैसे प्रिंट करें?

    आप कैलेंडर मॉड्यूल का उपयोग किसी दिए गए वर्ष के किसी दिए गए महीने के लिए पायथन में कैलेंडर प्राप्त करने के लिए कर सकते हैं। आपको तर्क के रूप में वर्ष और महीना देना होगा। उदाहरण import calendar y = 2017 m = 11 print(calendar.month(y, m)) आउटपुट यह आउटपुट देगा -    November 2017 Mo Tu We Th