Report - Group - 7 LT1
Report - Group - 7 LT1
FINAL PROJECT
Subject: Programming I
LIBRARY MANAGEMENT SYSTEM
Group: Group 7
Hanoi, 1/2023
LIBRARY MANAGEMENT SYSTEM
T
TABLE OF CONTENTS
I. Introduction ................................................................................................................... 3
II. Designing ..................................................................................................................... 3
1. Important statements ................................................................................................. 3
2. Overall interface ....................................................................................................... 4
2. Login function........................................................................................................... 7
3. Add record .............................................................................................................. 10
4. Modify record ......................................................................................................... 11
5. Search record .......................................................................................................... 12
6. Delete record ........................................................................................................... 13
7. Trending book ......................................................................................................... 14
III. Discussion ................................................................................................................ 14
IV. Conclusion ............................................................................................................... 15
V. Member contribution ................................................................................................. 16
2
LIBRARY MANAGEMENT SYSTEM
I. Introduction
Library management system is a project created to maintain library records. This
software allows readers to view trending books and search books by ID, name, category,
author, or price. Meanwhile, administrators can add, edit, search and delete information
about books and manage borrowers.
The Library management system helps maintain a useful database for the entry of
new books and records of borrowed members, with corresponding submission dates.
Moreover, this application also reduces the manual recording burden of management. The
Library management system also allows curators to maintain library resources in a more
efficient way. As a result, librarians are convenient in managing the process of issuing and
paying for books. The Library management system is also useful for students as well as
librarians to continuously monitor the availability of all books in the library.
II. Designing
1. Important statements
+ char: declare usernames and passwords
+ scanf: input the information from keyboard
+ printf: display information on screen
+ switch – case: choose option for using functions
+ if - else: perform different based on different conditions
+ break: quit loops
+ strcmp: compare two strings
+ strcpy: copy one string to another
+ atoi: convert string into number
+ fflush(stdin): clear cache
+ system (“cls”): clear screen
+ struct: group several related variables into one place
+ goto: is used to transfer the program control to a predefined label
3
LIBRARY MANAGEMENT SYSTEM
The administrator interface allows librarians to manage the information about books
in Book Management and records in Borrower Management.
Librarians can choose options 1-4 to use functions for management: add, modify,
search and delete.
4
LIBRARY MANAGEMENT SYSTEM
5
LIBRARY MANAGEMENT SYSTEM
b. Reader interface
6
LIBRARY MANAGEMENT SYSTEM
In this mode, reader Librarians can choose options 1-2 to use functions for searching
book information and finding out trending books that have the highest views to help them
borrow suitable books.
2. Login function
This function is created to increase the security of the Library Management System.
Users must input the correct account to access the reader or the manager interface. If the
username or password is wrong, users have to log in again. Besides that, people can also
create new accounts that help us connect to the reader interface.
Login flowchart
After opening, users can log in to manipulate data in libraries with functions of this
application or sign up to create accounts for reader mode. When people choose option 1,
the screen will display “username” and “password” for them to log in. We use switch –
case to create options and “if (c==13) break; else printf(“*”)” to convert character into “*”
for creating hidden password.
7
LIBRARY MANAGEMENT SYSTEM
When users enter the administrator account (username: “Vnuis” and password:
“Vnu.edu.vn”), they will have access to the administrator interface.
When users enter an account that is different from the administrator account, the
computer will compare it with the list of accounts in the file “account.txt”. If the account
exists, users will have access to the reader interface.
8
LIBRARY MANAGEMENT SYSTEM
When users enter an account that doesn’t exist, the screen will pop up the message
“Your username or password is wrong” and users have to log in again.
If users choose option 2, the system will create an account for readers and save that
account in the file “account.txt”.
After creating accounts successfully, users will be moved to the log in interface.
9
LIBRARY MANAGEMENT SYSTEM
3. Add record
This function help librarians add new books or book borrowing records for the
database system of libraries.
For book management, librarians have to add ID, name, author, category, location
and the number of available books. When we add a new book, its view will equal zero.
Meanwhile, student name, student ID, book name, book ID, borrow date, and return date
are required to add borrowing record are required for book borrowing management.
Add_record flowchart
The data of books and borrowing records are respectively saved in files “book.txt”
and “record.txt”.
After adding a record successfully, librarians can choose option 1 to continue adding
records or exit to perform other functions.
10
LIBRARY MANAGEMENT SYSTEM
4. Modify record
Modify_record flowchart
11
LIBRARY MANAGEMENT SYSTEM
This function helps administrators edit the data of books and book borrowing
records. We input the name of the book or the record required to modify and use the “fread”
statement to load the data in the file “book.txt” for book management and “record.txt” for
borrower management.
By using the “strcmp” statement, the system compares the name of books/ name of
students that is saved in the file “book.txt”/ “record.txt” with the name of the book/ name
of the record that administrators want to modify.
If the data is not found, the system returns to the administrator interface. In contrast,
if the data is found, the system shows information about that record and the attributes that
librarians want to edit. The new data will be saved by using statements “fwrite” and “fseek”
with mode “ab”.
5. Search record
The search record technique allows users to find information of records based on
their attributes. It is divided into 2 sections: book management and borrowing record
management.
The function search book is available for both administrator and reader accounts.
Users can input the name, ID, category, author, and price of books for book management
to search books. Meanwhile, only the administrator interface can access borrowing record
management. Besides finding record with student ID, student name, or book ID, librarians
12
LIBRARY MANAGEMENT SYSTEM
can also search outdated records to handle violations by comparing the expiration date of
the record with the current date.
6. Delete record
Delete_record flowchart
This function requires the book name for deleting books and student ID for deleting
borrowing records. If the input is match with information in record file, the computer will
create a temporary file and copy all the data from the existing record file except the book
or record which is entered by the administrator. Finally, the list of records will be
transferred again to the initial file.
13
LIBRARY MANAGEMENT SYSTEM
7. Trending book
Trending_book() is a function of the Library Management System that compares
the view of each book in file “book.txt” and displays the three highest-view books. To use
this function, people have to log-in with reader mode and choose option 1.
III. Discussion
The Library Management System is very useful for librarians to manage their
libraries efficiently and for readers to search for interesting books, but it still has some
limitations.
14
LIBRARY MANAGEMENT SYSTEM
Firstly, the login function is not perfect. If users are careless when inputting their
password, they have to type this again because they can’t use backspace to delete the
mistaken character. Another limitation of this application is that the reader interface has
few functions, so it may not satisfy users. In the future, we will develop new functions to
attract more readers using our application.
IV. Conclusion
Our library management system helps manage effectively data in libraries. The
software records all books and reference materials available for reading and lending.
Lending details such as students' information, borrow date, ... are also managed by the
software.
In this project, we have dived into mastering the basic programming skills for
functions, switch case, if else, while, file, etc… Through our code, we combine individual
commands to create more complicated code, however, the interface and the code line are
still friendly for us. Although the software needs major development and is far from ideal,
the project gives us practice with the C programming language. As the project developed,
we became better C programmers. Additionally, we may discover how to write a practical
program and see the advantages of programming.
15
LIBRARY MANAGEMENT SYSTEM
V. Member contribution
Member Contribution
+ Main code writer
+ Writing the discussion section
+ Combine and edit report
Nguyen Duy Thuc
+ Train and evaluate group members
+ Preparing flowchart, report and slide for function “Trending
book”
+ Prepare slide introduction
Nguyen Bich Diep + Preparing flowchart, report and slide for function “Add
record”
+ Write introduction
Nguyen Tien Dat + Draw flowchart for Overall interface
+ Preparing flowchart, report and slide for function “Log in”
+ Code writing supporter
+ Preparing flowchart, report and slide for function “Modify
Pham Thi My Dung
record”
+ Write the conclusion of the report
+ Code writing supporter
Pham The Chien + Preparing flowchart, report and slide for function “Delete
record”
Michael Zenom + Preparing flowchart, report and slide for function “Search
Marshal record”
16