Task
Your task is to design, implement and test a program to calculate the cost of different types of student trips.
Non-Functional Specification
• The program should provide the user with an appropriate textual interface, providing instruction and help.
• The program should execute until the user decides to terminate it.
• The program should output results in a readable and meaningful format
• The cheapest option should always be suggested Functional specification:
• Calculate the cost of the total mileage for the trip (outward and inward bound)
• Include the hire cost of an appropriate sized vehicle
• Include the travel expenses for the appropriate number of accompanying tutors
• Calculate the total cost of food depending on the type of trip:
o Short day trip requires only lunch
o Long day trip requires lunch and dinner
o An overnight trip requires lunch, dinner and breakfast
• Any child requiring special dietary requirements is identified and additional cost incurred Known data values:
• Cost per mile = 40p
• Mini bus = £40 per day holds 12 children and one adult
• Coach = £60 per day holds 36 children and 3 tutors
• There should be 1 accompanying tutor for every group of 12 children
• Breakfast costs £1.50 per child
• Lunch costs £2.00 per child
• Dinner costs £3.50 per child
• Special dietary requirements are charged at an extra 8% per meal
• Accompanying tutors are charged an extra 20% for each meal (they are not charged extra for special diets)
Test data:
• 32 children on a short day trip 6 have special dietary requirements
• 10 children on an overnight stay 1 has special dietary requirements
Part 1: Pseudo--code and first stage formal design -:
• Any assumptions made
• A breakdown of the problem into key sub--problems,
• Pseudo--code solutions for those sub-problems
• An initial high-level formal flow chart of how you intend your program to work.
Part 2: Your final working program and design documentation. This should include:
• Your source code (.cpp files only) zipped in a single file and submitted to the separate Moodle box
• A final formal report, submitted to Turnitin, that includes:
• A formal flow chart of your final design indicating any major changes from your initial design and your rational for them.
• A testing table that demonstrates your program development and the results of the given test data.
• Identifies any limitations you have placed on your program, or functionality in which it has not yet been successful.
• Details of any research undertaken and a relevant supporting bibliography
Part 3: Demonstration of your working program with test data.