Finding the correct place for a book on the shelves in the library requires librarians to be
Question:
Finding the correct place for a book on the shelves in the library requires librarians to be able to sort call numbers in numerical and then alphabetical order. For example, the call number for the prescribed book for this module is 005.73 JAM – the numbers indicate the book’s topic, and the letters are the first three letters of the author’s surname.
Write a C# software WPF application using visual studio that fulfils the following requirements:
- On startup, the application shall allow the user to choose between three tasks:
a. Replacing books.
b. Identifying areas.
c. Finding call numbers.
For this first task, only Replacing books, complete the following requirements:
- When the user selects Replacing books, the application shall randomly generate 10 different call numbers and display them to the user.
- The application shall allow the user to reorder the call numbers in ascending order and check whether the user got the ordering right.
- Implement a gamification feature to motivate users to keep learning.
Technical requirements:
- Make use of a list to store the generated call numbers.
- Choose an appropriate sorting algorithm to sort the call numbers to check the order that the user puts them in.
For this second task, only Identifying areas, complete the following requirements:
- Enable the Identifying areas task.
- When the user chooses the Identifying areas task, they should be presented with a user interface where they will match two columns: call number (top-level only) and description.
- The user shall be allowed to answer as many questions* as they want to.
- The questions should alternate between matching descriptions to call numbers and call numbers to descriptions.
- Each question should have four randomly selected items in the first column and seven possible answers (three of which are incorrect) in the second column.
- Implement a gamification feature to motivate users to keep using the application. You may use the same one as before or choose to implement a different one.
Technical requirements:
- Store the call numbers and their descriptions in a dictionary.
For this Third task, only Finding call numbers complete the following requirements:
- Create a file containing the research data of dewy decimal system in a format that your application can read.
- Enable the Finding call numbers task.
- When the user chooses Finding call numbers, the application must load the Dewey Decimal classification data into memory from the file created in Step 1.
- The quiz must work as follows:
a. For each question, randomly select a third-level entry from the data, for example, 752 Color. Display only the description, not the call number.
b. Display four top-level options to the user to choose between, one of which must be the correct one and the other three randomly selected incorrect answers. For example: 000 General 400 Language 700 Arts & Recreation (Correct answer) 800 Literature
c. For the options, display both the call number and description. Display the options in numerical order by call number.
d. If the user selects the correct option, show them four options from the next level until the most detailed level is reached.
e. If the user selects the wrong option anywhere along the way, indicate this and then ask the next question.
- Implement a gamification feature to motivate users to keep using the application. You may use the same one as before or choose to implement a different one.
Technical requirements:
- Make use of a tree to store the data in memory.