Library Management Project

  • Uploaded by: AngelaNelson
  • 0
  • 0
  • January 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Library Management Project as PDF for free.

More details

  • Words: 3,132
  • Pages: 39
Loading documents preview...
PRESIDENCY SCHOOL BANGLORE EAST

COMPUTER SCIENCE PROJECT ON STUDENT REPEORT CARD BY Angela Mariam Nelson Grade XII 2017-18 CBSE Roll number:_____________ 1

2

ACKNOWLEDGEMENT

In the completion of this project, many have bestowed upon me their heart pledged support. I would like to thank all the people who have helped me in completing this project. I would like to thank our Principal Mr. G Thangadurai for giving me this opportunity and all necessary resources for the completion of this project. I would like to thank my computer science teacher, Mrs. Sathya P whose guidance and valuable inputs helped me complete this project. I would like to extend my sincere gratitude to my friends and family who have helped in this project.

Signature of Candidate Angela Mariam Nelson

3

CONTENTS SL.NO

TOPIC

1

Objective

2

Different Modules

3

Files Used

4

Data Design

5

Hardware Requirement

6

Software Components

7

C++ Overview

8

Features of C++

9

The structure of a C++ Program

10

Source code

11

Output

12

Future Enhancements

13

Bibliography

PAGE NO

4

OBJECTIVE The objective of the project is to computerize the working of a school library. We analyze the various functions involved in such a system, which comprises mainly of issuing a book and manipulation of members’ details. The various options available on the main menu are: 

Administrator



Issuing a book



Depositing a book

The various options available in the administrator menu are: 

Create student record



Display all student records



Display specific student records



Modify student record



Delete student record



Create book



Display all books



Display specific book



Modify book



Delete book

5

DIFFERENT MODULES

1. Input Module: All inputs to programs are made in this module. This module consists of the following functionality: 

Input details of a new book like book no.,name, author’s name and student details like admission no and name.



Input details of books that are available and details of new members.



Input of the number of books/students whose record is to be modified. The details of book/student whose record has to me modified is also input.



Book/student number of the corresponding record to be deleted or is also included in this module.



The

member

function

involved

are

create_book(),modify_book(),delete_book()

create_student(),modify_student,delete_student().

They

are

employed

in

write_book()

and and

write_student() respectively.

2. Display Module : All outputs in the program are made in this module. This module consists of the following functionality: 

Display of lists of books/students and details like book no, name, author’s name/admission no., Name,no. of books issued.



Displaying list of product with their prices.

The function involved are show_book()

used in display_spb()/ show_student() used in display_sps().

3.Update module : All changes regarding the products and their purchase are made in this module. 

The member functions involved are book_issue(), book_deposit(). 6

FILES USED The program consists of two files 1.

2.

book.dat

-- This file contains the following fields

1.1.

Book no. - Stores identification number of books.

1.2.

Book name-- Stores name of book.

1.3

Author Name - Stores author’s name.

student.dat - This file contains the following fields 2.1

Admission no. - stores the admission number of student.

2.2

Name- Stores name of student.

DATA DESIGN 1.Class book 1.1. Data members(private if not mentioned otherwise 1.1.1. Char bno : stores book no. 1.1.2. Char bname : stores book name 1.1.3. Char aname : stores author’s name 1.2. Member functions(all public) 1.2.1. Void create_book(): inputs book details from user 1.2.2. Void show_book(): shows the input details 1.2.3. Void modify_book(): modifies book details 1.2.4. Char* retno(): returns book no. 1.2.5. Void report(): output for table

2. Class student 2.1 Data members 7

2.1.1. char admno: stores admission no. 2.1.2. char name: stores student name 2.1.3. char stbno: stores book no. issued by student 2.1.4. int token : flag variable 2.2 Member function 2.2.1. void create_student(): inputs student details 2.2.2. void show_student(): shows student details 2.2.3. void modify_student(): modifies student details 2.2.4. char* retadmno (): returns admission no. 2.2.5. char* retstbno (): returns book no. 2.2.6. int rettoken(): returns token 2.2.7. void addtoken(): adds token 2.2.8. void resettoken():resets token value to “0” 2.2.9. void getstbno(char t[]):copies book no. into another string 2.2.10.void report(): output to table

8

HARDWARE REQUIREMENTS 

Processor: intel Pentium 4 CPU



CPU speed: 2.67 GHz



Hard disk memory: 80 GB



Cache :512 KB

SOFTWARE COMPONENTS 

Operating system: Microsoft Windows XP



Software: Turbo C++

Professional Version 2002

9

C++ OVERVIEW HISTORY OF C++ C++ Programming Language was developed by Bjarne Stroustrup in 1979. Initially the C++ language was named as "C with classes". "C with classes" was renamed to C++ in 1983. The "++" is increment operator in C++. It increments the variable by one value. This name demonstrates the fact that C++ is an extension of a C language.

WHO USES THE C++ PROGRAM? C++ is used in different sectors of the software industry. For example Apple OS is written in C++. Windows 95, 98, Me, 200 and XP are also written in C++. Microsoft Office, Internet Explorer and Visual Studio are written in Visual C++. All the major applications of Adobe Systems (Acrobat, Photoshop, Flash, ImageReady, Illustrator etc.) are developed using C++. Amazon.com is developing software for large scale e-commerce using C++. Google search engine, Chromium Web Browser and some other software is written in C++ too. The is a huge list of companies that are using C++.

WHY TO USE C++? C++ is always used when there is a need in high performance and efficient

applications. It's an

efficient and flexible language. The philosophy of C++ is "Any features that you do not use, you do not pay for (e.g. in performance)". That’s why C++ is chosen when the task is to build big applications which should use less resources.

WHAT C++ SUPPORTS? C++ supports the Object-Oriented Programming (OOP) Paradigm. It means that all the concepts of the OOP such as Encapsulation, Polymorphism and Inheritance are supported by C++. These topics are discussed in C++ Object Oriented section of this tutorial. The Standard C++ consists of two parts: the core language and the Standard Library. The Standard Library mainly is based on the Standard Template Library (STL). The STL provides a large number of useful tools. It makes application development more efficient. The capabilities provided by STL are described in C++ STL tutorial. 10

C++ FEATURES Objects 

C++, introduces object-oriented programming (OOP) C features to C. It offers classes which provide the four distinguishing feature of C++ classes compared to classes in features commonly present in OOP (and some non-OOP) languages: abstraction, encapsulation, inheritance, and polymorphism. One other programming languages is support for deterministic destructors,

Encapsulation 

Encapsulation is the hiding of information to ensure that data structures and operators are used as intended and to make the usage model more obvious to the developer. C++ provides the ability to define classes and functions as its primary encapsulation mechanisms. Within a class, members can be declared as either public, protected, or private to explicitly enforce encapsulation. A public member of the class is accessible to any function.

Inheritance 

Inheritance allows one data type to acquire properties of other data types. Inheritance from a base class may be declared as public, protected, or private. This access specifier determines whether unrelated and derived classes can access the inherited public and protected members of the base class. Only public inheritance corresponds to what is usually meant by "inheritance". The other two forms are much less frequently used. If the access specifier is omitted, a "class" inherits privately, while a "struct" inherits publicly. Base classes may be declared as virtual; this is called virtual inheritance. Virtual inheritance ensures that only one instance of a base class exists in the inheritance graph, avoiding some of the ambiguity problems of multiple inheritance.

Operators and operator overloading 

C++ provides more than 35 operators, covering basic arithmetic, bit manipulation, indirection, comparisons, logical operations and others. Almost all operators can be overloaded for user-defined types, with a few notable exceptions such as member access ( . and .* ) as well as the conditional operator. The rich set of overloadable operators is central to making user-defined types in C++ seem like built-in types. 11

THE STRUCTURE OF C++ PROGRAM

 Comments A comment is text that is ignored by the computer but which nonetheless conveys information to other programmers.

 Library inclusions The inclusion of a header file indicates that the program uses facilities from a library , which is a collection of prewritten functions that perform a set of useful operations,

 Function prototypes Computation in a C++ program is carried out in the context of functions. A function is a unit of code that (1) performs a specific operation and (2) is identified by name.

 The main program Every C++ program must contain a function with the name main. This function specifies the starting point for the computation and is called when the program starts up. When main has finished its work and returns, execution of the program ends.

 Function Definitions Because large programs are difficult to understand in their entirety, most programs are broken down into several smaller functions, each of which is easier to understand.

 Variables Data values in a program are usually stored in variables. You must declare that variable before you use it. Declaring a variable establishes the properties.

 Name Every variable has a name, which is formed according to a certain set of rules.

 Type Each variable in a C++ program is constrained to hold values of a particular data type.

 Lifetime Depending on how they are declared , some variables persist throughout the entire program, while others are created and destroyed dynamically as the program moves through various levels of function call. 12

 Scope The declaration of a variable also controls what parts of the program have access to the variable, which is called its scope.

 Local and globe variables Variables declared with the body of a function are called local variables. The scope of a local variable extends to the end of the block in which it is declared. The lifetime of a local variable is the time during which the function is active. When the function is called, space for each local variable is allocated for the duration of that function call. When the function returns, all its local variables disappear. Variable declared outside any function definition are called global variables. The scope of a global variable is the remainder of the file in which it is declared. Its lifetime continues throughout the entire execution of a program.

The concept of a data type 

One of the reason C++ requires all variables to be declared is that doing so constraints their contents to values of a particular data type. Integer types Type int corresponds to the standard representations of an integer on the computer system. Values of type int are stored internally in storage units that have a limited capacity. To overcome this, C++ defines three integer types--- int , short and long---distinguished from each other by the size of their domains.

 Floating-point types Numbers that include a decimal fraction are called floating-point numbers, which are used to approximate real numbers in mathematics. C++ defines three different floating-point types: float, double, and long double.

 Text type In most implementations of C++, the coding system used to represent characters in called ASCII. Characters are most useful when they are collected together into sequential units called strings. Strings make it possible to display informational messages on the screen. Strings are data and that they can be manipulated and stored in much the same way that number can.

13

SOURCE CODE #include #include<stdio.h> #include<process.h> #include<string.h> #include #include class book { char bno[6]; char bname[50]; char aname[20]; public: void create_book() { cout<<"\nNEW BOOK ENTRY...\n"; cout<<"\nEnter The book no."; cin>>bno; cout<<"\n\nEnter The Name of The Book "; gets(bname); cout<<"\n\nEnter The Author's Name "; gets(aname); cout<<"\n\n\nBook Created.."; } void show_book() { cout<<"\nBook no. : "<
char* retbno() { return bno; } void report() {cout<
};

//class ends here

class student { char admno[6]; char name[20]; char stbno[6]; int token; public: void create_student() { clrscr(); cout<<"\nNEW STUDENT ENTRY...\n"; cout<<"\nEnter The admission no. "; cin rel="nofollow">>admno; cout<<"\n\nEnter The Name of The Student "; gets(name); token=0; stbno[0]='/0'; cout<<"\n\nStudent Record Created.."; } void show_student() { cout<<"\nAdmission no. : "<
void modify_student() { cout<<"\nAdmission no. : "<
//class ends here

//*************************************************************** 16

// global declaration for stream object, object //**************************************************************** fstream fp,fp1; book bk; student st;

//*************************************************************** // function to write in file //**************************************************************** void write_book() { char ch; fp.open("book.dat",ios::out|ios::app); do { clrscr(); bk.create_book(); fp.write((char*)&bk,sizeof(book)); cout<<"\n\nDo you want to add more record..(y/n?)"; cin rel="nofollow">>ch; }while(ch=='y'||ch=='Y'); fp.close(); } void write_student() { char ch; fp.open("student.dat",ios::out|ios::app); do { st.create_student(); fp.write((char*)&st,sizeof(student)); cout<<"\n\ndo you want to add more record..(y/n?)"; cin>>ch; }while(ch=='y'||ch=='Y'); fp.close(); }

//*************************************************************** 17

// function to read specific record from file //****************************************************************

void display_spb(char n[]) { cout<<"\nBOOK DETAILS\n"; int flag=0; fp.open("book.dat",ios::in); while(fp.read((char*)&bk,sizeof(book))) { if(strcmpi(bk.retbno(),n)==0) { bk.show_book(); flag=1; } } fp.close(); if(flag==0) cout<<"\n\nBook does not exist"; getch(); } void display_sps(char n[]) { cout<<"\nSTUDENT DETAILS\n"; int flag=0; fp.open("student.dat",ios::in); while(fp.read((char*)&st,sizeof(student))) { if((strcmpi(st.retadmno(),n)==0)) { st.show_student(); flag=1; } } fp.close(); if(flag==0) cout<<"\n\nStudent does not exist"; getch(); } 18

//*************************************************************** // function to modify record of file //****************************************************************

void modify_book() { char n[6]; int found=0; clrscr(); cout<<"\n\n\tMODIFY BOOK REOCORD.... "; cout<<"\n\n\tEnter The book no. of The book"; cin>>n; fp.open("book.dat",ios::in|ios::out); while(fp.read((char*)&bk,sizeof(book)) && found==0) { if(strcmpi(bk.retbno(),n)==0) { bk.show_book(); cout<<"\nEnter The New Details of book"<<endl; bk.modify_book(); int pos=-1*sizeof(bk); fp.seekp(pos,ios::cur); fp.write((char*)&bk,sizeof(book)); cout<<"\n\n\t Record Updated"; found=1; } } fp.close(); if(found==0) cout<<"\n\n Record Not Found "; getch(); }

void modify_student() { char n[6]; int found=0; clrscr(); 19

cout<<"\n\n\tMODIFY STUDENT RECORD... "; cout<<"\n\n\tEnter The admission no. of The student"; cin>>n; fp.open("student.dat",ios::in|ios::out); while(fp.read((char*)&st,sizeof(student)) && found==0) { if(strcmpi(st.retadmno(),n)==0) { st.show_student(); cout<<"\nEnter The New Details of student"<<endl; st.modify_student(); int pos=-1*sizeof(st); fp.seekp(pos,ios::cur); fp.write((char*)&st,sizeof(student)); cout<<"\n\n\t Record Updated"; found=1; } } fp.close(); if(found==0) cout<<"\n\n Record Not Found "; getch(); } //*************************************************************** // function to delete record of file //****************************************************************

void delete_student() { char n[6]; int flag=0; clrscr(); cout<<"\n\n\n\tDELETE STUDENT..."; cout<<"\n\nEnter The admission no. of the Student You Want To Delete : "; cin>>n; fp.open("student.dat",ios::in|ios::out); fstream fp2; fp2.open("Temp.dat",ios::out); fp.seekg(0,ios::beg); while(fp.read((char*)&st,sizeof(student))) 20

{ if(strcmpi(st.retadmno(),n)!=0) fp2.write((char*)&st,sizeof(student)); else flag=1; } fp2.close(); fp.close(); remove("student.dat"); rename("Temp.dat","student.dat"); if(flag==1) cout<<"\n\n\tRecord Deleted .."; else cout<<"\n\nRecord not found"; getch(); }

void delete_book() { char n[6]; clrscr(); cout<<"\n\n\n\tDELETE BOOK ..."; cout<<"\n\nEnter The Book no. of the Book You Want To Delete : "; cin>>n; fp.open("book.dat",ios::in|ios::out); fstream fp2; fp2.open("Temp.dat",ios::out); fp.seekg(0,ios::beg); while(fp.read((char*)&bk,sizeof(book))) { if(strcmpi(bk.retbno(),n)!=0) { fp2.write((char*)&bk,sizeof(book)); } } fp2.close(); fp.close(); remove("book.dat"); rename("Temp.dat","book.dat"); cout<<"\n\n\tRecord Deleted .."; 21

getch(); }

//*************************************************************** // function to display all students list //**************************************************************** void display_alls() { clrscr(); fp.open("student.dat",ios::in); if(!fp) { cout<<"ERROR!!! FILE COULD NOT BE OPEN "; getch(); return; } cout<<"\n\n\t\tSTUDENT LIST\n\n"; cout<<"==================================================================\n"; cout<<"\tAdmission No."<<setw(10)<<"Name"<<setw(20)<<"Book Issued\n"; cout<<"==================================================================\n"; while(fp.read((char*)&st,sizeof(student))) { st.report(); } fp.close(); getch(); }

//*************************************************************** // function to display Books list //**************************************************************** void display_allb() { clrscr(); fp.open("book.dat",ios::in); 22

if(!fp) { cout<<"ERROR!!! FILE COULD NOT BE OPEN "; getch(); return; } cout<<"\n\n\t\tBook LIST\n\n"; cout<<"====================================================================== ===\n"; cout<<"Book Number"<<setw(20)<<"Book Name"<<setw(25)<<"Author\n"; cout<<"====================================================================== ===\n"; while(fp.read((char*)&bk,sizeof(book))) { bk.report(); } fp.close(); getch(); }

//*************************************************************** // function to issue book //**************************************************************** void book_issue() { char sn[6],bn[6]; int found=0,flag=0; clrscr(); cout<<"\n\nBOOK ISSUE ..."; cout<<"\n\n\tEnter The student's admission no."; cin>>sn; fp.open("student.dat",ios::in|ios::out); fp1.open("book.dat",ios::in|ios::out); while(fp.read((char*)&st,sizeof(student)) && found==0) { if(strcmpi(st.retadmno(),sn)==0) { found=1; 23

if(st.rettoken()==0) { cout<<"\n\n\tEnter the book no. "; cin>>bn; while(fp1.read((char*)&bk,sizeof(book))&& flag==0) { if(strcmpi(bk.retbno(),bn)==0) { bk.show_book(); flag=1; st.addtoken(); st.getstbno(bk.retbno()); int pos=-1*sizeof(st); fp.seekp(pos,ios::cur); fp.write((char*)&st,sizeof(student)); cout<<"\n\n\t Book issued successfully\n\nPlease Note :"; cout<<" Write current datein backside of book and submit within 15 days fine Rs. 1 for each day after 15 days period"; } } if(flag==0) cout<<"Book no does not exist"; } else cout<<"You have not returned the last book "; } } if(found==0) cout<<"Student record not exist..."; getch(); fp.close(); fp1.close(); } //*************************************************************** // function to deposit book //**************************************************************** void book_deposit() { char sn[6],bn[6]; int found=0,flag=0,day,fine; 24

clrscr(); cout<<"\n\nBOOK DEPOSIT ..."; cout<<"\n\n\tEnter The student's admission no."; cin>>sn; fp.open("student.dat",ios::in|ios::out); fp1.open("book.dat",ios::in|ios::out); while(fp.read((char*)&st,sizeof(student)) && found==0) { if(strcmpi(st.retadmno(),sn)==0) { found=1; if(st.rettoken()==1) { while(fp1.read((char*)&bk,sizeof(book))&& flag==0) { if(strcmpi(bk.retbno(),st.retstbno())==0) { bk.show_book(); flag=1; cout<<"\n\nBook deposited in no. of days"; cin>>day; if(day>15) { fine=(day-15)*1; cout<<"\n\nFine has to deposited Rs. "<
fp.close(); fp1.close(); }

//*************************************************************** // INTRODUCTION FUNCTION //**************************************************************** void intro() { clrscr(); gotoxy(35,11); cout<<"LIBRARY"; gotoxy(35,14); cout<<"MANAGEMENT"; gotoxy(35,17); cout<<"SYSTEM"; cout<<"\n\nMADE BY :Angela"; cout<<"\n\nSCHOOL : Presidency school "; getch(); }

//*************************************************************** // ADMINISTRATOR MENU FUNCTION //**************************************************************** void admin_menu() { clrscr(); int ch2; cout<<"\n\n\n\tADMINISTRATOR MENU"; cout<<"\n\n\t1.CREATE STUDENT RECORD"; cout<<"\n\n\t2.DISPLAY ALL STUDENTS RECORD"; cout<<"\n\n\t3.DISPLAY SPECIFIC STUDENT RECORD "; cout<<"\n\n\t4.MODIFY STUDENT RECORD"; cout<<"\n\n\t5.DELETE STUDENT RECORD"; cout<<"\n\n\t6.CREATE BOOK "; cout<<"\n\n\t7.DISPLAY ALL BOOKS "; 26

cout<<"\n\n\t8.DISPLAY SPECIFIC BOOK "; cout<<"\n\n\t9.MODIFY BOOK "; cout<<"\n\n\t10.DELETE BOOK "; cout<<"\n\n\t11.BACK TO MAIN MENU"; cout<<"\n\n\tPlease Enter Your Choice (1-11) "; cin>>ch2; switch(ch2) { case 1: clrscr(); write_student();break; case 2: display_alls();break; case 3: char num[6]; clrscr(); cout<<"\n\n\tPlease Enter The Admission No. "; cin>>num; display_sps(num); break; case 4: modify_student();break; case 5: delete_student();break; case 6: clrscr(); write_book();break; case 7: display_allb();break; case 8: { char num[6]; clrscr(); cout<<"\n\n\tPlease Enter The book No. "; cin>>num; display_spb(num); break; } case 9: modify_book();break; case 10: delete_book();break; case 11: return; default:cout<<"\a"; } admin_menu(); }

//*************************************************************** // THE MAIN FUNCTION OF PROGRAM //**************************************************************** 27

void main() { char ch; intro(); do { clrscr(); cout<<"\n\n\n\tMAIN MENU"; cout<<"\n\n\t01. BOOK ISSUE"; cout<<"\n\n\t02. BOOK DEPOSIT"; cout<<"\n\n\t03. ADMINISTRATOR MENU"; cout<<"\n\n\t04. EXIT"; cout<<"\n\n\tPlease Select Your Option (1-4) "; ch=getche(); switch(ch) { case '1':clrscr(); book_issue(); break; case '2':book_deposit(); break; case '3':admin_menu(); break; case '4':exit(0); default :cout<<"\a"; } }while(ch!='4'); }

28

Output

Main menu

29

Option 3

Administrator Menu

30

Option 1

Option 2

31

Option 3

Option 4

32

Option 5

Option 6

33

Option 7

Option 8

34

Option 9

Option 10

35

Option 11

Main Menu Option 1

36

Option 2

37

FUTURE ENHANCEMENTS Graphics could be included to make the software more interacting. Options to purchase products on loan could be included. Time and date for purchase could be included.

38

BIBLIOGRAPHY Text books: Computer science with c++ (sumita arora), publication and year of publication Together with computer science (Rachna sagar)

Websites: www.cppforschool.com www.cbseportal.com

39

Related Documents

Library Management System
January 2021 1
Library Management System
January 2021 1
Project Management
January 2021 1
Project Management
March 2021 0

More Documents from "premdyl"