c语言最全的图书管理系统程序Word格式文档下载.docx
- 文档编号:19372072
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:14
- 大小:54.13KB
c语言最全的图书管理系统程序Word格式文档下载.docx
《c语言最全的图书管理系统程序Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言最全的图书管理系统程序Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
代码设计:
#include<
stdio.h>
stdlib.h>
string.h>
#defineM2
#definePAGE3
/*图书结构体类型*/
typedefstruct
{intnum;
/*图书号*/
charname[20];
/*书名*/
charzuozhe[20];
/*作者姓名*/
charchubanshe[20];
/*出版社*/
intprice;
/*价格*/
}BOOKS;
intread_file(BOOKSbooks[])
{FILE*fp;
inti=0;
if((fp=fopen("
projectchoose.txt"
"
rt"
))==NULL)
{printf("
\n\n*****库存文件不存在!
请创建"
);
return0;
}
while(feof(fp)!
=1)
{fread(&
books[i],sizeof(BOOKS),1,fp);
if(books[i].num==0)
break;
else
i++;
fclose(fp);
returni;
voidsave_file(BOOKSbooks[],intsum)
inti;
wb"
读文件错误!
\n"
return;
for(i=0;
i<
sum;
i++)
if(fwrite(&
books[i],sizeof(BOOKS),1,fp)!
printf("
写文件错误!
/*输入模块*/
intinput(BOOKSbooks[])
{inti=0;
\n\n录入图书信息(最多%d种)\n"
M);
----------------------------------------------------\n"
do
\n第%d本图书"
i+1);
\n图书编号:
"
scanf("
%d"
&
books[i].num);
if(books[i].num==0)break;
\n图书名称:
%s"
books[i].name);
\n作者:
books[i].zuozhe);
\n出版社:
books[i].chubanshe);
\n图书价格:
books[i].price);
}while(i<
M);
\n--%d种图书信息输入完毕!
--\n"
i);
\n按任意键返回主菜单!
getchar();
/*输出模块*/
voidoutput(BOOKSbooks[])
{inti=0,j=0,page=1;
\n\n--图书信息表--第%d页\n\n"
page);
图书编号----图书名称-----作者-----出版社-----图书价格\n"
-------------------------------------------------------\n"
{if(books[i].num!
=0)
{j++;
if(j%PAGE!
%4d%10s%10s%10s%8d\n"
books[i].num,books[i].name,
books[i].zuozhe,books[i].chubanshe,books[i].price);
------------------------------------------------------\n"
按任意键继续!
++page);
图书编号--图书名称--作者--出版社--图书价格\n"
------------------------------------------\n"
---------------------------------------------\n"
}while(books[i].num!
=0);
按任意键返回主菜单!
getchar();
/*给定编号,作者,出版社查找信息模块*/
voidfind_by_num(BOOKSbooks[],intsum)
{inti,find_num;
\n请输入要查找的图书编号:
find_num);
if(books[i].num==find_num)
{
这是您所查找到的图书:
图书编号----图书名称----作者----出版社---图书价格\n"
\n未找到要查找的图书信息,按任意键返回!
voidfind_by_zuozhe(BOOKSbooks[],intsum)
{
charfind_zuozhe[20];
\n请输入要查找的作者姓名:
find_zuozhe);
sum-1;
if(strcmp(books[i].zuozhe,find_zuozhe)==0)
{printf("
这是您所查找到属于该作者的图书:
%8d%10s%10s%10s%8d\n"
voidfind_by_chubanshe(BOOKSbooks[],intsum)
charfind_chubanshe[20];
\n请输入要查找的出版社名称:
find_chubanshe);
if(strcmp(books[i].chubanshe,find_chubanshe)==0)
这是您所查找到属于该出版社的图书:
voidfind(BOOKSbooks[],intsum)
{intchoice;
\n您要按照哪种方式查找?
\n"
\n1.按图书编号查找\n"
\n2.按图书作者查找\n"
\n3.按出版社查找\n"
\n0.退出\n"
\n请选择(0-3):
choice);
switch(choice)
{case1:
find_by_num(books,sum);
case2:
find_by_zuozhe(books,sum);
case3:
find_by_chubanshe(books,sum);
case0:
}
/*删除信息模块*/
voiddel(BOOKSbooks[])
{inti,sum;
intdel_num;
\n请输入要删除的图书编号:
del_num);
if(books[i].num==del_num)
这是您所要删除图书信息:
图书编号----图书名称----作者----出版社----图书价格\n"
-----------------------------------------------------\n"
您确认要删除吗?
已成功删除图书信息!
/*信息修改模块*/
voidmodify(BOOKSbooks[],intsum)
{inti=0,choice,modify_num,flag;
请输入要修改的图书编号:
modify_num);
if(books[i].num==modify_num)
\n\n--图书信息--\n\n"
\n您要修改哪一项?
\n1.图书名称\n"
\n2.作者\n"
\n3.出版社\n"
\n4.图书价格\n"
\n请选择(1-4):
switch(choice)
\n请输入修改后的图书名称:
\n请输入修改后的作者姓名:
\n请输入修改后的出版社名称:
books[i].chubanshe);
case4:
\n请输入修改后的图书价格:
--------------------------------------------\n"
\n该书不存在!
\n修改成功!
您要继续修改吗?
(Y/N)"
if(choice=='
Y'
||choice=='
y'
)
{flag=1;
\n继续!
elseflag=0;
}while(flag==1);
/*图书信息统计模块*/
voidcount(BOOKSbooks[],intsum)/*统计某个出版社的图书数*/
{inti;
charcount_chubanshe[20];
intn=0;
请输入一个出版社名称:
count_chubanshe);
if(strcmp(books[i].chubanshe,count_chubanshe)==0)
n++;
统计出属于该出版社一共有%d本书\n"
n);
/*排序模块*/
voidsort(BOOKSbooks[],intsum)/*按图书编号排序模块*/
{BOOKSt;
inti,j;
\n--图书信息--\n"
\n排名图书编号图书名称作者出版社图书价格\n"
for(i=1;
for(j=i+1;
j<
j++)
if(books[j].num>
books[i].num)
{t=books[j];
books[j]=books[i];
books[i]=t;
%2d%8d%12s%12s%12s%6d\n"
i+1,books[i].num,books[i].name,
voidmain()
{BOOKSbooks[M];
intchoice,sum;
sum=read_file(books);
if(sum==0)
请录入基本图书信息!
*******\n"
sum=input(books);
\n\n\n*******图书馆理系统*******\n\n"
1.修改图书信息\n\n"
2.删除图书信息\n\n"
3.查找图书信息\n\n"
4.统计图书信息\n\n"
5.图书排行信息\n\n"
0.退出系统\n\n"
请选择\n\n"
{case1:
modify(books,sum);
case2:
del(books);
case3:
find(books,sum);
case4:
count(books,sum);
case5:
sort(books,sum);
case0:
}while(choice!
save_file(books,sum);
}
运行结果:
友情提示:
范文可能无法思考和涵盖全面,供参考!
最好找专业人士起草或审核后使用,感谢您的下载!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 图书 管理 系统 程序