To Whom It May Concern

This is certify that the Project Report entitled LIBRARY MANAGEMENT, submitted by Mr. GIRISH MAHADEVAN, Registration No.: 2411137, ROLL NO: 24SCS131 to the B.E (COMPUTER SCIENCE ENGINEERING), SATHYABAMA DEEMED UNIVERSITY, CHENNAI. This is a bonafide record of original work carried out at National Aluminium Company Limited (NALCO) Bhubaneswar, Orissa. This Project Work has been developed in SYSTEMS DEPARTMENT at Corporate Office, NALCO.



I deem it a great privilege and opportunity to dedicate the following few lines to a person who enabled me to complete the project work in an organization like National Aluminum Company Limited, Corporate Office Bhubaneswar. I owe the highest depth of gratitude to my revered guide Mr.Sudakar Sahoo Sahoo, Manager (Systems), Nalco Corporate Office, Bhubaneswar, for being the source of inspiration and encouraging me with every kind of help at every stage of preparation and development of the library management in spite of varied premanagement, occupation. I am highly indebted to Mr. N.C.Sahoo, chief manager (Systems) for his kind , pe mission to work on this project. permission I express my sincere thanks to all members of System Department and HRD Center of Excellence for their generous help in various ways for the completion of this project in time.

National Aluminium Company Limited (NALCO) is considered to be a turning point in the history of Indian Aluminium Industry. In a major leap forward, NALCO has not only addressed the need for self-sufficiency in Aluminium, but also given the country a technological edge in producing this strategic metal at par with the best of world. The performance of the company is highly sensitive to its Human Resource Technology; quality and cost are sustained through the collective endeavor of the people who work for the company. In charting a future, be it long term or short term, a great deal of confidence is reposed on the willingness and ability of the people to learn, adopt and adjust to the dynamic environment of the future. The company has the right kind of people to nature the growth and prosperity of the organization. Incorporated in 1981, as a public sector enterprise of the Government of India, National Aluminium Company Limited (NALCO) is Asia’s largest integrated Aluminium complex, encompassing bauxite mining, alumina refining, Aluminium smelting and casting, power generation, rail and port operation. Commissioned during 1985-87, under extremely difficult logistics of project management, that to without time or cost overruns, Nalco has emerged to be a star performer in production and export of alumina and Aluminium, and more significantly, in propelling self-sustained growth.

Leveraging the technical collaboration with Aluminium Pechiney of France, ISO 9002 certification of quality management, LME registration of products, environment care conforming to ISO 14001, low cost operation, international customer base, Nalco has continued to add is poised to grow further. Nalco’s original project cost of Rs.2408 crore was partly financed by 980 million US dollars, extended by a consortium of international banks. By 1998, the company not only achieved a zero-debt status, but also is going steady with a self-funded major expansion plan involving an investment of over Rs.3900 crore. The Main Segments of the Company are: • • • • • Bauxite mine of capacity 2.4 MTPY at Panchapatmali, Orissa. Aluminium mine of capacity 800,000 TPY at Damanjodi, Orissa. Aluminium mine of capacity 230,000 TPY at Angul, Orissa. Power plant of capacity 720 MW at Angul, Orissa. Port facility of 3735300 TPY aluminium export and 146,000 TPY caustic soda import at Vishakhapatnum, Andhra Pradesh. AIMS • • • • • Contribute significantly to increase the ALUMINA and Aluminium production in the country.

Meet the growing demand of the country and of the international market. Continue to improve the technological and competitive edge. Emerge over a period of time as a major ALUMINA and ALUMINIUM producer in the international market with a considerable export capability. Establish its image as a dynamic business house, providing growth and establishing its image to the best satisfaction of its valuable and esteemed customers and employees.

Provide excellent return to the investor for the investment in NALCO.

Objectives • • • Provide a steady growth to the business by progress by progressive expansion and diversification. Adopt a suitable strategy to achieve a reasonable and adequate return on the investments. Maintain international standards of excellence in product quality, performance and customer satisfaction and emerge as a major international company. • • • • • • • • Maximize foreign exchange earnings. Achieve operational efficiency full capacity utilization and improved productivity. Strengthen managerial and technical competence in the direction of self –reliance. Continuously upgrade the quality of human resources. Develop a harmonious employee and employer relationship Encourage the availability of quality products at reasonable costs and to fix a price from time to time to benefit its valuable customers. Encourage and reward suitable employees of the organization for their innovative ideas, suggestion, discoveries and inventions. Prevent environmental pollution and maintain perfect and harmonious ecological balance in the area in which the company operates. Achievements • • • First Mines Safety Award-1988 by DGMS. Best Eco-friendly Factory Award 1994-95 to the Mines and Refinery Complex by Orissa State Factory Inspectorate. State Award-1995 to Captive Power Plant from state Factory inspectorate for Environment Management

• • • • • • •

Indira Priyadarshini Vrikshamitra Award-1994 from MOEF, Govt. of India, for afforestation and wasteland development WEC-IIEE-IAEWP Environment award -1997 for contributing towards environment protection Gem Granite Environment Award for -1997-98 by FIMI, New Delhi for Mines. Shri Sita Ram Rungta Memorial Social Awareness Award-1997-98 by FIMI, New Delhi. Pollution Control Excellence Award - 1998 by Orissa State Pollution Control Board for Mines. Special Commendation under Golden Peacock Environment Management Award 1998 Scheme by World Environment Foundation. State Award for Best Occupational Health Centre to S&P Complex1998.

PEOPLE: The philosophy of Nalco in the field of human resources and management has been: To attract competent personnel with growth potential and develop there skills and capabilities in a congenial work and social environment through opportunities for training, recognition career advancement and other incentives. To develop and nurture favorable attitude among employees and to obtain their best contribution to the organization by providing stable employment, safe working conditions, job satisfaction, quick redress of grievances and through good pay and welfare amenities, commensurate with the company's capacity to spend and the governments guidelines. To foster fellowship and sense of belongingness among all sections of employees through closer association of employees with the management and by encouraging healthy trade union practices. Computerization in Nalco: In the modern world, computer plays very vital role. The importance of computerization both in the area of commercial application and automation has been clearly visualized by NALCO. The System Department has opted for the Centralized planning developed and coordination at Corporate Office and De-Centralized work on application processing and maintenance, matching the local needs at all level.

Need for Computerization:  Keep tracks of high volume of data.  Acquire, consolidate, store, retrieve, distribute and use the data in multiple plants locations.  For the introduction of modern technology.  Ensuring optimum level of performance.  Controlling costs of production.  Reducing clerical work and avoiding duplication of data.

System department has installed computer at following places: • • • • • Corporate office, Bhubaneshwar Alumina & Refinery, Damanjodi Smelter Plant, Angul Captive power Plant, Angul Chennai, Bangalore, Vizag, Kolkata, Delhi & Mumbai offices.

Areas of Computerization are: • • • • • • • • • • Production MIS Training & Placement Attendance Maintenance Financial Account, Ledgers to Balance Sheet, P&: Statement Centralized Cash Management, Value Dated Bank Balance Cost Monitoring Payables, Cheque Printing, e-payments Expenditure monitoring, LC, Bank Guarantee & Bank reconciliation Sales & Marketing Accounting

• • • • • •

Leave Maintenance Inventory Management including stores and purchase Payroll & Establishment processing Maintenance Management Shares & Debentures Provident fund & Pension Accounting

Future Plan: As the awareness of computer is very high and the users are very much familiar to the computer environment, NALCO has a big plan for future growth in the area of computerization. The main features of plan are: Acquisition of advance machines with more Processors power and efficiency • • • • • In house software development as well as getting it from vendors. Business process re-engineering and ERP. Mail messaging and Internet use. Workflow application development. Plant wide networking and distributed computing.

Computerization Level at Corporate Office NALCO: Nalco has exiting IT infrastructure at its CORORATE OFFICE in BHUBANESWAR. All the department of Corporate Office are networked through local area network. The network has provision for total of 315 nodes at present there are 110 nodes connected. The terminal server is connected to 10/100 mbps switch where are other network nodes that connectred to the 10 base T-hubs using CATS 5UTP cabling. The cabling system is structured and cerified for 15 years at the core of the network. There are three 24 port 10/100 Ethernet switches. There are interconnected using indoor fiber optics cable (4core) with redundant link between two switches.

Corporate system department is connected to its other locations (i.e. CPP, Refinery, Smetler, and Mines) through a Wide Area Network (WAN) setup. All these locations are connected through 64Kbps bandwidth leased link line provided by BSNL. The primary applications using this link are massaging and other RDBMS applications. All the department of Corporate Office is connected through INTRANET services. Corporate System Department is also networked with the zonal offices at NALCO at Mumbai, Chennai, Vizag, Delhi, and stockyards at Kolkata, Jeypore, Banglore and Vizag. In Order to avail the Internet facility and setting up a massaging infra, at BBSR, certain software and hardware will be installed.

The project is regarding LIBRARY MANAGEMENT that dissolves in it some basic library manipulation functions, which are recursively produces in the source code and presented in a succinct manner. UPON the completion of the project: We get a menu with is classified into two further sources of codes which are listed down below: MEMBER AREA ADD MEMBERS LIST MEMBERS MODIFY MEMBERS DELETE MEMBERS BOOK AREA ADD/RETURN BOOKS LIST BOOKS MODIFY BOOKS ISSUE BOOKS All the member information and the book information will be subsequently appended in two different files (usage of the database concept of storing information).

The LIBRARY MANAGEMENT project was done in C/C++ platform, the concepts that are clustered in the program can be dismantled and can be presented as follows: Files concept for the purpose of storage and proper incubation of information. Linked list for making a dictionary, which comprises of member names to illustrate member availability. Arrays, structures for trimming the program and decreasing the lines of codes All the basic concepts were revised throughout the program: data-types, Loops, input/output functions and puppetting of strings.

Source code
libsys.c // A menu driven program for library management (linker)

#include<stdio.h> #include<conio.h> #include "lbr.c" #include "lbr1.c" main() { char choice; clrscr(); cls(); beg: printf("\n\n LIBRARY MANAGEMENT"); printf("\n\n 1.MEMBER AREA"); printf("\n\n 2.BOOK AREA"); printf("\n\n 3.EXIT"); printf("\n\n ENTER CHOICE: "); choice=getche(); clrscr(); switch(choice) { case '1':goto main1; case '2':goto main2; case '3': printf("\n THANK YOU"); printf("\n press any key to exit"); getch(); exit(); default:goto beg; }

main1: { FILE *fp,*ft,*fq; char another,choice; struct emp { char name[60]; int age; int id; char address[100]; }; struct emp e; char empname[40]; long int recize; int a; fp=fopen("EMP.DOC","rb+"); if(fp==NULL) { fp=fopen("EMP.DOC","wb+"); if(fp==NULL) { puts("\n Cannot open the file"); exit(); } } recize=sizeof(e); while(1) { cls(); printf("MEMBER AREA"); gotorc(2,10); printf("1. ADD MEMBER"); gotorc(3,10); printf("2. LIST MEMBERS"); gotorc(4,10); printf("3. MODIFY MEMBER"); gotorc(4,10);

printf("4. DELETE MEMBER"); gotorc(5,10); printf("5. EXIT"); gotorc(7,10); printf(" ENTER YOUR CHOICE: "); fflush(stdin); choice=getche(); switch(choice) { case '1': fseek(fp,0,SEEK_END); another='Y'; while(another=='Y'|| another=='y') { //fq=fopen("MEMBERINFO.TXT","a+"); printf("\n"); printf(" Name: "); gets(; //fputs(,fq); printf("\n Age: "); scanf("%d",e.age); //fprintf(e.age,fq); printf("\n I.D: "); scanf("%d",; //fprintf(,fq); printf("\n Address: "); gets(e.address); //fputs(e.address,fq); printf(""); scanf("%d",a); fwrite(&e,recize,1,fp); //fclose(fq); printf("\n ADD ANOTHER MEMBER: "); fflush(stdin); another=getche(); } break; case '2': rewind(fp); while(fread(&e,recize,1,fp)==1)

printf("\n %s %d",,; puts(; printf("\t\b,"); printf("%d",e.age); printf("\t\b,"); printf("%d",; printf("\t\b,"); puts(e.address); break; case '2': another='Y'; while(another=='Y'|| another=='y') { printf("\n Enter name of the member to modify"); gets(empname); rewind(fp); while(fread(&e,recize,1,fp)==1) { if(strcmp(,empname)==0) { //fq=fopen("MEMBERMOD.TXT","a+"); printf("\n Enter new name: "); gets(; //fputs(empname,fq); //fputs("---modified as--- ",fq); //fputs(,fq); printf("\n Enter new age: "); scanf("%d",e.age); printf("\n Enter new ID: "); scanf("%d",; printf("\n Enter new address: "); gets(e.address); printf(""); scanf("%d",a); goto dot; } } dot: printf("\n\n Modify another record: "); fflush(stdin); another=getche(); }

break; case '3': another='y'; while(another=='y'|| another=='Y') { printf("\n Enter member name to delete: "); gets(empname); ft=fopen("TEMP.DOC","wb"); rewind(fp); { while(fread(&e,recize,1,fp)==1) { if(strcmp(,empname)!=0) fwrite(&e,recize,1,ft); } fclose(fp); fclose(ft); remove("EMP.DOC"); rename("TEMP.DOC","EMP.DOC"); printf("Member deleted"); } fp=fopen("EMP.DOC","rb+"); printf("\n Delete another member: "); fflush(stdin); another=getche(); } break; case '4': fclose(fp); goto beg; } } } main2: { FILE *fp,*ft,fe; char another,choice; struct emp1 { char name[40];

char category[40]; char author[40]; int id; int rid; char language[100]; }; struct emp1 e1; char empname[40]; long int recize; int a,q,w; fp=fopen("EMP1.DOC","rb+"); if(fp==NULL) { fp=fopen("EMP1.DOC","wb+"); if(fp==NULL) { puts("\n Cannot open the file"); exit(); } } recize=sizeof(e1); while(1) { cls1(); printf("BOOK AREA"); gotorc1(2,10); printf("1. ADD BOOK"); gotorc1(3,10); printf("2. LIST BOOKS"); gotorc1(4,10); printf("3. MODIFY BOOK INFO"); gotorc1(4,10); printf("4. ISSUE BOOK"); gotorc1(5,10); printf("5. EXIT"); gotorc1(7,10); printf(" ENTER YOUR CHOICE: ");

fflush(stdin); choice=getche(); switch(choice) { case '1': fseek(fp,0,SEEK_END); another='Y'; while(another=='Y'|| another=='y') { //fe=fopen("BOOKINFO.TXT","a+"); printf("\n"); printf(" Book name: "); gets(; //fputs(,fe); printf("\n Book i.d: "); scanf("%d",; //fputs(,fe); printf("\n Authors name: "); gets(; //fputs(,fe); printf(""); scanf("%d",&q); //printf("\n Rack i.d: "); //scanf("%d",&q); //scanf("%d",e1.rid); //scanf("%d",&q); printf("\n Book Category: "); gets(e1.category); //fputs(e1.category,fe); printf(""); scanf("%d",&w); printf("\n Book Language: "); gets(e1.language); //fputs(e1.language,fe); scanf("%d",&q); fwrite(&e1,recize,1,fp); //fclose(fe); printf("\n ADD ANOTHER BOOK: "); fflush(stdin); another=getche();

} break; case '2': rewind(fp); while(fread(&e,recize,1,fp)==1) printf("\n %s %d",,; puts(; printf("\t\b,"); printf("%d",e.age); printf("\t\b,"); printf("%d",; printf("\t\b,"); puts(e.address); break; case '2': another='Y'; while(another=='Y'|| another=='y') { printf("\n Enter name of the book to modify:"); gets(empname); rewind(fp); while(fread(&e1,recize,1,fp)==1) { if(strcmp(,empname)==0) { //fe=fopen("BOOKMOD.TXT","a+"); printf("\n Enter new book name: "); gets(; //fputs(empname,fe); //fputs("---modified as---",fe); //fputs(,fe); printf("\n Enter new rack id: "); scanf("%d",; /*printf("\n Enter new ID: "); scanf("%d",; printf("\n Enter new address: "); gets(e.address); printf(""); scanf("%d",a);*/ } }

printf("\n\n Modify another record: "); fflush(stdin); //fclose(fe); another=getche(); } break; case '3': another='y'; while(another=='y'|| another=='Y') { printf("\n Enter book name to ISSUE: "); gets(empname); ft=fopen("TEMP1.DOC","wb"); rewind(fp); while(fread(&e1,recize,1,fp)==1) { if(strcmp(,empname)!=0) fwrite(&e1,recize,1,ft); } fclose(fp); fclose(ft); remove("EMP1.DOC"); rename("TEMP1.DOC","EMP1.DOC"); fp=fopen("EMP1.DOC","rb+"); printf("\n ISSUE another book: "); fflush(stdin); another=getche(); } break; case '4': fclose(fp); goto beg; }}}}


#include"dos.h" cls() { union REGS i,o; i.h.ah=6;;; i.h.dh=24; i.h.dl=79;;; int86(16,&i,&o); } gotorc(int r,int c) { union REGS i,o; i.h.ah=2;; i.h.dh=r; i.h.dl=c; int86(16,&i,&o); }

goto1.c #include"dos.h" cls1() { union REGS i,o; i.h.ah=6;;; i.h.dh=24; i.h.dl=79;;; int86(16,&i,&o); } gotorc1(int r,int c) { union REGS i,o; i.h.ah=2;; i.h.dh=r; i.h.dl=c; int86(16,&i,&o); }


// module for member avail #include<stdio.h> #include<conio.h> #include<string.h> #include<ctype.h> #include<alloc.h> struct clist { char name[20]; struct clist *link; }; struct clist *a[26]; main() { int sflag,l; char country[20],ch; FILE *fp; clrscr(); fp=fopen("DWORD.TXT","r+"); printf("loading..."); if(fp==NULL) { puts("\n Unable to open the file"); exit(); } while(fgets(country,20,fp)) { l=strlen(country); country[l-1]='\0'; addtolist(toupper(country[0])-65,country); } while(1) {

printf("\n Enter the word to search: "); fflush(stdin); gets(country); sflag=search_list(toupper(country[0])-65,country); if(sflag) printf("\n %s is present in the list\n",country); else printf("\n Not present\n"); printf("\n Any more to search(y/n): "); fflush(stdin); ch=getch(); if(tolower(ch)!='y') break; } fclose(fp); return 0; } addtolist(int index,char *str) { char name[20]; struct clist *q,*r,*temp; temp=q=a[index]; r=malloc(sizeof(struct clist)); strcpy(r->name,str); //if list is empty if(q==NULL||strcmp(q->name,str)>0) { q=r; q->link=temp; a[index]=q; } else { //traverse the list while(temp!=NULL) { if(strcmp(temp->name,str)<=0 && (strcmp(temp->link->name,str)>0)||(temp>link==NULL)) { r->link=temp->link; temp->link=r; return; } temp=temp->link; } r->link=NULL; temp->link=r;

} } search_list(int index,char *str) { struct clist *p; p=a[index]; if(p==NULL) return 0; else { while(p!=NULL) { if(strcmp(p->name,str)==0) return 1; else p=p->link; } getch(); return 0; } }


REFERENCES: Code help and concept based understanding to assemble the www.orkut.come (communities) source code Let Us C, Yashwant kanetkar, bpb publications (4th revised edition) Understanding pointers in C, Yashwant kanetkar, bpb publications

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.