
Explanation of Solution
Program code:
//include the required header files
#include <iostream>
#include <string>
#include <iomanip>
#include <fstream>
//use the std namespace
using namespace std;
//create a string array MONTHARRAY
const string MONTHARRAY[12] = { " January", " February", " March", " April", " May", " June", " July", " August", " September", " October", " November", " December"};
//create a string array DAYARRAY
const string DAYARRAY[7] = {"Sun ", " Mon ", " Tue ", " Wed ", " Thu ", " Fri ", " Sat"};
int a,y,day,m,d, x;
//create integer variable month
int month;
//define two functions printMonth() and getFirst
void printMonth(int month, int startDay, int year);
int getFirst(int month, int day, int year);
//define the main() function
int main (void)
{
//prompt the user to enter the year later than 1582
cout<<"Please enter a year later than 1582: ";
//scan for the value
cin>>x;
//if the value of x is greater than 1582
if(x>1582)
{
//iterate a for loop
for (int i = 0; i<12; i++)
{
//call the methods
getFirst(i, 1, x);
printMonth(i, d, x);
}
}
//if the value of x is less than 1582
else
{
//print the statement
cout<<"That year is before 1582, please enter a better year: ";
//scan for the value
cin>>x;
}
//return 0
return 0;
}
//define the method getFirst()
int getFirst(int month, int day, int year)
{
//set the values
a = (14-month)/12;
y = year-a;
m = month+12*a-2;
d = (day+y+y/4-y/100+y/400+(31*m/12))%7;
//return the value of d
return d;
}
//define the method printMonth()
void printMonth(int month, int startDay, int year)
{
//create integer array to hold the dates
int daysInMonths[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
//create two integer variables
int copy = 1;
int counter = 1;
//print the values of M ONTHARRAY[]
cout<<MONTHARRAY[month]<<endl;
//finding leap year
//if the year is divisible by 4
if(year%4 == 0)
//set the daysInMonths[1] as 29
daysInMonths[1] = 29;
//iterate a for loop
for(int i = 0; i <=6; i++)
{
//print the values of DAYARRAY[]
cout<<DAYARRAY[i];
//if the value i is 6
if(i == 6)
//new line
cout<<endl;
}
//iterate a while loop
while(copy<=daysInMonths[month])
{
//if the value of counter is less than or equal to startDay
if(counter <= startDay)
//print the value of left and call the method setw()
cout<<left<<setw(5)<<" ";
//if the value of counter is greater than startDay
else
{
//print the value of left and call the method setw()
cout<<left <<setw(5) <<copy;
//increment the value of copy by 1
copy++;
}
//if the counter is divisible by 7
if(counter%7 == 0 )
//print a new line
cout<<endl;
//increment the counter by 1
counter++;
}
//print a new line
cout<<endl;
}
Explanation:
The above snippet of code is used create the calendar of any year later 1582. Check the leap year. In the code,
- Include the required header files.
- Use the “std” namespace.
- Create string array “MONTHARRAY[]” and “DAYARRAY[]”.
- Create the required integer variables.
- Declare two functions “printMonth()” and “getFirst()”.
- Define “main()” function.
- Prompt the user to enter the year later than 1582.
- Scan for the value.
- If the value of “x” is greater than 1582.
- Iterate a “for” loop.
- Call the method “getFirst()” and “printMonth()”.
- Iterate a “for” loop.
- If the value of “x” is less than 1582.
- Prompt the statement.
- Print the value of “x”.
- Return “0”.
- Define a method “printMonth()”.
- Declare integer array, “daysInMonth[]” and variables “copy”, “counter”.
- Print the values of the array “MONTHARRAY[]”.
- If the year is divisible by “4”.
- Iterate a “for” loop;
- Print the values of the array “DAYARRAY[]”.
- If the value of “i” is equal to “6”.
-
- Print a new line.
- Iterate a “while” loop.
- If the value of “counter” is less than or equal to “startDay”.
- Print the value of “left” and “setw(5)”.
- If the value of “counter” is greater than “startDay”.
- Print the value of “left” and “setw(5)”.
- Increment the value of “copy” by 1.
- If the value of “counter” is divisible by “7”.
- Print a new line.
- Increment the “counter” by 1
- If the value of “counter” is less than or equal to “startDay”.
- Print a new line.
- Iterate a “while” loop.
- Print a new line.
- Iterate a “for” loop;
Output:
Please enter a year later than 1582: 1992
January
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
February
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
March
Sun Mon Tue Wed Thu Fri Sat
;&#x...
Want to see the full answer?
Check out a sample textbook solution
Chapter 1 Solutions
Data structures and algorithms in C++
- Don't use chatgpt or any other AIarrow_forwardGiven a relation schema R = (A, B, C, D, E,G) with a set of functional dependencies F {ABCD BC → DE B→ D D→ A}. (a) Show that R is not in BCNF using the functional dependency A → BCD. (b) Show that AG is a superkey for R (c) Compute a canonical cover Fc for the set of functional dependencies F. Show your work. (d) Give a 3NF decomposition of R based on the canonical cover found in (c). Show your work. (e) Give a BCNF decomposition of R using F. Show your work.arrow_forwardThe following entity-relationship (ER) diagram models a database that helps car deal- ers maintain records of customers and cars in their inventory. Construct a relational database schema from the ER diagram. Your set of schemas should include primary-key and foreign-key constraints and you should ensure there are no redundant schemas. has_model model modelID name vehicle has_vehicle VIN dealer_ID brand name has_available_option has_option has_dealer options options_ID specification dealer dealer ID name customer_ID owned_by customer customer ID namearrow_forward
- A relation schema R = (A, B, C, D, E) with a set of functional dependencies F= {D A CAB} is decomposed into R₁ = (A, B, C) and R2 = (C, D, E). (a) Is this a lossless-join decomposition? Why or why not? (b) Is the decomposition dependency preserving? Why or why not?arrow_forwardNo chatgpt pleasearrow_forwardPlease help draw alu diagraarrow_forward
- 1. Level the resources (R) for the following network. Show exactly which activity is being moved at each cycle and how many days it is being moved. Show all cycles required to utilize the free float and the back float. B H 3 3 L 2 0-0-0 A C F G K N P Q T 0 3 2 2 1 2-2-2 7R 8R 4R 6R 4R 2R 5R 4R D 1 2R 2 M 000 4R 2 4R 1 2 3 4 B5 B BE B 5 5 7 D 2003 C NO C MBSCM В H 5 2 F 7 7 8 SH2F80 5 Н Н 6 7 7L3G4+ 6H2G4 J 4 4 14 8 L K 00 36 9 10 11 12 13 14 15 P 2 Z+ N N 4 4 Z t 2334 4 Σ + M M 4 +arrow_forward2. Perform resource allocation for the following project. Resource limits are 6 labors and 2 helpers. Legend: Activity Dur Resources G H 2 3 2L 1H 2L OH A 1 3L 1H + B D F J K 3 4 6 2 4 4L 2H 3L OH 4L 1H 2L 2H 4L 2H C E 2 2 I 1 2L 1H 3L 1H 5L 1Harrow_forwardNeed Java method please. Thank you.arrow_forward
- Need Java method please. Thank you.arrow_forward3. Write two nested loops to generate the following output. (Note: There is one space between each number, and any extra line shown is intentional.) 12 10 8 6 18 15 12 24 20 30 2 3 3 6 48 12 5 10 15 20 6 12 18 24 30arrow_forwardWrite in verilog coding languagearrow_forward
Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill Education
Starting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSON
Digital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSON
Database Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage Learning
Programmable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education





