图书信息管理系统设计源代码.docx
- 文档编号:27241474
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:17
- 大小:26.24KB
图书信息管理系统设计源代码.docx
《图书信息管理系统设计源代码.docx》由会员分享,可在线阅读,更多相关《图书信息管理系统设计源代码.docx(17页珍藏版)》请在冰豆网上搜索。
图书信息管理系统设计源代码
头函数名:
#include
#include
#include
/*********图书信息结构体*********/
/***包括登录号,书名,作者名,分类号,出版单位,出版时间,价格等***/
structbookinf
{intnum;******************************************************登录号
charbname[20];***************************************书名
charwname[10];***************************************作者名
charclanum[14];***************************************分类号
charpubcom[10];***************************************出版单位
charpubtime[10];***************************************出版时间
floatprice;*********************************************价格
};
一管理员登录系统模块:
(1)来到图书信息管理系统页面
voidindex()
{
charinput;注释:
运行时
printf("\n\n\t\t\t*****************************\n");直接进入
printf("\t\t\t图书信息管理系统\n");这个页面
printf("\t\t\t*****************************\n\n\n");
printf("------------------------------------------------------------------------------\n");
printf("\t<按任意键进入>\n\t");
input=getchar();
}
(2)管理员登陆进入功能菜单页面
FILE*fp;
structmanagepswd;
if((fp=fopen("password.txt","r"))==NULL)
{
printf("\n\n\n\tCannotopenfile!
\n\t");
}
else
{
do
{
printf("\n\n\t请输入管理员帐号:
");
scanf("%s",name);
printf("\n\n\t请输入管理员密码:
");
scanf("%s",password);
fp=fopen("password.txt","r");
fread(&pswd,sizeof(structmanage),1,fp);
fclose(fp);
w=strcmp(pswd.manage_name,name);
k=strcmp(pswd.password,password);
adm_servelist();
}
while(w!
=0||k!
=0);
adm_servelist();
}
}
(3)来到功能菜单页面
voidadm_servelist()
{
voidbook_add();
voidbook_view();
voidchange();
voiddel();
voidbook_search();
voidlogin();
voidpwchange();
intin;注释:
菜单列出的服务种类
charinput;从1,2,3,4,5,6
do所对应的功能进行选择
{
printf("\n\n\n\t--欢迎使用信息管理系统--");
printf("\n\n\t1.图书信息录入\n");
printf("\t2.图书信息浏览\n");
printf("\t3.图书信息查询\n");
printf("\t4.图书信息删除\n");
printf("\t5.图书信息修改\n");
printf("\t6.退出管理模式\n");
printf("\n\t请选择服务种类:
");
scanf("%d",&in);
if(in!
=1&&in!
=2&&in!
=3&&in!
=4&&in!
=5&&in!
=6)
{
printf("\n\t没有这项服务~\n");
printf("\t按任意键重新选择");
input=getchar();
}
}
while(in!
=1&&in!
=2&&in!
=3&&in!
=4&&in!
=5&&in!
=6);
switch(in)
{
case1:
book_add();break;注释:
选择自己所需要
case2:
book_view();break;后摁下数字键则
case3:
book_search();break;则进入此功能页面
case4:
del();break;
case5:
change();break;
case6:
login();break;
}
}
(3)图书信息录入功能模块
voidbook_add()
{
voidadm_servelist();
voidbook_add();
inti=0,j;
FILE*fp;
charinput;注释:
输入的图书信息
structbookinfbooks;是通过文件进行
structbookinfbook_taxis[30];保存的
printf("\n\n\n\t---请输入图书信息---\n\n");
printf("\t登录号:
");
scanf("%d",&books.num);
printf("\n\t书名:
");
scanf("%s",books.bname);
printf("\n\t作者名:
");
scanf("%s",books.wname);
printf("\n\t分类号:
");
scanf("%s",books.clanum);
printf("\n\t出版单位:
");
scanf("%s",books.pubcom);
printf("\n\t出版时间:
");
scanf("%s",books.pubtime);
printf("\n\t价格:
");
scanf("%f",&books.price);
if((fp=fopen("book.txt","r"))!
=NULL)
{
do
{
fread(&book_taxis[i],sizeof(structbookinf),1,fp);
i=i+1;
}
while(!
feof(fp));
fclose(fp);
for(j=0;j<=i;j++)
if(books.num==book_taxis[j].num)
{
printf("\n\n\n\t对不起,这个编号已经使用过了~\n");
printf("\t按任意键返回管理菜单~");
input=getchar();
adm_servelist();
break;
}
}
if((fp=fopen("book.txt","r"))==NULL)
{
fp=fopen("book.txt","w");
}
else
{
fclose(fp);
fp=fopen("book.txt","a");
}
fwrite(&books,sizeof(structbookinf),1,fp);
fclose(fp);
printf("\n\n\n\t信息输入完毕~按任意键继续\n");
input=getchar();
adm_servelist();
}
(4)图书信息浏览功能模块
voidbook_view()
{
voidadm_servelist();
voidbook_view();
intinp,i=0,n=0;
FILE*fp;
charinput;
structbookinfbookview[20];
if((fp=fopen("book.txt","r"))==NULL)
{
printf("\n\n\n\t数据尚未初始化~~\n\n\t请在管理菜单中增加图书信息~~~\n");
printf("\n\t<按任意键返回管理菜单>\n\t");
input=getchar();
adm_servelist();
}
else
{
do
{
fread(&bookview[i],sizeof(structbookinf),1,fp);
i=i+1;
}
while(!
feof(fp));
fclose(fp);
do
{
printf("\n\t--------共有%d条记录--------",i-1);
printf("\n\n\t登录号:
%d\n",bookview[n].num);
printf("\n\t书名:
%s\n",bookview[n].bname);
printf("\n\t作者名:
%s\n",bookview[n].wname);
printf("\n\t分类号:
%s\n",bookview[n].clanum);
printf("\n\t出版单位:
%s\n",bookview[n].pubcom);
printf("\n\t出版时间:
%s\n",bookview[n].pubtime);
printf("\n\t价格:
%f\n",bookview[n].price);
printf("\n\n\t1.上一页\t2.下一页\t3.回目录\n");
printf("\n\t请选择:
");
scanf("%d",&inp);
switch(inp)
{
case1:
{
if(n==0)
{
printf("\n\t已到达首页\n\t按任意键重新选择");
input=getchar();
}
elsen=n-1;break;
}
case2:
{
if(n==i-2)
{
printf("\n\t已到达最末页\n\t按任意键重新选择");
input=getchar();
}
elsen=n+1;break;
}
case3:
{
adm_servelist();
break;
}
default:
{
printf("\n\t没有这项服务\n\t按任意键重新选择");
input=getchar();
}
}
}
while(inp!
=3);
}
}
(5)图书信息修改与删除功能模块
修改:
voidchange(intx)
{
intinp,i=0,j;
voidbook_search();
FILE*fp,*fp1;
charinput;
structbookinfbooks,book_taxis[20];
do
{
printf("\n\n\n\t注意:
您确定要修改该记录吗?
\n");
printf("\n\t1.是\t2.否\n");
printf("\n\t请输入:
");
scanf("%d",&inp);
if(inp!
=1&&inp!
=2)
{
printf("\n\t对不起~没有这项服务~\n");
printf("\t按任意键重新选择\n\t");
input=getchar();
}
}
while(inp!
=1&&inp!
=2);
if(inp==2)
book_search();
if(inp==1)
{
printf("\n\n\n\t---请输入图书信息---\n\n");
printf("\t登录号:
");
scanf("%d",&books.num);
printf("\n\t书名:
");
scanf("%s",books.bname);
printf("\n\t作者名:
");
scanf("%s",books.wname);
printf("\n\t分类号:
");
scanf("%s",books.clanum);
printf("\n\t出版单位:
");
scanf("%s",books.pubcom);
printf("\n\t出版时间:
");
scanf("%s",books.pubtime);
printf("\n\t价格:
");
scanf("%f",&books.price);
if((fp1=fopen("book.txt","r"))!
=NULL)
{
do
{
fread(&book_taxis[i],sizeof(structbookinf),1,fp1);
i=i+1;
}
while(!
feof(fp1));
fclose(fp1);
for(j=0;j if(books.num==book_taxis[j].num) { printf("\n\n\n\t对不起,这个编号已经使用过了~\n"); printf("\t按任意键返回管理菜单~"); printf("0"); input=getchar(); book_search(); break; } for(j=x+1;j if(books.num==book_taxis[j].num) { printf("\n\n\n\t对不起,这个编号已经使用过了~\n"); printf("1"); printf("\t按任意键返回管理菜单~"); input=getchar(); book_search(); break; } } book_taxis[x]=books; fp=fopen("book.txt","w"); for(j=0;j fwrite(&book_taxis[j],sizeof(structbookinf),1,fp); fclose(fp); printf("\n\n\t信息修改完成! 按任意键返回"); input=getchar(); book_search(); } } S删除: voiddel(inty) { charinput; FILE*fp; intinp,i=0,j; structbookinfbook_taxis[20]; voidbook_search(); voidadm_servelist(); do { printf("\n\n\n\t注意: 您确定要删除该记录吗? \n"); printf("\n\t1.是\t2.否\n"); printf("\n\t请输入: "); scanf("%d",&inp); if(inp! =1&&inp! =2) { printf("\n\t对不起~没有这项服务~\n"); printf("\t按任意键重新选择\n\t"); input=getchar(); } } while(inp! =1&&inp! =2); if(inp==2) book_search(); if(inp==1) { if((fp=fopen("book.txt","r"))! =NULL) { do { fread(&book_taxis[i],sizeof(structbookinf),1,fp); i=i+1; } while(! feof(fp)); fclose(fp); } if(i>2) { fp=fopen("book.txt","w"); for(j=0;j fwrite(&book_taxis[j],sizeof(structbookinf),1,fp); fclose(fp); fp=fopen("book.txt","a"); for(j=y+1;j fwrite(&book_taxis[j],sizeof(structbookinf),1,fp); fclose(fp); } else { remove("book.txt"); } printf("\n\n\t记录已删除! \n\n\t按任意键返回\n\t"); input=getchar(); adm_servelist(); } } (6)图书信息查询功能模块 voidbook_search() { voidadm_servelist(); voidid_search(); voidwr_search(); voidbn_search(); charinput; FILE*fp; intinp; if((fp=fopen("book.txt","r"))==NULL) { printf("\n\n\n\t数据尚未初始化~~\n\n\t请在管理菜单中增加图书信息~~~\n"); printf("\n\t<按任意键返回管理菜单>\n\t"); input=getchar(); adm_servelist(); } else { do { printf("\n\n\n\t1.按图书登录号查询\n"); printf("\n\t2.按图书作者查询\n"); printf("\n\t3.按图书名查询\n"); printf("\n\t4.回到主菜单\n"); printf("\n\n\t请选择查询类别: "); scanf("%d",&inp); if(inp! =1&&inp! =2&&inp! =3&&inp! =4) { printf("\n\n\t没有这项服务~\n\t按任意键重新选择~"); input=getchar(); } } while(inp! =1&&inp! =2&&inp! =3&&inp! =4); fclose(fp); switch(inp) { case1: id_search();break; case2: wr_search();break; case3: bn_search();break; case4: adm_servelist();break; } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 信息管理 系统 设计 源代码