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

📄 library.c

📁 这个是综合图书管理系统的c语言程序
💻 C
📖 第 1 页 / 共 2 页
字号:
			}
	    }

	   fwrite(&M,sizeof(M),1,tt);
	}
	else
	  fwrite(&M,sizeof(M),1,tt);
      }
	   fclose(tt); fclose(fm);
	  remove("member.dat");
	  rename("temp1.dat","member.dat");
	  fm=fopen("member.dat","a+");
	  printf("\n\t Member Renewed..");
	  getch();
	  transac1(no,'E');
   }


/********************Function To Issue Duplicate Id Card*********************/
 void memdupid()
 {
     int no,ch;
     clrscr();
     printf("\n\t Enter Membership Id::");  scanf("%d",&no);
     ch=memcheck(no);
     if(ch==FALSE)
     {
	printf("\n\t No Such Member....."); getch(); return;
     }
     printf("\n\t Duplicate ID Issued....");
     getch();
     transac1(no,'D');
 }


/*************************Function To Check A Member*************************/

  int memcheck(int id)
  {
    rewind(fm);
    while(fread(&M,sizeof(M),1,fm)==1)
     {
       if(M.mid==id)
	return TRUE;
     }
     return FALSE;
  }


/*************Function To Record Transaction Made By Members*****************/

   void transac1(int mid,char ch)
   {
     rewind(ft);
     while(fread(&T,sizeof(T),1,ft) ==1)
     ;
     fseek(ft,0,SEEK_END);
     T.tid+=1; T.mid=mid;
     T.reason=ch;
     T.b.bno=0;  T.b.gno=0; T.b.no=0;
     getdate(&d);
     T.i.day=d.da_day;  T.i.mon=d.da_mon;  T.i.year=d.da_year;
     T.r.day=0;         T.r.mon=0;         T.r.year=0;
     if(ch=='A')
      T.fine=500;
     else if(ch=='E')
      T.fine=300;
     else if(ch=='D')
      T.fine=50;
      fwrite(&T,sizeof(T),1,ft);
   }


/*******************Function To Add Books To The Library*********************/

  void addbook()
   {
     int num,i;
     clrscr();
     rewind(fb);
     while( fread(&B,sizeof(B),1,fb)==1)
     ;
     B.b.gno+=1;     getdate(&d);    B.b.bno=d.da_year;
     fseek(fb,0,SEEK_END);
     printf("\n\t Enter No Of Books::");  scanf("%d",&num);
     fflush(stdin);
     printf("\n Enter Name::"); gets(B.bname); B.bname[19]=' '; B.bname[20]='\0';
     fflush(stdin);
     printf("\n Enter Author's Name::"); gets(B.author); B.author[14]=' '; B.author[15]='\0';
     fflush(stdin);
     printf("\n Enter Publisher's Name::"); gets(B.pub); B.pub[19]=' '; B.pub[20]='\0';
     fflush(stdin);
     printf("\n Enter Book Price::");  scanf("%d",&B.price);
     for(i=0;i<num;i++)
     {
       B.b.no=i+1;
       fwrite(&B,sizeof(B),1,fb);
     }
  }


/*******************Function To Issue Book To Members ***********************/

void issbook()
{
   int i,j,k,id;
   int f1,f2;
   clrscr();
   gotoxy(5,1); cprintf("Enter Book id::");
   gotoxy(9,2); cprintf("/");gotoxy(13,2); cprintf("/");

   gotoxy(5,2); scanf("%d",&i);
   gotoxy(10,2); scanf("%d",&j);
   gotoxy(14,2);scanf("%d",&k);
   f1=chkbook(i,j,k);
   if(f1==FALSE)
   {
     printf("\n\t No Such Book.....");   getch();   return;
   }

   printf("\n\t Enter Membership id::");
   scanf("%d",&id);
   f2=memcheck(id);
     if(f2==FALSE)
     {
	printf("\n\t No Such Member....."); getch(); return;
     }
    transac2(id,i,j,k,'I');
    printf("\n\t Book Issued....");
    getch();
}


/*****************Function To Return Book To The Library*********************/

void retbook()
{
   int i,j,k,id;
   int f1,f2,f3;
   f3=FALSE;
   clrscr();
   gotoxy(5,1); cprintf("Enter Book id::");
   gotoxy(9,2); cprintf("/");gotoxy(13,2); cprintf("/");

   gotoxy(5,2); scanf("%d",&i);
   gotoxy(10,2); scanf("%d",&j);
   gotoxy(14,2);scanf("%d",&k);
   f1=chkbook(i,j,k);
   if(f1==FALSE)
   {
     printf("\n\t No Such Book.....");   getch();   return;
   }
   printf("\n\t Enter Membership id::");
   scanf("%d",&id);
   f2=memcheck(id);
     if(f2==FALSE)
     {
	printf("\n\t No Such Member....."); getch(); return;
     }
   rewind(ft);
   while(fread(&T,sizeof(T),1,ft)==1)
   {
       if(T.mid==id && T.b.bno==i && T.b.gno==j && T.b.no==k && T.reason=='I')
	{  f3=TRUE; break;}
   }
   if(f3==TRUE)
   {
     transac2(id,i,j,k,'R');
   }
   else
   printf("\n\t No Such Transaction In The Records......");
}


/*******************Function To Check Bookid ********************************/

int  chkbook(int i,int j,int k)
{
  rewind(fb);
  while(fread(&B,sizeof(B),1,fb)==1)
  {
     if(B.b.bno==i && B.b.gno==j && B.b.no==k)
     {
       return TRUE;
     }
  }
  return FALSE;
}


/*************Function To Record Transaction Made On Books ******************/

void transac2(int mid,int bno,int gno,int no,char c)
{
     FILE *tt1;
     tt1=fopen("tempo","w");
     rewind(ft);

     while(fread(&T,sizeof(T),1,ft) ==1)
     ;


     T.tid+=1; T.mid=mid; T.reason=c;
     T.b.bno=bno;  T.b.gno=gno; T.b.no=no;
      getdate(&d);
      T.i.day=d.da_day;  T.i.mon=d.da_mon;  T.i.year=d.da_year;

     if(c=='I')
     {
       T.r.day=T.i.day;   T.r.mon=T.i.mon+1; T.r.year=T.i.year;
		if(T.r.mon>12 && T.r.mon!=12)
		      {
			T.r.year+=1;  T.r.mon=(T.r.mon-12);
		      }
		if(T.r.day==31)
		      {
			 if(T.r.mon==4 || T.r.mon==6 || T.r.mon==9 || T.r.mon==11)
			       {
					T.r.day=1;
					T.r.mon+=1;
			       }
			 if(T.r.mon==2)
			       {
				 if( (T.r.year%4)==0)
				  {
				    T.r.day=31-29;   T.r.mon+=1;
				  }
				 else
				  {
				    T.r.day=31-28;  T.r.mon+=1;
				  }
			}
	    }
     T.fine=0;
     fwrite(&T,sizeof(T),1,ft);
     }

     else if(c=='R')
     {
       rewind(ft);
       while(fread(&T,sizeof(T),1,ft)==1)
       {
	 if(T.mid==mid && T.b.bno==bno && T.b.gno==gno && T.b.no==no && T.reason=='I')
	 {
	   T.r.day=d.da_day; T.r.mon=d.da_mon; T.r.year=d.da_year;
	   T.reason='R';
	   printf("\n\t Enter Fine::"); scanf("%f",&T.fine);
	   fwrite(&T,sizeof(T),1,tt1);
	 }
	 else
	 {
	   fwrite(&T,sizeof(T),1,tt1);
	 }
       }
       fclose(ft);     fclose(tt1);
       tt1=fopen("tempo","r");
       rewind(tt1);
       ft=fopen("trans.dat","w");
       while(fread(&T,sizeof(T),1,tt1)==1)
       {
	fwrite(&T,sizeof(T),1,ft);
       }
       fclose(ft);
       ft=fopen("trans.dat","a+");
      }
}


/*************Function To Display All Details Of All Members*****************/

void allmem()
{
     clrscr();
     rewind(fm);

 printf("\n\t\t************* List Of All Members ****************   ");
 printf("\n赏退屯屯屯屯屯屯屯屯屯送屯屯屯屯屯屯屯屯屯屯屯屯退屯屯屯屯屯屯送屯屯屯屯屯屯突");
 printf("\n篒d?      Name       ?       Address           篗ember Since篍xpiration    ?);
 printf("\n掏臀屯屯屯屯屯屯屯屯屯瓮屯屯屯屯屯屯屯屯屯屯屯屯臀屯屯屯屯屯屯瓮屯屯屯屯屯屯凸");

 while(fread(&M,sizeof(M),1,fm)==1)
 {
   printf("\n?-2d?-18s?-26s?%-2d/%-2d/%-4d ? %-2d/%-2d/%-4d  ?,M.mid,M.mname,M.madd,M.ms.day,M.ms.mon,M.ms.year,M.me.day,M.me.mon,M.me.year);
 }
 printf("\n韧褪屯屯屯屯屯屯屯屯屯释屯屯屯屯屯屯屯屯屯屯屯屯褪屯屯屯屯屯屯释屯屯屯屯屯屯图");
   getch();
}


/*************Function To Display All Details Of All Books ******************/

void allbook()
{
     clrscr();
     rewind(fb);

  printf("\n\t\t************* List Of All Books ****************   ");
  printf("\n赏屯屯屯退屯屯屯屯屯屯屯屯屯退屯屯屯屯屯屯屯送屯屯屯屯屯屯屯屯屯送屯屯屯?);
  printf("\n?BookId ?  Book Name       ?Author Name  ? Publisher's Name ?Price ?);
  printf("\n掏屯屯屯臀屯屯屯屯屯屯屯屯屯臀屯屯屯屯屯屯屯瓮屯屯屯屯屯屯屯屯屯瓮屯屯屯?);

 while(fread(&B,sizeof(B),1,fb)==1)
 {
  printf("\n?d%d%d  ?,B.b.bno,B.b.gno,B.b.no);
  printf("%-19s?-14s?-19s?d    ?,B.bname,B.author,B.pub,B.price);
  }
  printf("\n韧屯屯屯褪屯屯屯屯屯屯屯屯屯褪屯屯屯屯屯屯屯释屯屯屯屯屯屯屯屯屯释屯屯屯?);
     getch();
}


/*************Function To Display All Details Of All Transactions ***********/

void alltransac()
{
     clrscr();
     rewind(ft);

   printf("\n\t\t************* List Of All Transactions ****************   ");
   printf("\n赏屯屯屯屯退屯屯屯屯送屯屯屯屯屯送屯屯屯屯屯退屯屯屯屯屯屯退屯屯屯屯送屯屯屯突");
   printf("\n?Trans ID ?Mem Id ? Book Id  ?Issue Date ?Return Date ? Fine  ?Reason ?);
   printf("\n掏屯屯屯屯臀屯屯屯屯瓮屯屯屯屯屯瓮屯屯屯屯屯臀屯屯屯屯屯屯臀屯屯屯屯瓮屯屯屯凸");

 while(fread(&T,sizeof(T),1,ft)==1)
  {
   printf("\n?  %3d    ? %3d   ?9d%d%d?%-2d/%-2d/%-4d ?%-2d/%-2d/%-4d  ?%-6.2f ?  %c    ?,T.tid,T.mid,T.b.bno,T.b.gno,T.b.no,T.i.day,T.i.mon,T.i.year,T.r.day,T.r.mon,T.r.year,T.fine,T.reason);
  }
   printf("\n韧屯屯屯屯褪屯屯屯屯释屯屯屯屯屯释屯屯屯屯屯褪屯屯屯屯屯屯褪屯屯屯屯释屯屯屯图");

   gotoxy(1,25);

   textcolor(WHITE);
   cprintf("A");
   textcolor(DARKGRAY);
   cprintf("-Member Added ");
   textcolor(WHITE);
   cprintf("E");
   textcolor(DARKGRAY);
   cprintf("-Member Renewed ");
   textcolor(WHITE);
   cprintf("D");
   textcolor(DARKGRAY);
   cprintf("-Duplicate I card ");
   textcolor(WHITE);
   cprintf("I");
   textcolor(DARKGRAY);
   cprintf("-Book Issued ");
   textcolor(WHITE);
   cprintf("R");
   textcolor(DARKGRAY);
   cprintf("-Book Returned");
   getch();
}


/******************* Show Help  ****************************************/

void showhelp()
{
	   textcolor(LIGHTGRAY);
	   clrscr();
	   textcolor(LIGHTMAGENTA);
	   gotoxy(8,1);
	   cprintf("赏屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯突");
	   gotoxy(8,2);
	   cprintf("?                   赏屯屯屯屯屯屯屯屯屯屯屯屯?                ?);
	   gotoxy(8,3);
	   cprintf("掏屯屯屯屯屯屯屯屯屯凸  Welcome To Obaid Books 掏屯屯屯屯屯屯屯屯?);
	   gotoxy(8,4);
	   cprintf("?                   韧屯屯屯屯屯屯屯屯屯屯屯屯?                ?);
	   gotoxy(8,5);
	   cprintf("韧屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯图");
	   textcolor(WHITE);
	   gotoxy(25,8);
	   cprintf("Library Management System");
	   printf("\n\t\t\t\t-By Mohd. Obaid Shaikh");
	   printf("\n\n\tThe System Manages Addition Of New Books And Members");
	   printf("\n\tAnd Also Keep Records Of Transactions Such As");
	   printf("\n\tIssue Or Return Of A Book With Fine");
	   printf("\n\tRenew Existing Member Or Issue Duplicate ID");
	   printf("\n\n\tThe Book Is Issued For 1 Month ");
	   printf("\n\tThe Membership Expires After 6 Months");
	   printf("\n\tThe Book Id Is Of The Format year+groupno+no");
	   gotoxy(9,20);
	   textcolor(LIGHTMAGENTA);
	   cprintf("Send your comments/queries to ");
	   textcolor(LIGHTGREEN+BLINK);
	   cprintf("obaid786@sancharnet.in");
	   getch();
}

⌨️ 快捷键说明

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