LLP109 Coursework – C
Develop your own electronic ‘bibliographic information data management system’ in C.
Assignment: Write a complete, well-structured 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 must use: Pointer, Array, Structure, 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 in C. Define a Struct 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.
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) has been 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) has been
chosen, finish the job and exit when (3) has been chosen, or carry on with the data input job
with the option (1). It is necessary to write a code preventing (unintended, overflow,
memory, wrong input data type) errors. i.e., exception/error routine, when a user tries
to make wrong attempts, e.g. to try putting more data than the storage size of an array.
Programming is not an activity that can be reliably scheduled to take a predetermined
amount of time. The best thing you can do for yourself is to ‘get started right away’. Refer to
recommended on/offline literature on coding, especially sections about Loop, Struct, Input/
Output, Array, Pointer, Conditionals, and User-defined Function.
LLP109 Coursework – C