C语言图书信息管理系统Word文件下载.docx

上传人:b****7 文档编号:22249298 上传时间:2023-02-03 格式:DOCX 页数:21 大小:95.52KB
下载 相关 举报
C语言图书信息管理系统Word文件下载.docx_第1页
第1页 / 共21页
C语言图书信息管理系统Word文件下载.docx_第2页
第2页 / 共21页
C语言图书信息管理系统Word文件下载.docx_第3页
第3页 / 共21页
C语言图书信息管理系统Word文件下载.docx_第4页
第4页 / 共21页
C语言图书信息管理系统Word文件下载.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

C语言图书信息管理系统Word文件下载.docx

《C语言图书信息管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言图书信息管理系统Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。

C语言图书信息管理系统Word文件下载.docx

\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>

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最・・・—

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 表格类模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1