Develop your own electronic 'bibliographic information data management' system.
Assignment: Write a complete, well-structured C or C++ program that begins by asking the user to enter bibliographic information of library items, such as books, CDs, photographs. The program will produce a database with the input values and display the stored ones to users. You have to use: Pointer, Array, Structure (or Class), Loop, Conditionals, user defined Functions, and Input/ Output. Therefore, you should ask yourself how you can incorporate the topics you learnt in the module into this specific project. Be sure to write your student number in the upper right hand corner of the code. Use comments to explain intended meaning, reason, and functions of each part in the program. This will be very helpful for readers to understand your code.
Directions: Above all, think of the general architecture of the code and chose one coding language platform between C and C++. Define a Struct in C (or a Class in C++) that includes bibliographic data sets, such as a title, author, year, identification number, page number members. Your code should be able to display all the data sets on a screen after entering the input data. The code should have an input and output (display) functions that defined by you. Save the data inputs in a file at the end of the main function.
Hint: A sequence of instructions may loop endlessly in the code, unless the user chooses terminating condition. Or, you can give the finite appropriate number for the loop. Declare and define 'Insert' and 'Display' functions outside the main () function. Define a structure array having multiple elements in the main function. Think of an idea to give the array to a function as an input variable. Note, a structure can be considered a special 'data type' (Refer to the lecture notes). Remember the special relationship between an array and pointer, which is explained in the lecture notes. The total number of elements of the array corresponds to the numbers of bibliographic items, e.g. books. A few items can be all right in order to demonstrate the functionality of the code.
A user should be asked to choose an operation out of multiple options, such as (1) Data input, (2) Display the data sets, (3) Finish and exit. When (1) is chosen, the code calls the 'input' function and the user put bibliographic information for each library item. After entering all the data of a book, the user can make a choice out of the three (or more than three) options again. Therefore, a loop and conditionals are required in the main function. For example, a user can see the data sets stored in the database so far when (2) was chosen, finish the job and exit when (3) was chosen, or carry on with the data input job with the option (1). If the user chooses the option (3), the code will write down all the data into a file, e.g. .txt, .dat file before completely terminating the program. Write a code preventing (overflow, memory) errors when a user tries to make wrong attempts, e.g. to try putting more data than the storage size of an array.