Question
The Task In this assignment you are required to design, implement and test a program that can be used to manage a simple personal diary
The Task In this assignment you are required to design, implement and test a program that can be used to manage a simple personal diary with appointment records, which are stored in an array. Your program must provide an interactive editing environment that allows the user to: create new appointment records and add them to the diary; display all appointment records with details; tally all appointments for summary of the diary; shuffle appointment records; sort all appointment records based on an attribute; CSC1401, Assignment III Specification 2 search for specific appointment in all records. The program is to be implemented by JavaScript and as an .html file running on Firefox, an OS independent web browser. Personal Diary Figure 1 illustrates the personal diary with interactive editing environment. Please use this illustration as the reference for the following descriptions. Figure 1: The Interactive Editing Environment of Diary Appointments An appointment in this program will hold or encapsulate data for the priority, date, start time, end time, subject, and venue of the appointment. In respect to each of the attributes, an appointment can be represented like the following sample: CSC1401, Assignment III Specification 3 High; 15/10/2018 0800; 1000; CSC1401 class; D113, Twmb campus, USQ Which can be deciphered as the appointment with High priority, on the date of 15/10/2018, starting at 0800 and finishing at 1000, about the subject of CSC1401 class, and at the venue of D113, Twmb campus, USQ. You should create a global variable an array to store all such appointments. For the sake of easy explanation, we refer to this variable by appointmentArr in the rest of this document. There are some limitations that must be imposed on the appointments: 1. The primary unit of time in an appointment is hour. 2. An appointment starts and finishes on the same day; 3. Only appointments occurring at future time can be added to the diary; 4. No concurrent appointments are to be added into the Diary. Date A date is valid if and only if: year> 1583 (the beginning of the Gregorian calendar) 1 <= month <= 12 1 <= day <= daysInMonth(month, year) daysInMonth = 30 if the month is April, June, September, or November daysInMonth = 31 if the month is January, March, May, July, August, October, or December daysInMonth = 28 if the month is February and is not a leapYear(year) daysInMonth = 29 if the month is February and is a leap Year(year) A year is a leap year if year is divisible by 400 year is divisible by 4 and if year is not divisible by 100 So, the year 2000 is a leap year, 2004 is a leap year but 2100 is not a leap year. Time The time (Start time and End time) of an appointment is valid if and only if: 0800 <= Start <= 1800; 0800 <= End <= 1800; Start
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started