SlideShare a Scribd company logo
1 of 7
1 | P a g e C A N A L H I G H E R I N S T I T U T E O F E N G I N E E R I N G & T E C H N O L O G Y
Task 4:
//daycalculation.cpp
C++ program: shows the day of the
week by date given
Khalid Waleed
CANAL HIGH INSTITUTE OF ENGINEERING & TECHNOLOGY
Prepared By:
2 | P a g e C A N A L H I G H E R I N S T I T U T E O F E N G I N E E R I N G & T E C H N O L O G Y
1: // daycalculation.cpp
2: // shows the day of the week by date given
3: #include <iostream>
4: using namespace std;
5: void error(int &);
6: int main()
7: {
8: int day, month, m, year, century, day_of_week;
9: char ask;
10: cout <<" program to show the day of the week by date n";
11: cout <<"-------------------------------------------------------------"<<endl;
12: cout <<"centuries availiable : 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23";
13: cout <<"n ***** Note: we are now in the 21st century ***** n";
14: do
15: {
16: cout <<"please Enter the century number: ";
17: cin >> century;
18: error(century);
19: switch (century)
20: {
21: case 20:
23: break;
22: century;
24: case 21:
25: --century;
26: break;
27: case 19:
28: century+=2;
29: break;
30: case 18:
3 | P a g e C A N A L H I G H E R I N S T I T U T E O F E N G I N E E R I N G & T E C H N O L O G Y
31: century++;
32: break;
33: case 22:
34: century+=2;
35: break;
36: case 23:
37: century+=2;
38: break;
39: case 17:
40: century+=2;
41: break;
42: case 16:
43: century+=3;
44: break;
45: case 15:
46: century+=3;
47: break;
48: case 14:
49: century-=2;
50: break;
51: case 13:
52: century--;
53: break;
54: default:
55: cout <<"century number not in the list n";
56: cout <<"Day calculation may not be accurate n";
57: cout <<"do you want to continue (y/n) ?";
58: cin >> ask;
59: if(ask == 'y')
60: break;
61: else
4 | P a g e C A N A L H I G H E R I N S T I T U T E O F E N G I N E E R I N G & T E C H N O L O G Y
62: goto again;
63: }
64: cout <<"Enter the date (day/month/year) n";
65: cout <<"day number = "; cin >> day;
66: error(day);
67: if (day >31)
68: {
69: cout <<"Unknown day! n";
70: goto again;
71: }
72: cout <<"month number = "; cin >> month;
73: error(month);
74: switch(month)
75: {
76: case 1:
77: m =6;
78: break;
79: case 2:
80: m =2;
81: break;
82: case 3:
83: m =2;
84: break;
85: case 4:
86: m =5;
87: break;
88: case 5:
89: m =0;
90: break;
91: case 6:
92: m =3;
5 | P a g e C A N A L H I G H E R I N S T I T U T E O F E N G I N E E R I N G & T E C H N O L O G Y
93: break;
94: case 7:
95: m =5;
96: break;
97: case 8:
98: m =1;
99: break;
100: case 9:
101: m =4;
102: break;
103: case 10:
104: m =6;
105: break;
106: case 11:
107: m =2;
108: break;
109: case 12:
110: m =4;
111: break;
112: default:
113: cout <<"Unknown month! n";
114: goto again;
115: }
116: cout <<"year number = "; cin >> year;
117: error(year);
118: day_of_week =( day + m + year +(year/4)+ century )%7;
119: switch(day_of_week)
120: {
121: case 6:
122: cout <<"the day was a Saturday n";
123: break;
6 | P a g e C A N A L H I G H E R I N S T I T U T E O F E N G I N E E R I N G & T E C H N O L O G Y
124: case 0:
125: cout <<"the day was a Sunday n";
126: break;
127: case 1:
128: cout <<"the day was a Monday n";
129: break;
130: case 2:
131: cout <<"the day was a Tuesday n";
132: break;
133: case 3:
134: cout <<"the day was a Wednesday n";
135: break;
136: case 4:
137: cout <<"the day was a Thursday n";
138: break;
139: case 5:
140: cout <<"the day was a Friday n";
141: break;
142: default:
143: cout <<"ERROR!! n";
144: }
145: again:
146: cout <<"Do again (y/n)? : ";
147: cin >> ask;
148: }while(ask == 'y');
149: return 0;
150: }
151: void error(int &x)
152: {
153: while (cin.fail())
154: {
7 | P a g e C A N A L H I G H E R I N S T I T U T E O F E N G I N E E R I N G & T E C H N O L O G Y
155: cin.clear();// clear input buffer to restore cin to a usable state
156: cin.ignore(INT_MAX, 'n');// ignore last input
157: cout <<"You can only enter numbers.n";
158: cout <<"Enter a number : ";
159: cin >> x;
160: }
161: }

More Related Content

Similar to C++ program: Day calculation .cpp (7)

C++ program: All tasks .cpp
C++ program: All tasks .cppC++ program: All tasks .cpp
C++ program: All tasks .cpp
 
Ch4
Ch4Ch4
Ch4
 
ตัวอย่างการเขียนโปรแกรม โดยใช้ฟังก์ชัน
ตัวอย่างการเขียนโปรแกรม โดยใช้ฟังก์ชันตัวอย่างการเขียนโปรแกรม โดยใช้ฟังก์ชัน
ตัวอย่างการเขียนโปรแกรม โดยใช้ฟังก์ชัน
 
Rkf
RkfRkf
Rkf
 
201801 CSE240 Lecture 15
201801 CSE240 Lecture 15201801 CSE240 Lecture 15
201801 CSE240 Lecture 15
 
CCE management system
CCE management systemCCE management system
CCE management system
 
Pushandpullproductionsystems chap7-ppt-100210005527-phpapp01[1]
Pushandpullproductionsystems chap7-ppt-100210005527-phpapp01[1]Pushandpullproductionsystems chap7-ppt-100210005527-phpapp01[1]
Pushandpullproductionsystems chap7-ppt-100210005527-phpapp01[1]
 

Recently uploaded

Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 

Recently uploaded (20)

VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 

C++ program: Day calculation .cpp

  • 1. 1 | P a g e C A N A L H I G H E R I N S T I T U T E O F E N G I N E E R I N G & T E C H N O L O G Y Task 4: //daycalculation.cpp C++ program: shows the day of the week by date given Khalid Waleed CANAL HIGH INSTITUTE OF ENGINEERING & TECHNOLOGY Prepared By:
  • 2. 2 | P a g e C A N A L H I G H E R I N S T I T U T E O F E N G I N E E R I N G & T E C H N O L O G Y 1: // daycalculation.cpp 2: // shows the day of the week by date given 3: #include <iostream> 4: using namespace std; 5: void error(int &); 6: int main() 7: { 8: int day, month, m, year, century, day_of_week; 9: char ask; 10: cout <<" program to show the day of the week by date n"; 11: cout <<"-------------------------------------------------------------"<<endl; 12: cout <<"centuries availiable : 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23"; 13: cout <<"n ***** Note: we are now in the 21st century ***** n"; 14: do 15: { 16: cout <<"please Enter the century number: "; 17: cin >> century; 18: error(century); 19: switch (century) 20: { 21: case 20: 23: break; 22: century; 24: case 21: 25: --century; 26: break; 27: case 19: 28: century+=2; 29: break; 30: case 18:
  • 3. 3 | P a g e C A N A L H I G H E R I N S T I T U T E O F E N G I N E E R I N G & T E C H N O L O G Y 31: century++; 32: break; 33: case 22: 34: century+=2; 35: break; 36: case 23: 37: century+=2; 38: break; 39: case 17: 40: century+=2; 41: break; 42: case 16: 43: century+=3; 44: break; 45: case 15: 46: century+=3; 47: break; 48: case 14: 49: century-=2; 50: break; 51: case 13: 52: century--; 53: break; 54: default: 55: cout <<"century number not in the list n"; 56: cout <<"Day calculation may not be accurate n"; 57: cout <<"do you want to continue (y/n) ?"; 58: cin >> ask; 59: if(ask == 'y') 60: break; 61: else
  • 4. 4 | P a g e C A N A L H I G H E R I N S T I T U T E O F E N G I N E E R I N G & T E C H N O L O G Y 62: goto again; 63: } 64: cout <<"Enter the date (day/month/year) n"; 65: cout <<"day number = "; cin >> day; 66: error(day); 67: if (day >31) 68: { 69: cout <<"Unknown day! n"; 70: goto again; 71: } 72: cout <<"month number = "; cin >> month; 73: error(month); 74: switch(month) 75: { 76: case 1: 77: m =6; 78: break; 79: case 2: 80: m =2; 81: break; 82: case 3: 83: m =2; 84: break; 85: case 4: 86: m =5; 87: break; 88: case 5: 89: m =0; 90: break; 91: case 6: 92: m =3;
  • 5. 5 | P a g e C A N A L H I G H E R I N S T I T U T E O F E N G I N E E R I N G & T E C H N O L O G Y 93: break; 94: case 7: 95: m =5; 96: break; 97: case 8: 98: m =1; 99: break; 100: case 9: 101: m =4; 102: break; 103: case 10: 104: m =6; 105: break; 106: case 11: 107: m =2; 108: break; 109: case 12: 110: m =4; 111: break; 112: default: 113: cout <<"Unknown month! n"; 114: goto again; 115: } 116: cout <<"year number = "; cin >> year; 117: error(year); 118: day_of_week =( day + m + year +(year/4)+ century )%7; 119: switch(day_of_week) 120: { 121: case 6: 122: cout <<"the day was a Saturday n"; 123: break;
  • 6. 6 | P a g e C A N A L H I G H E R I N S T I T U T E O F E N G I N E E R I N G & T E C H N O L O G Y 124: case 0: 125: cout <<"the day was a Sunday n"; 126: break; 127: case 1: 128: cout <<"the day was a Monday n"; 129: break; 130: case 2: 131: cout <<"the day was a Tuesday n"; 132: break; 133: case 3: 134: cout <<"the day was a Wednesday n"; 135: break; 136: case 4: 137: cout <<"the day was a Thursday n"; 138: break; 139: case 5: 140: cout <<"the day was a Friday n"; 141: break; 142: default: 143: cout <<"ERROR!! n"; 144: } 145: again: 146: cout <<"Do again (y/n)? : "; 147: cin >> ask; 148: }while(ask == 'y'); 149: return 0; 150: } 151: void error(int &x) 152: { 153: while (cin.fail()) 154: {
  • 7. 7 | P a g e C A N A L H I G H E R I N S T I T U T E O F E N G I N E E R I N G & T E C H N O L O G Y 155: cin.clear();// clear input buffer to restore cin to a usable state 156: cin.ignore(INT_MAX, 'n');// ignore last input 157: cout <<"You can only enter numbers.n"; 158: cout <<"Enter a number : "; 159: cin >> x; 160: } 161: }