📄 library.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 + -