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

📄 library.c

📁 图书馆管理系统
💻 C
字号:
# include<stdio.h>
# include<conio.h>
# include<dos.h>
# include<string.h>
# include<math.h>

# define TRUE 1
# define FALSE 0

struct member
{
   int mid;
   char mname[20],madd[30];
   struct msince
   {
    int day,mon,year;
   } ms;
   struct mexpir
   {
     int day,mon,year;
   } me;

} M;


struct book
{
   struct bkid
   {
      int gno,bno,no;
   } b;
   char bname[20],author[15],pub[20];
   int price;
} B;


struct transaction
{
   int mid,tid;
   struct bookid
   {
      int gno,bno,no;
   } b;
   struct issued
   {
    int day,mon,year;
   } i;

   struct returned
   {
    int day,mon,year;
   } r;

   float fine;
   char reason;
} T;

struct date d;

FILE *fm,*fb,*ft;

char *mainmenu[]={
          "Member",
          "Book",
          "Reports",
          "Help",
          "Exit"
    	};

char *memmenu[]={
         "Add New Member",
         "Renew Existing Member",
         "Issue Duplicate I-Card",
         "Back"
    	};

char *bookmenu[]={
          "Add New Books",
          "Issue Book",
          "Return Book",
          "Back"
         };


char *rptmenu[]={
          "Members Details",
          "Books Details",
          "Transactions Details",
          "Back"
         };

void mainscr();
void showmenu(char **menu,int count,int sr,int sc);
int getchoice(char **menu,char *hotkeys,int r,int c,int count);

void addmember();
void renewmem();
void memdupid();
int memcheck(int id);

void addbook();
void issbook();
void retbook();
int  chkbook(int bno,int gno,int no);

void transac1(int mid,char ch);
void transac2(int mid,int bno,int gno,int no,char c);

void allmem();
void allbook();
void alltransac();

void showhelp();


/**************************** MAIN ******************************************/

void main()
{
   int ch,ch1,ch2,ch3;
   fm=fopen("member.dat","a+");
   ft=fopen("trans.dat","a+");
   fb=fopen("book.dat","a+");

   mainscr();

   while(1)
   {
    bk:
    showmenu(mainmenu,5,10,35);
    ch=getchoice(mainmenu,"MBRHE",10,35,5);
   switch(ch)
   {
    case 1:bk1:
       showmenu(memmenu,4,10,35);
       ch1=getchoice(memmenu,"ARIB",10,35,4);
       switch(ch1)
       {
         case 1: addmember(); goto bk1;
         case 2: renewmem();  goto bk1;
         case 3: memdupid();  goto bk1;
         case 4: goto bk;
       }
       break;
    case 2:bk2:
       showmenu(bookmenu,4,10,35);
       ch2=getchoice(bookmenu,"AIRB",10,35,4);
       switch(ch2)
       {
         case 1: addbook(); goto bk2;
         case 2: issbook(); goto bk2;
         case 3: retbook(); goto bk2;
         case 4: goto bk;
       }
       break;
    case 3:bk3:
       showmenu(rptmenu,4,10,35);
       ch3=getchoice(rptmenu,"MBTB",10,35,4);
       switch(ch3)
       {
         case 1: allmem(); goto bk3;
         case 2: allbook();goto bk3;
         case 3: alltransac();goto bk3;
         case 4: goto bk;
       }
       break;
    case 4:
       showhelp(); break;
    case 5:fclose(ft); fclose(fm); fclose(fb);
       exit();
   }
  }
}
/******************** Function Do Display The Main Screen *******************/

void mainscr()
{
  int i,j;
  clrscr();
  textcolor(BLUE);
  for(i=1;i<80;i++)
   for(j=1;j<24;j++)
   {
     gotoxy(i,j); cprintf("?

⌨️ 快捷键说明

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