i. You are required to carry out extra research for your system and document anylogical assumptions you made after the research.ii. Your program should use symbolic constants where appropriate. Validations needto be included to ensure the accuracy of the system. State any assumptions that youmake under each function.iii. Your program must be modular, user-friendly using programming techniques thatyou have learnt. You may include any extra features which you may feel relevantand that add value to the system. The menus could be modified in order to facilitatemore options.iv. There should be no need for graphics in your program, as what is being assessed, isyour programming skill not the interface design. The marking scheme for theassignment has been provided so that you clearly know how the assessment for thisassignment would be done.v. You should include the good programming practice such as comments, variableinitialisation, naming conventions and indentation.vi. In a situation where the students,- Failed to attempt the assignment demonstration, overall marks awarded forthe assignment will be adjusted to 50% of the overall existing marksvii. You are required to use portable ANSI C to implement the solution. Use of anyother language like C++/java etc is not allowed. Global data is not allowed.viii. Results of a comprehensive testing is to be included in your document. Each testingshall include test procedure, pre-condition, expected result and result produced. Thetests conducted shall take into consideration of all valid inputs and negative testcases.