Question: Your solution should have a minimum of: 1 . Jd class. a . Default constructor that initializes to now ( accurate to a second )
Your solution should have a minimum of:
Jd class.
a Default constructor that initializes to now accurate to a second
b A literal constructor that takes a real number.
c All seven relational operators.
i
ii
iii.
iv
v
vi
vii.
d Methodsoperators for addingsubtracting: seconds, minutes, hours, days, weeks, years orbital
e Difference operator.
Gregorian class.
a Default constructor that initializes to now accurate to a second
b Gregorian date constructor no time part
c Gregorian date constructor with time initialization as well
d Methodsoperators for addingsubtracting:
i seconds, minutes, hours, days, weeks these might be shared with Jd class
iiyears Whole numbers only. The result should be the same day in the new year. The
exception is a starting date on February on a leap year and the ending date is a non
leap year. In this case, you would use the largest day in that month February
iii. month Whole numbers only. If you add a month the day should be exactly the same as
the original day. The exception is if the day in the starting month is greater than the last
day in the ending month. In this case, you would use the largest day in that month.
January plus one month is February
e A tostring method that returns a string containing the Gregorian date and hour time of day
egFriday September CE:: am
f Several supporting functions will help with the above functionality. They may include the
following functions: isgregorianleapyear daysinmonth jdtohms hmstodays
monthname
Your code should pass all the boost unit tests provided to cover the new operations. Your
functionsclasses should be written to pass the boost unit tests provided. If the boost unit tests fail,
those operations will not be awarded full marks. You shall not modify the boost unit tests provided as a
starting point. Passing the boost unit tests does not guarantee that you will earn all marks for that
function if the function is not done properly
Create a Julian class equivalent to the Gregorian class you have just created.
Create the Islamic conversion algorithms to convert from the Jd class to Islamic and from Islamic to Jd
To test your algorithm, you must pass the utKhronosislamicconcepts.cpp and
utKhronosislamicconv.cpp file.
Create the rest of the Islamic class equivalent to the Gregorian class that you have created. You should
pass the utKhronos islamic class.cpp file
Create the Hebrew conversion algorithms to convert from the Jd class to Hebrew and from Islamic to Jd
To test your algorithm, you must pass the utKhronoshebrewconcepts.cpp and
utKhronoshebrewconv.cpp file.
Create the rest of the Hebrew class equivalent to the Gregorian class that you have created. You should
pass the utKhronos hebrew class.cpp file
Create the Vulcan conversion algorithms along with the rest of the Vulcan class equivalent to the
Gregorian class that you have created. You should pass all three utKhronos to files.
You must set the test phases that you would like us to mark in the file utKhronos.hpp Test phases set
to true will be graded
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
