Message
Message
Spring 2023
Lab Project and Grading Criterion
Submission Deadline:07 May 2023
Develop a Library management system by using all concepts learnt in the PF
Course/Lab. This is a group project - there
should be 2 students per group. Both students in the group must be from the same
lab section and must be self-selected.
Project Description
The Library Management System should enable admin and students to access the
library data. Students can access data
by registering themselves or logging in to their previous accounts. The library
management system must have the following
features:
• First a dialog box should appear that provides the option to log in as admin or
as a student. Both features
should be password protected.
• The admin can perform any one of following tasks depending upon the option
selected:
i. Add a book to the system.
ii. Edit the details of the book (using ISBN number).
iii. View the status of books.
iv. Current people enrolled in the system.
v. Balance of each student.
• Initially store 15 books in the library, including the title, author name, and
ISBN number for each book.
• Hold for up to 20 students, who must pay $20 for opening an account and $30 as a
security deposit. Students
can issue any book for $2 for a 10-day period. If a student fails to return a book
within this period, a fine will be
imposed according to the following rules:
Time Period of returning book Amount of Fine
Within 10 days 0
10 to 30 days $5
After 30 days Cancellation of membership
• The student can use the available amount in his/her account to issue a book or
pay the fine.
• Each student account should have the following details stored:
1. Roll no (Data type: int, format: BBRRRR, e.g. 201406)
2. Balance (Data type: double)
3. Student Name (Data type: char array) [store only first name of each student]
Functions to be Implemented
The following functions should be implemented in your system. Decide for yourself
the arguments and return type for
each function.
Required Functions Functionality
1. Create_Account() Assign each student a unique registration number.
Get student Roll No and Name.
Ask the user for the initial Deposit amount.
2. Display() Gives all details of any record asked by the user.
3. Deposit_amount() Updates the Account Balance.
4. Issue_Item() Following functionality must be implemented:
• Displays list of available books for student to choose
• The student can select more than one book for issuance
• Updates the account balance if book can be issued with the available
amount, else notifies if amount balance is not sufficient or if the
book is unavailable.
Bonus Functions Implementing these functions will earn bonus marks
5. Display_Sorted() Sort the entire data of student on the basis of Roll No. and
display it in an
ascending order.
*You can add additional features in the code to get bonus marks.
Project Assessment
Project Deliverables
LLO
No1 Marks
1. Correct use of data types, input output statements and relational operators 1 7
2.
Correct algorithm of the program:
• Data is stored in arrays correctly.
• Sequence of function calls
3 6
3.
Correct use of all functions:
• Argument and return type
• Functionality
3 7
5. Absence of errors (syntax and logical) or warnings 2 5
6. Correct implementation and use of both bonus functions 3 5
TOTAL MARKS 30
1 LLO 1: Develop an understanding about debugging, data types, input/output
statements, arithmetic, relational
and logical operators using Dev C++.
LLO 2: Design algorithms to solve problems using control structures and repetition
statements with nesting.
LLO 3: Develop a well-structured program using simple functions, char arrays, one-
dimensional static arrays.