IFN556 Assessment Semester 1 2024
1 | P a g e
Problem Specification:
This Assignment is split into two Parts. The first part requires you to create a class template. The second part requires you to create an Application class which will use the
class template and perform a number of specified tasks. In this assignment, you are advised to use user-defined class, array of objects, array in
class, and all the methods to achieve the maximum marks. Create a project BookStore Application with a Book Class and a Program class as
detailed below:
Part A: Book class contains the following:
1. Two public static arrays that hold codes (categoryCodes) and descriptions of
the popular book categories (categoryNames) managed in a bookstore. These
codes are CS, IS, SE, SO, and MI, corresponding to book categories Computer
Science, Information System, Security, Society and Miscellaneous. 2. Data fields for book id (bookId) and book category name
(categoryNameOfBook)
3. Auto-implemented properties that hold a book’s title (BookTitle), book’s
number of pages (NumOfPages) and book’s price (Price). 4. Properties for book id and book category name. Assume that the set accessor
will always receive a book id of a valid format. For example, “CS125” and
“IS334” are of valid format and also refer to known categories “Computer
Science” and “Information Systems”. If the book ID does not refer to a known
category, then the set accessor must retain the number and assign to the “MI”
category. For example, “AS123” will be assigned as “MI123”. The category
property is a read-only property that is assigned a value when the book id is set. 5. Two constructors to create a book object: - one with no parameter: public Book()
- one with parameter for all data fields:
public Book(string bookId, string bookTitle, int numPages, double price)
6. A ToString method, public override string ToString(), to return information
of a book object using the format given in the screen shot under
Information of all Books
Part B: Program class contains the following:IFN556 Assessment Semester 1 2024
2 | P a g e
1. A method, public static void DisplayIntroduction(), to display introduction of
the project, including your last name, first name and student id in the display. All displayed information must be surrounded within a border of your choice. 2. A Method, public static int InputValue(int min, int max), to input an integer
number that is between (inclusive) the range of a lower bound and an upper
bound. The method should accept the lower bound and the upper bound as two
parameters and allow users to re-enter the number if the number is not in the
range or a non-numeric value was entered. 3. A Method, public static bool IsValid(string id), to check if an input string
satisfies the following conditions: the string’s length is 5, the string starts with
2 uppercase characters and ends with 3 digits. For example, “AS122” is a valid
string, “As123” or “AS1234” are not valid strings. 4. A Method, private static void GetBookData(Book[] books), to fill an array of books. The method must fill the array with Books which are
constructed from user input information (which must be prompted for). Along
with the prompt for a book id, it should display a list of valid book categories
and call method IsValid to make sure the inputted book id is a valid format. If
not, the user is prompted to re-enter a valid book id. 5. After the data entry is complete, write a Method, public static void DisplayAllBooks(Book[] books), to display information of all books that have been entered including book id, title, number of pages and price. This method should call the ToString method
that has been created in Book class. 6. After the data entry is complete, write a Method, private static void GetBookLists(Book[] books), to display the valid book categories, and then continuously prompts the user for
category codes and displays the information of all books in the category as well
as the number of books in this category. Appropriate messages are displayed if the entered category code is not a valid
code or there is no book in that category. 7. Write the Main method which will only contain calls to the other methods and
the necessary variable declarations:
(i) First, call the method InputValue to prompt the user for the number of
books that is between 1 and 30 (inclusive). (ii) Then call method GetBookData create an array of books.IFN556 Assessment Semester 1 2024
3 | P a g e
(iii) Then call method DisplayAllBooks to display all books in the array. (iv) Then call method GetBookLists to allow the user to input a category
code and see the information of the category. A possible screenshot of running the application is given as below.IFN556 Assessment Semester 1 2024
4 | P a g eIFN556 Assessment Semester 1 2024
5 | P a g e
In completing your assignment, please take note of the following:
I. You should not use any C# concepts which have not been taught as part of Lectures
1 – 4 and covered in Tutorials 1 -5. II. You should develop your code using simple logic. III. Test your code using your own test data covering multiple data sets. IV. Your final code should not have any compilation/execution errors.
请加QQ:99515681 邮箱:99515681@qq.com WX:codinghelp