⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c++.cpp

📁 Library Mgmt. System.c
💻 CPP
📖 第 1 页 / 共 2 页
字号:
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
#include <string.h>
#include <process.h>
#include <stdlib.h>
#include<dos.h>
#include<iomanip.h>
#define NORMAL 7


class library
{
 private:
	FILE *fp,*ft,*fe;
	int sl;
	long int recsize;
	char another,choice;

	struct LateFine
	{
	 int roll,sno;
	 char name[30];
	 char code[15];
	 float amt;
	}f;
	struct student
	{
	 int roll,sno,sl,dt,mn,yr;
	 char name[30];
	 char code[15];
	}i,r,q;

	struct book
	{
	 int sno;
	 char name[30];
	 char auth[30];
	 char pub[25];
	 float price;
	}b;
 public:
	void boxb(int r,int c,int r1,int c1,char m[]);
	int  menu(int col,int r,int c,int npara,char *pop[]);
	void about();
	void bookpurchage();
	void booklist();
	void bookissue();
	void issuelist();
	void bookreturn();
	void returnlist();
	void querybystd();
	void querybybook();
	void latefine();
	void delreturn();
	void modifyentry();
	void flash();


};
// Function to get overview of project
void library::bookpurchage()
{
  int temp=0;

  fp = fopen ("RECORD.DAT","rb+");
  if(fp == NULL)
  {
   fp = fopen ("RECORD.DAT","wb+");
   if(fp == NULL)
    {
     puts("Can not open file");
     exit(0);
     }
   }
  recsize=sizeof(b);
  fseek(fp,0,SEEK_END);
  another='y';
  rewind(fp);
  while(fread(&b,recsize,1,fp)==1)
  {
   temp=b.sno;
   }
  while(another=='y')
  {
   textbackground(9);
   clrscr();
   flash();
   textattr(697);
   textcolor(692);
   gotoxy(3,4);cprintf("                         [      BOOKS
S       ]                      ");
   textattr(7);
   b.sno=temp+1;
   temp++;
   gotoxy(10,10);cout<<"BOOK_NO       : "<<b.sno;
   flushall();
   gotoxy(10,11);cout<<"BOOK_NAME     : ";
   gets(b.name);
   flushall();
   gotoxy(10,12);cout<<"AUTHOR_NAME   : ";
   gets(b.auth);
   flushall();
   gotoxy(10,13);cout<<"PUBLICATION   : ";
   gets(b.pub);
   flushall();
   gotoxy(10,14);cout<<"PRICE         : ";
   cin>>b.price;
   flushall();
   gotoxy(10,16);cout<<"Do you want to save(y/n): ";
   another=getche();
   if(another!='y')
    temp--;
   else
    fwrite(&b,recsize,1,fp);
   gotoxy(10,17);cout<<"Add another records(Y/N): ";
   fflush(stdin);
   another=getche();
  }
  clrscr();
  return;
}

void library::booklist()
{
  int c=1;

  fp = fopen ("RECORD.DAT","rb+");

  recsize=sizeof(b);
  rewind(fp);
  textbackground(9);
  clrscr();
  flash();
  textattr(697);
  textcolor(692);
  gotoxy(3,4);cprintf("                         [      BOOKS
S       ]                      ");
  textattr(7);
  gotoxy(2,7);cout<<"BOOK_NO. BOOKS_NAME            AUTHOR
PUBLICATION        PRICE ";

gotoxy(2,8);cout<<"-------------------------------------------------------
----------------------";
  while (fread (&b,recsize,1,fp) == 1)
  {
  flash();
  textattr(697);
  textcolor(692);
  gotoxy(3,4);cprintf("                         [      BOOKS
S       ]                      ");
  textattr(7);
  gotoxy(2,8+c);
  cprintf(" %-6d ",b.sno);
  cprintf(" %-20.20s ",b.name);
  cprintf(" %-18.18s ",b.auth);
  cprintf(" %-15.15s",b.pub);
  cprintf(" %9.2f ",b.price);
  c++;
  if(c>11)
   {
    c=1;
    gotoxy(55,20);
    cout<<"Press key to next";
    getch();
    textbackground(9);
    clrscr();
    flash();
    textattr(697);
    textcolor(692);
    gotoxy(3,4);cprintf("                         [      BOOKS
S       ]                      ");
    textattr(7);
    gotoxy(2,7);cout<<"BOOK_NO. BOOKS_NAME            AUTHOR
PUBLICATION        PRICE ";

gotoxy(2,8);cout<<"-------------------------------------------------------
----------------------";
   }
  }
  gotoxy(60,20);cout<<"End of List";
  getch();
  clrscr();
  return;
}

int library::menu(int color,int r,int c,int npara,char *popup[])
   {
  int r1=r+(npara-1),k=0,i=0,j=1,r2=r;
  textattr(color);gotoxy(c,r2);cprintf(popup[0]);
  r2++;
  textattr(919);
  textcolor(7);
  for(j=1;j<npara;j++,r2++)
  {
   gotoxy(c,r2);cprintf(popup[j]);
  }
  do
  {
    k=getch();
    switch(k)
    {
      case 80 :
		gotoxy(c,r);textattr(919);textcolor(7);cprintf(popup[i]);
		r++;
		i++;
		if(r>r1)
		{
		 r=r1-(npara-1);
		 i=0;
		 gotoxy(c,r);textattr(color);cprintf(popup[i]);
		}
		 gotoxy(c,r);textattr(color);cprintf(popup[i]);
		 break;
      case 72  :
		gotoxy(c,r);textattr(919);textcolor(7);cprintf(popup[i]);
		r--;
		i--;
		if(r<r1 -(npara-1))
		{
		 r=r1;
		 i=npara-1;
		 gotoxy(c,r);textattr(color);cprintf(popup[i]);
		}
		 gotoxy(c,r);textattr(color);cprintf(popup[i]);
		 break;
    }
   }while(k!=13);
  return i+1;
}

void library::boxb(int r,int c,int r1,int c1,char m[])
{
  int i;
  if(m=="S")
   {
    gotoxy(c,r);printf("%c",218);
    gotoxy(c1,r);printf("%c",191);
    gotoxy(c,r1);printf("%c",192);
    gotoxy(c1,r1);printf("%c",217);
    for(i=c+1;i<c1;i++)
      {
       gotoxy(i,r);printf("%c",196);
       gotoxy(i,r1);printf("%c",196);
      }
    for(i=r+1;i<r1;i++)
      {
       gotoxy(c,i);printf("%c",179);
       gotoxy(c1,i);printf("%c",179);
      }
   }
 else
   {
    gotoxy(c,r);printf("%c",201);
    gotoxy(c1,r);printf("%c",187);
    gotoxy(c,r1);printf("%c",200);
    gotoxy(c1,r1);printf("%c",188);
    for(i=c+1;i<c1;i++)
      {
       gotoxy(i,r);printf("%c",205);
       gotoxy(i,r1);printf("%c",205);
      }
    for(i=r+1;i<r1;i++)
      {
       gotoxy(c,i);printf("%c",186);
       gotoxy(c1,i);printf("%c",186);
      }
   }
  return;
}

void library::flash()
{
  boxb(2,1,5,79,  "S");
  boxb(6,1,20,79, "D");
  boxb(21,1,24,79,"D");
  textattr(697);
  textcolor(692);
  gotoxy(3,3);cprintf("                         [LIBRARY INFORMATION
SYSTEM]                      ");
  textattr(697);textattr(693);
  gotoxy(3,22);cprintf(" Designed  By :- KRISHNA BIHARI
");
  gotoxy(3,23);cprintf("                 M.C.A., A.N.College, Patna
");
  textattr(7);
}
void library::about()
{
  textbackground(9);
  clrscr();
  flash();
  textattr(697);
  textcolor(692);
  gotoxy(3,4);cprintf("                         [
ERVIEW          ]                      ");
  textattr(919);
  gotoxy(10,7) ;textcolor(4);cprintf("This L.I.S. Package has been
designed to maintain computerised ");
  gotoxy(10,8) ;textcolor(2);cprintf("Library work very easily by a
librarian. It can run under DOS/ ");
  gotoxy(10,9) ;textcolor(5);cprintf("Windows Environment.
");

gotoxy(10,10);textcolor(3);cprintf("......................................
....................... ");
  gotoxy(10,11);textcolor(6);cprintf("                            
Krishna
Bihari                     ");
  gotoxy(10,12);cprintf("                            M.C.A.
");
  gotoxy(10,13);cprintf("                            A.N.College, Patna
");
  gotoxy(10,14);puts("                            *******************
");
  textcolor(2);
  gotoxy(10,15);cprintf("                 Email    kb_pat@yahoo.com
");

gotoxy(10,16);textcolor(3);cprintf("......................................
....................... ");
  textattr(7);textbackground(3);textcolor(5);
  gotoxy(55,20);textcolor(804);cprintf("Press any key to Next ");
    // sound(2100);
    // delay(1000);
  getch();
    // nosound();
  textattr(7);
  clrscr();
}

void library::bookissue()
{
  int temp=0,tem=0;
  fp = fopen ("BISSUE.DAT","rb+");
  if(fp == NULL)
    {
     fp = fopen ("BISSUE.DAT","wb+");
     if(fp == NULL)
      {
       puts("Can not open file");
       exit(0);
      }
    }
  ft=fopen("RECORD.DAT","rb");
  recsize=sizeof(i);
  fseek(fp,0,SEEK_END);
  another='y';
  choice='y';
  rewind(fp);
  while(fread(&i,recsize,1,fp)==1)
   temp=sl;
  while(another=='y')
  {
   textbackground(9);
   clrscr();
   flash();
   textattr(697);
   textcolor(692);
   gotoxy(3,4);cprintf("                         [       BOOKS
      ]                      ");
   textattr(7);
   sl=temp+1;
   temp++;
   flushall();
   gotoxy(10,11);cout<<"BOOK_NO       : ";
   cin>>i.sno;
   flushall();
   rewind(ft);
   while(fread(&b,sizeof(b),1,ft)==1)
   {
    if (i.sno==b.sno)
     {
      tem=i.sno;
      rewind(fp);
      while(fread(&i,recsize,1,fp)==1)
      {
       if(tem==i.sno)
	{

gotoxy(2,7);cout<<"-------------------------------------------------------
----------------------";
	 gotoxy(2,8);cout<<"BOOK_NO: "<<i.sno<<" IS NOT PRESENT ! PLEASE 
ENTRER
NEW BOOK NUMBER";

gotoxy(2,9);cout<<"-------------------------------------------------------
----------------------";
	 goto a;
	}
      }
      i.sno=tem;
      gotoxy(2,7);cout<<"BOOK NO. BOOK's NAME           AUTHOR
PUBLICATION        PRICE  ";

gotoxy(2,8);cout<<"-------------------------------------------------------
----------------------";
      gotoxy(2,9);printf(" %-6d  %-20.20s  %-18.18s  %-15.15s
%9.2f",b.sno,b.name,b.auth,b.pub,b.price);

gotoxy(2,10);cout<<"------------------------------------------------------
-----------------------";
      gotoxy(10,12);cout<<"STUDENT_ROLL  : ";
      cin>>i.roll;
      flushall();
      gotoxy(10,13);cout<<"STUDENT_NAME  : ";
      gets(i.name);
      flushall();
      gotoxy(10,14);cout<<"COURSE_CODE   : ";
      gets(i.code);
      flushall();
      gotoxy(10,15);cout<<"ISSUE_DATE    : ";
      cin>>i.dt;
      gotoxy(28,15);cout<<"-";cin>>i.mn;
      gotoxy(31,15);cout<<"-";cin>>i.yr;
      flushall();
      gotoxy(10,17);cout<<"Do you want to save(Y/N): ";
      choice=getche();
      if(choice=='y')
       fwrite(&i,recsize,1,fp);
       goto a;
      }
   }

gotoxy(2,7);cout<<"-------------------------------------------------------
----------------------";
    gotoxy(2,8);cout<<"BOOK_NO: "<<i.sno<<" IS NOT IN LIBRARY ! ";

gotoxy(2,9);cout<<"-------------------------------------------------------
----------------------";
   a:
    gotoxy(10,18);cout<<"Issue Another Book (Y/N): ";
    fflush(stdin);
    another=getche();
  }
  clrscr();
  fclose(ft);
  fclose(fp);
  return;
}

void library::bookreturn()
{
  int temp=0;
  FILE *fm,*ff;
  fp = fopen ("BRETURN.DAT","rb+");
  if(fp == NULL)
   {
    fp = fopen ("BRETURN.DAT","wb+");
    if(fp == NULL)
     {
      puts("Can not open file");
      exit(0);
     }
   }
  ft=fopen("RECORD.DAT","rb");
  fe=fopen ("BISSUE.DAT","rb+");
  recsize=sizeof(r);
  fseek(fp,0,SEEK_END);
  another='y';
  choice='y';
  rewind(fp);
  while(fread(&r,recsize,1,fp)==1)
  {
   temp=r.sl;
   }
  while(another=='y')
  {
   textbackground(9);
   clrscr();
   flash();
   textattr(697);
   textcolor(692);
   gotoxy(3,4);cprintf("                         [      BOOKS
       ]                      ");
   textattr(7);
   r.sl=temp+1;
   temp++;
   gotoxy(10,11);cout<<"BOOK_NO       : ";
   cin>>r.sno;
   flushall();
   rewind(ft);
   while(fread(&b,sizeof(b),1,ft)==1)
   {
    if (r.sno==b.sno)
     {
      rewind(fe);
      while(fread(&i,sizeof(i),1,fe)==1)
      {
       if(r.sno==i.sno)
       {
	gotoxy(2,7);cout<<"BOOK_NO  BOOKS_NAME         ISSUED TO          ROLL
C_CODE    ISSUE_DATE  ";

gotoxy(2,8);cout<<"-------------------------------------------------------
----------------------";
	gotoxy(2,9);cprintf(" %-6d  %-17.17s  %-16.16s   %-5d  %-8.8s
%02d-%02d-%02d ",i.sno,b.name,i.name,i.roll,i.code,i.dt,i.mn,i.yr);

gotoxy(2,10);cout<<"------------------------------------------------------
-----------------------";
	gotoxy(10,12);cout<<"STUDENT_ROLL  : ";
	cin>>r.roll;
	flushall();
	gotoxy(10,13);cout<<"STUDENT_NAME  : ";
	gets(r.name);
	flushall();
	gotoxy(10,14);cout<<"COURSE_CODE   : ";
	gets(r.code);
	flushall();
	gotoxy(10,15);cout<<"RETURN_DATE   : ";
	cin>>r.dt;
	gotoxy(28,15);cout<<"-";cin>>r.mn;
	gotoxy(31,15);cout<<"-";cin>>r.yr;
	flushall();
  /*
  int total,tmp=0,d=0,m=0,y=0;
  float fine;

   ff = fopen ("FINE.DAT","rb+");
   if(ff == NULL)
   {
    ff = fopen ("FINE.DAT","wb+");
    if(ff == NULL)
     {
     puts("File Not Found");
     exit(0);
     }
    }

 if (r.dt>=i.dt)
   {
    d=r.dt-i.dt;
    if(r.mn>=i.mn)
      {
       m=r.mn-i.mn;
       y=r.yr-i.yr;
      }
    else
     {
       r.yr=r.yr-1;
       r.mn=r.mn+12;
       m=r.mn-i.mn;
       y=r.yr-i.yr;
     }
   }
 else
   {
    r.mn=r.mn-1;
    r.dt=r.dt+30;
    d =r.dt-i.dt;
    if(r.mn>=i.mn)
      {
      m=r.mn-i.mn;
      y=r.yr-i.yr;
      }
    else
      {
      r.yr=r.yr-1;
      r.mn=r.mn+12;
      m=r.mn-i.mn;
      y=r.yr-i.yr;
      }
   }
 total=d+(m*30)+(y*12*30);
 if (total>=7)
 {
  total=total-7;
  fine=total*1.00;
  recsize=sizeof(f);
  fseek(ff,0,SEEK_END);
  rewind(ff);
  while(fread(&f,recsize,1,ff)==1)
  {
   tmp=f.sno;
   }
  f.sno=tmp+1;
  f.roll=i.roll;
  strcpy(f.name,i.name);
  strcpy(f.code,i.code);
  f.amt=fine;
  fwrite(&f,recsize,1,ff);
  }
*/

	gotoxy(10,16);cout<<"Do you want to save(Y/N): ";
	choice=getche();
	if(choice=='y')
	{
	 fwrite(&r,recsize,1,fp);
	 fm=fopen("TEMP.DAT","wb");
	 rewind(fe);
	 while(fread(&i,sizeof(i),1,fe)==1)
	 {
	  if(r.sno!=i.sno)
	  fwrite(&i,sizeof(i),1,fm);
	 }
	 fclose(fe);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -