Searching Bibliography File
A Bibliography file allows authors of publishable materials (journals, books, conferences, etc …) to compile and structure the list of sources that have been referenced when writing a published document. It is common practice to structure a bibliography file based on information such as author, year of publication, type of publication, and, title.
Problem Statement
A customer is looking for a search tool for bibliography files. The search tool is expected to have the following functionalities:
(1) Search and Display all bibliography entries containing a particular author’s surname. The system needs to display all bibliography entries (Title, Name, Year and type) with matching author’s surname.
(2) Search and Display all documents published within a given calendar year.
(3) Search and Display all bibliography entries based on a particular word appearing in the title of that document.
(4) Display the number of each publication types (Book, Journal or Conference) available with the bibliography file.
(5) A search menu to allow users to interact with the system.
Scope of work
In this work, students will develop a system that can read data that has been stored within text files. It is assumed that the files to be processed contain entries of documents published online. These files, known as bibliography files, will contain entries that follow a particular structure. Three categories of documents have been considered: Journal, Conference and Book. An example of a bibliography entry is provided in Figure 1.
Please use the code provided to develop your C programmes in line with the mark scheme below.
Figure1: Example bibliography entry example with category (left) and entry (right, in {}).
Deliverables are as follows:
(I) A report containing the following:
a) Description of the problem
b) A flowchart showing the design of your system
c) Discussion of how your program works and justification of design choices
d) Unit and systems tests using snapshots of displays from standard output
e) References
(II) copy of code. Include all source files (.c), header files (.h) used for this submission.*
*this is purely for evidence, this code will not be included in the mark scheme, so all evidence must be included in the report.
Additional notes
Marks will be allocated for the following (but must be evidenced and discussed in the report – the code is included as evidence of your authorship and will not be marked):
(1) Use of structures to store data for each bibliography entry. While functions will be provided to read data from files, students are expected to modify the functions to use structures (array of structures) to store the data and perform search/navigation activities.
(2) Modularity of program (tasks and/or subtasks coded within functions)
(3) Use of pointers, mainly for passing parameters within functions.
Marking Scheme
Report component
• Evidence of the use of functions for the following tasks in the program:
Menu for user interaction
Search based on author
Search based on Title
Search based on Year
Display Table of Publication Types
• Use of arrays and pointers
• Use of structures to store bibliography data
• Unit Tests and snapshots of outputs
• System test and snapshots of outputs
• Personal reflection discussing what you have learned and what you will improve on in the future
• Appropriate comments, banners and good coding practice
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of