#include
#include
#include
#include
#define TRUE 1
#define FLASE 0
FILE* fp;
struct BOOK
{ int id,usr[10],total,store,days[10];
char name[30],author[20],publish[40];
}books[100];
void page_title(char menu_item)
{ printf("\t\t\t***********欢迎使用图书馆管理系统**********\n\n- %s -\n\n",menu_item); }
void zhuce(void)
{char temp1[10],temp2[10],temp3[10],yhmtmp[10],mm[10];
system("cls");
printf("输入用户名\n");
fflush(stdin);
gets(yhmtmp);
printf("输入密码\n");
fflush(stdin);
gets(temp1);
printf("输入密码确认\n");
fflush(stdin);
gets(temp2);
if(!strcmp(temp1,temp2))
{strcpy(mm,temp1);
printf("注册成功\n");
}
else
{printf("输入密码确认\n");
gets(temp3);
if(!strcmp(temp1,temp3))
{strcpy(mm,temp1);
printf("注册成功\n");
}
else
printf("注册失败\n");
}
}
void denglu(void)
{
char s1[10],s2[10],yhm[10],mm[10];
int count=0,flag=FLASE;
{
fp=fopen("lg.flag","w+");
fclose(fp);
}
do
{
system("cls");
printf("输入用户名\n");
fflush(stdin);
gets(s1);
printf("输入密码\n");
fflush(stdin);
gets(s2);
count++;
if((strcmp(s1,yhm))&&(strcmp(s2,mm))==1) flag=TRUE;
}
while (count<0 && flag==FLASE);
if (flag)
printf("登录成功\n");
else
printf("密码错误\n");
}
void return_confirm(void)
{ printf("\n按任意键返回……\n");
getch(); }
int search_book(void)
{ int n,i;
system("cls");
fp=fopen("lg.flag","r");
if(fp==NULL)
{
printf("请首先进行系统登陆\n");
system("pause");
return 0;
}
printf("请输入图书序号:");
scanf("%d",&i);
for(n=0;n<100;n++)
{ if(books[n].id==i)
{ printf("序号:%d\n",books[n].id);
printf("书名:%s\n",books[n].name);
printf("作者:%s\n",books[n].author);
printf("出版社:%s\n",books[n].publish);
printf("存数:%d\n",books[n].store);
printf("总数:%d\n",books[n].total);
return n; } }
printf("\n没有找到相关记录.\n");
return -1; }
int book_search(void)
{ int n,i=1;
char nam[30];
system("cls");
fp=fopen("lg.flag","r");
if(fp==NULL)
{
printf("请首先进行系统登陆\n");
system("pause");
return 0;
}
printf("请输入书名:");
scanf("%s",&nam);
printf("查询结果如下:\n");
for(n=0;n<100;n++)
{ if((strcmp(books[n].name,nam)==0))
{ printf("序号:%d\t",books[n].id);
printf("书名:%s\t",books[n].name);
printf("作者:%s\t",books[n].author);
printf("出版社:%s\t",books[n].publish);
printf("存数:%d\t",books[n].store);
printf("总数:%d\n",books[n].total);i=0;
} }
if(i==1)
printf("\n没有找到相关记录.\n");
return -1; }
int book_change(void)
{
int n,i;
system("cls");
fp=fopen("lg.flag","r");
if(fp==NULL)
{
printf("请首先进行系统登陆\n");
system("pause");
return 0;
}
page_title("修改图书信息");
printf("请输入要修改的图书序号:");
scanf("%d",&i);
for(n=0;n<100;n++)
{
if(books[n].id==i)
{
printf("修改书名:");
scanf("%s",books[n].name);
printf("修改作者:");
scanf("%s",books[n].author);
printf("修改出版社名:");
scanf("%s",books[n].publish);
printf("修改总数:");
scanf("%d",&books[n].total);
printf("修改图书信息成功.\n");
books[n].store=books[n].total;
return n;
}
}
printf("\n没有找到相关记录.\n");
return -1;
}
int book_show(void)
{int n,i=1;
system("cls");
fp=fopen("lg.flag","r");
if(fp==NULL)
{
printf("请首先进行系统登陆\n");
system("pause");
return 0;
}
for(n=0;n<100;n++)
{
if(strlen(books[n].name)!=0)
{
printf("序号:%d\t",books[n].id);
printf("书名:%s\t",books[n].name);
printf("作者:%s\t",books[n].author);
printf("出版社:%s\t",books[n].publish);
printf("存数:%d\t",books[n].store);
printf("总数:%d\n",books[n].total);
i=0;
}
}if(i==1)
printf("\n没有找到相关记录.\n");
return -1;
}
void book_out(void)
{int n,s,l,d;
system("cls");
fp=fopen("lg.flag","r");
if(fp==NULL)
{
printf("请首先进行系统登陆\n");
system("pause");
return;
}
page_title("借阅图书");
if((n=search_book())!=-1&&books[n].store>0)
{printf("请输入借书证序号:");
scanf("%d",&s);
printf("请输入可借天数:");
scanf("%d",&d);
for(l=0;l<10;l++)
{if(books[n].usr[l]==0)
{ books[n].usr[l]=s;
books[n].days[l]=d;
break; } }
books[n].store--; }
if(n!=-1&&books[n].store==0) printf("此书已经全部借出.\n");
return_confirm(); }
void book_in(void)
{ int n,s,l;
system("cls");
fp=fopen("lg.flag","r");
if(fp==NULL)
{
printf("请首先进行系统登陆\n");
system("pause");
return;
}
page_title("归还图书");
if((n=search_book())!=-1&&books[n].store<books[n].total)
{printf("借阅者图书证列表:\n");
for(l=0;l<10;l++)
if (books[n].usr[l]!=0)
printf("[%d] - %d天\n",books[n].usr[l],books[n].days[l]);
printf("请输入借书证序号:");
scanf("%d",&s);
for(l=0;l<10;l++)
{if(books[n].usr[l]==s)
{ books[n].usr[l]=0;
books[n].days[l]=0; break; } }
books[n].store++; }
if(n!=-1&&books[n].store==books[n].total)
printf("全部入藏.\n");
return_confirm(); }
void book_add(void)
{ int n;
system("cls");
fp=fopen("lg.flag","r");
if(fp==NULL)
{
printf("请首先进行系统登陆\n");
system("pause");
return;
}
page_title("注册新书");
for(n=0;n<100;n++)
if(books[n].id==0) break;
printf("序号:");
scanf("%d",&books[n].id);
printf("书名:");
scanf("%s",&books[n].name);
printf("作者:");
scanf("%s",&books[n].author);
printf("出版社:");
scanf("%s",&books[n].publish);
printf("数量:");
scanf("%d",&books[n].total);
books[n].store=books[n].total;
return_confirm(); }
int book_del(void)
{
int n,num,i;
system("cls");
fp=fopen("lg.flag","r");
if(fp==NULL)
{
printf("请首先进行系统登陆\n");
system("pause");
return 0;
}
page_title("删除图书");
printf("请输入所要删除的书的编号:");
scanf("%d",&num);
for(n=0;n<100;n++)
{
if(books[n].id==num)
for(i=n;i<100;i++)
{ books[i].id=books[i+1].id;
strcpy(books[i].name,books[i+1].name);
strcpy(books[i].publish,books[i+1].publish);
printf("该书已删除.\n");
return n;
}
}
printf("没有找到相关记录\n");
return -1;
}
void main(void)
{
menu: page_title("操作选单");
printf(" ╔═════════════════╗\n");
printf(" ║---------请用数字选择操作---------║\n");
printf(" ║------------注册账号-----------1--║\n");
printf(" ║-------------登陆系统----------2--║\n");
printf(" ║-------------注册新书----------3--║\n");
printf(" ║-------------借阅图书----------4--║\n");
printf(" ║----------查询图书信息---------5--║\n");
printf(" ║---------修改图书信息----------6--║\n");
printf(" ║-------------归还图书----------7--║\n");
printf(" ║-------------删除图书----------8--║\n");
printf(" ║-------------显示图书----------9--║\n");
printf(" ║-------------退出系统----------0--║\n");
printf(" ║------------请按数字键:-----------║\n");
printf(" ╚═════════════════╝\n");
rewind(stdin);
switch(getch())
{
case '1' : zhuce(); break;
case '2' : denglu(); break;
case '3' : book_add(); break;
case '4' : book_out(); break;
case '5' : book_search(); break;
case '6' : book_change(); break;
case '7' : book_in(); break;
case '8' : book_del(); break;
case '9' : book_show(); break;
case '0' : exit(0);
}goto menu;
}
/*#include
#include
#include //定义杂项函数及内存分配函数 如malloc、free、system、atoi、atol、rand、exit等
#include
void dlxt();
void tcxt();
void main()
{
int h;
int d=0;
system("title 图书管理系统");//设置标题
system("mode con cols=32 lines=30");//设置窗口大小
system("color 0f");//设置颜色
system("cls");//清屏
while(h)
{
printf(" ╔═════════════╗\n");
printf(" ║------ 图书管理系统-------║\n");
printf(" ║--------------------------║\n");
printf(" ║---- 登陆界面 ------║\n");
printf(" ║--------------------------║\n");
printf(" ║-------- 登陆系统 -------1║\n");
printf(" ║-------- 退出系统 -------0║\n");
printf(" ╚═════════════╝\n");
printf(" 请选择功能键:");
scanf("%d",&h);
switch(h)
{
case 0:printf("\n exit\n");
h=0;
break;
case 1:
dlxt();
break;
default :printf(" 亲,你输入有误哦!\n");
system("pause");
break;
}
system("cls");
}
}
/*void dlxt()
{
char name[]="admin",pass[]="888";
char pname[15]={0},ppass[15]={0};
printf("请输入用户名:");
scanf("%s",pname);
printf("请输入密码:");
scanf("%s",ppass);
if ( strcmp(name,pname)!=0 || strcmp(pass,ppass)!=0)
{
printf("name or password wrong!\n");
}
else
{
printf("welcome!\n");
}
system("pause");
}
void tsgl()
void dlxt()
{
int h;
system("cls");//清屏
while(h)
{
printf(" ╔═════════════╗\n");
printf(" ║------ 图书管理系统-------║\n");
printf(" ║--------------------------║\n");
printf(" ║---- 图书管理 ----1-║\n");
printf(" ║---------读者管理-------2-║\n");
printf(" ║------图书借阅管理 -----3-║\n");
printf(" ║-------- 退出系统 ------0-║\n");
printf(" ╚═════════════╝\n");
printf(" 请选择功能键:");
scanf("%d",&h);
switch(h)
{
case 0:printf("\n exit\n");
h=0;
break;
case 1:
void tsgl()
{
int h;
system("cls");//清屏
while(h)
{
printf(" ╔═════════════╗\n");
printf(" ║------ 图书管理系统-------║\n");
printf(" ║--------------------------║\n");
printf(" ║---- 图书查询 ----1-║\n");
printf(" ║---------新书入库-------2-║\n");
printf(" ║------ 退出系统 -----0-║\n");
printf(" ╚═════════════╝\n");
printf(" 请选择功能键:");
scanf("%d",&h);
switch(h)
{
case 0:printf("\n exit\n");
h=0;
break;
/* case 2:
tscx();
break;
system("pause");
break;
}
system("cls");
}
/* case 0:printf("\n exit\n");
h=0;
break;
tsgl();
break;
case 2:
dzgl();
break;
case 3:
tsjy();
break;
system("pause");
break;
default :printf(" 亲,你输入有误哦!\n");
system("pause");
break;
}
system("cls");
}
}
*/