C语言图书信息管理系统Word文件下载.docx
《C语言图书信息管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言图书信息管理系统Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。
\t\t\t4图书信息删除\n"
\t\t\t5图书信息修改\n"
\t\t\t6图书信息追加\n"
\t\t\t0退出图书信息系统\n"
\t\t*******************************************printf("
\t\tpleasechoose:
"
scanf("
%d"
&
a);
switch(a)
case1:
input();
break;
case2:
list();
case3:
search();
case4:
del();
case5:
revise();
case6:
append();
case0:
exit(0);
default:
\n序号不对\n"
while(a!
=0);
【定义图书信息结构体】
#include<
stdio.h>
stdlib.h>
string.h>
conio.h>
voidmenu();
#defineN3typedefstructsystem{
longnum;
charname[20];
charwriter[10];
charsort[10];
charpublisher[20];
longtime;
floatprice;
BOOK;
注:
定义的BOOK结构体
N为限定的录入图书个数(可依据不同要求变化范围)longnum为定义的登录号(长整形变量)
charname[20]为定义的书名的数组
charwriter[10]为定义的作者的数组
charsort[10]定义的分类号数组
charpublisher[20]定义的出版单位数组
longtime定义的出版时间长整形变量
floatprice价格为浮点型变量。
«
2》、【数据存储】
整个程序没有利用保存save函数,而是利用txt.txt\tab.txt两个文件录入存取数据
信息,并通过文件的读取、写入进行图书信息的修改/删除等功能。
(fopenfwritefread写
入及读取数据进行存储)。
《3》【图书信息录入】
开始
输入用户要输入的录
入的书的个数N
i从1到N调用输入函
数input(i)
把信息存入txt.txt文件
关闭录入信息的文件
图书录入流程图
【程序】
voidinput()/*定义录入函数*/
inti;
BOOKa;
FILE*fp;
if((fp=fopen("
txt.txt"
"
w"
))==NULL)
error!
for(i=1;
i<
=N;
i++)
\t请输入您所需书籍的登陆号:
”);
%ld"
a.num);
\t请输入书名:
scanf("
%s"
a.name);
\t请输入作者名:
a.writer);
\t请输入分类号:
a.sort);
\t请输入出版单位:
a.publisher);
\t请输入出版时间:
a.time);
\t请输入该书的价格:
%f"
&
a.price);
fwrite(&
a,sizeof(BOOK),1,fp);
fclose(fp);
《4》【图书信息浏览】
该模块的功能是显示所有录入的图书信息,流程图如下:
图书浏览流程
voidlist()/*定义浏览函数*/
r"
\n\n\n\n\n\n\n\n\n登陆号\t书名\t作者名\t分类号\t出版单位\t
出版时间\t价格\n\n"
while(fread(&
a,sizeof(BOOK),1,fp)!
=0)
\t%ld\t%s\t%s\t%s\t%s\t%ld\t%3.2f\n"
a.num,a.name,a.writer,
a.sort,a.publisher,a.time,a.price);
\n\tpressanykeytocontinue..."
getch();
《5》【图书信息查询】
[需求分析]
用户需要查找的图书,调用函数:
1、按书名查找search_by_name
2、按作者名查找search_by_write,两种方式进行查询。
输入查询方式,进入功能选项,
1、首先打开源文件txt.txt,则按照输入书名进行for循环查找,若查到则显示图书信息。
若无,
则显示"
fileopenerror!
!
”。
按任意键结束。
2、与1、流程相同,按照作者名查询。
图书信息查询
按书名查询
(1)
按作者名查询
(2)
EXIT(0)
查询功能流程图
voidsearch。
/*定义查询函数*/
**\n"
****************************
开始查询\n”);
按书名查询\n"
按作者名查询\n"
exit\n"
\t\t
\t\t请选择你想要的查询方式:
search_by_name();
search_by_writer();
case0:
return;
}voidsearch_by_name()/*定义按书名查询*/
BOOKb[N];
chars2[20];
fp=fopen("
if(fp==NULL)
fileopenerror!
for(i=0;
N&
&
fp!
=NULL;
i++)//shanchu
fread(&
b[i],sizeof(BOOK),1,fp);
请输入要查询的书名:
”);
s2);
N;
if(strcmp(s2,b[i].name)==0)
printf(”书号书名作者种类出版商出版日期价格\n”);
b[i].num,b[i].name,b[i].writer,b[i].sort,b[i].publisher,b[i].time,b[i].price);
voidsearch_by_writer()/*定义按作者名查询*/
<
烟哮>
EOAA
宀
_gosoQ4
-(①。
一」d.三qoaolu一二二q03-」①llsznd-二qeos.曰q03匚9一」M.三q
(DEeu.曰qunu.曰q03-=uvcxl"
%乍P_%=S%AS%乍s%rs%乍p_%r=lu_」d
壬一隸口竖耳W竖耳絲匡>
斗7>
申>
=)壬匸d
ou"
」9匸M.mqos)dluo」lsM
(++■—Nv_o.!
l)」04
Ds-=socxl%==ueos
严-=£
u_」d
Mg1/2008=0①Ns-三q03)PBM
l)」04宀
S)±
±
X9(=UWO」」①u①doQEtuud
(■nnNsd&
c=cxnxr)u①doTExocxlos」elp-N一q>
1008a*山i匚
《6》【图书信息删除】
[需求分析]
该模块功能是,先输入需要删除的图登陆号,打开存储文件for循环查找该图书信息,然后利
用b[k]=b[k+1]语句进行删除,即将要删除的一列用后一列进行替换完成删除功能,最后将改后的
信息在写入结构体存入文件,关闭文件夹。
图书信息删除流程
voiddel()/*定义删除函数*/
longbooknum;
/*按登陆号查询*/
inti=0,k;
门)==NULL)
\nPleasetypeinthenumberofthebookyouwanttodelete:
scanf("
booknum);
if(booknum==b[i].num){break;
if(i<
N)
for(k=i;
k<
(N-1);
k++)
b[k]=b[k+1];
elseprintf("
\ncannotfound!
fp=fopen("
if(fp==NULL)
{printf("
\nerror!
);
}
N-1;
《7》【图书信息修改】
该模块实现按照用户需求,将需要修改的图书名输入,进行for循环查找是否有此书,若无,则显
示未找到,退出,若有,则显示输入新的图书信息,开始输入修改的信息,进行for循环开始录入,
替换原文件信息,结束显示“修改成功”
voidrevise。
/*定义修改函数*/
inti,j,k;
chars1[20];
FILE*fp,*fq;
if((fq=fopen("
tab.txt"
exit(0);
feof(fp)&
N;
\t\t欢迎进入修改界面\n"
\n\n\n\t\t请输入所要修改的图书名:
\n"
s1);
for(j=0;
j<
i;
j++)
if(strcmp(b[j].name,s1)==0){k=j;
if(j>
i||j==i)
未找到!
"
价格\n"
\t\t请输入新登录号图书名作者分类号出版单位出版时间
%ld%s%s%s%s%ld%f"
b[k].num,b[k].name,b[k].writer,b[k].sort,b[k].publisher,&
b[k].time,&
b[k].price);
(j+1);
b[i],sizeof(BOOK),1,fq);
fclose(fq);
修改成功!
if((fq=fopen("
feof(fq)&
《8》【图书信息追加】
该模块功能是用户需要增加新的图书信息,打开源存储文件,按照需要追加的个数n,进行for
循环,开始录入追加的信息,流程如下:
将追加的图书写入txt.txt
文件
void即pend()/*定义追加函数*/
inti,n;
a"
\n\n\t请输入追加图书的个数:
n);
i<
n;
printf("
\t请输入追加图书的登录号:
\t请输入追加图书的图书名:
%20s"
\t请输入追加图书的作者名:
%10s"
\t请输入追加图书的分类号:
\t请输入追加图书的出版单位:
\t请输入追加图书的出版时间:
\t请输入追加图书的单价:
【上机操作】
1、录入函数
2、编译连接、运行
3、结果
下面是各功能模块的界面图:
(1)主菜单
■曲:
:
MMM
中国地质大学TH*
图书信息管理系统
-系丙一入览询赊改加息K一話查删修追信一“i息息息息息S-.书曲一ft.ff.ft.ft.ft.fs-图=一书书书书书书岀=iraEE图0G很二一
-
FL
r
1234560-M-
「
(2)添加模块
【录入模块】
O口fl爪。
籍
S4_|a
e
04
:
1的
1
1:
1位间价书:
2:
2位间价书:
3:
3位间价需江名口最时的需:
2名口蚤时的需:
3名口蚤时的您书g出出该您书年出出该您书g出出该入入入入入入入入入入入入入入入入入入入入入
2篦
3格
请请请请请请请请请请请请请请请请请请请请请
登陆号书名
作者名
分类号
出版単位
出版时间价格
11
110.03
2
22
220・00
3
33
330.00
press
anvkey
tocontinueR.
【查询模块】
pleasechoose:
3
歼始查询
2---------------OSO询
8exit
谪选择你想要的查询方式M名:
晴裁入奚童询的书…用粵裾作者种类出版商出版日期价恪
11111
10-66
开始查询
二二二二醸勰询
0exit
XKIOilrtltJaKIMH!
員:
^具員且具買覺昇賀且良買覺昇賀且具買蓟
请谨择你想要的查询方式沱
淸竄入毬询的书的作者,2
*粵磊作者种类出版商出版日期价格
22222220.00
Please
type
inthenufirbei*ofthebook
^ouwan七to
deleteil
书名
分类号岀版单位
出版时间
价格
222
2&
.&
333
3馭80
tocantinue・・・
【修改模块】
修改后的结果
pleasechoose=6
nnunununnHnMnu力力力力力力力力.吕一
VL、L、x>
x¥
L、L入入入入入入入入瘡击IR土IR主F土R主冃主唁圭用.*1*Tt*T-*1>
1■1*Tt■1-
L
7?
:
?
7:
7牡即0:
1号名名口蚤时:
7数睪价个登图零出出单书书书书书书书书
匱陆号书名
出版单位
岀版时间价格
32&
-&
7
77
70.00
anj/key
tocontinu最・・・—