ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:95.52KB ,
资源ID:9113186      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9113186.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言图书信息管理系统.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言图书信息管理系统.docx

1、C语言图书信息管理系统图书信息管理系统设计一、【要求】图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。设计一图书信息 管理系统,使之能提供以下功能:(1)系统以菜单方式工作(2)图书信息录入功能(3)图书信息浏览功能(4)图书信息查询功能(5)图书信息的删除与修改功能、【各功能模块】1、菜单模块结束主函数流程图1、主函数:建立menu()函数将主函数功能提取出来,主函数 main调用menu()函数方便简捷。void main()menu();void menu()int a;doprintf( * 赵毅 *n);prin tf(n);printf(* 中国地质大学 *

2、n);prin tf(n);prin tf(nnnnntttt 图书信息管理系统 tttt n);prin tf(tt* *prin tf(ttt1图书信息录入n);prin tf(ttt2图书信息浏览n);printf(ttt3 图书信息查询 n);printf(ttt4 图书信息删除 n);printf(ttt5 图书信息修改 n);printf(ttt6 图书信息追加 n);prin tf(ttt0 退出图书信息系统n);prin tf(tt* * prin tf(ttplease choose:);scan f(%d,&a);switch(a)case 1:i nput();break

3、;case 2:list();break;case 3:search();break;case 4:del();break;case 5:revise();break;case 6:appe nd();break;case 0:exit(0);default:printf(n 序号不对 n);while(a!=0);【定义图书信息结构体】#in clude#in clude#in clude#in clude void menu();#defi ne N 3 typedef struct system long num;char n ame20;char writer10;char sort1

4、0;char publisher20; long time;float price;BOOK;注:定义的BOOK结构体N为限定的录入图书个数(可依据不同要求变化范围) long num 为定义的登录号(长整形变量)char n ame20 为定义的书名的数组char writer10 为定义的作者的数组char sort10 定义的分类号数组char publisher20 定义的出版单位数组long time 定义的出版时间长整形变量float price 价格为浮点型变量。2、【数据存储】整个程序没有利用保存 save函数,而是利用txt.txt tab.txt 两个文件录入存取数据信息,

5、并通过文件的读取、写入进行图书信息的修改 /删除等功能。(fopen fwrite fread 写入及读取数据进行存储)。3【图书信息录入】开始输入用户要输入的录入的书的个数Ni从1到N调用输入函数 input(i)把信息存入txt.txt文件关闭录入信息的文件结束图书录入流程图【程序】void input() /* 定义录入函数*/int i;BOOK a;FILE *fp;if(fp=fope n(txt.txt,w)=NULL)prin tf(error!n);exit(0);for(i=1;i=N;i+)prin tf(t 请输入您所需书籍的登陆号 :”);scan f(%ld,&a.

6、nu m);printf(t 请输入书名:);sca nf(%s,a .n ame);printf(t 请输入作者名:);sca nf(%s,a.writer);printf(t 请输入分类号:);scan f(%s,a.sort);printf(t 请输入出版单位:);scan f(%s,a.publisher);prin tf(t 请输入出版时间:);scan f(%ld,&a.time);prin tf(t 请输入该书的价格:);scan f(%f, &a.price);fwrite(&a,sizeof(BOOK),1,fp);fclose(fp);4【图书信息浏览】该模块的功能是显示所

7、有录入的图书信息,流程图如下:图书浏览流程【程序】void list() /* 定义浏览函数*/BOOK a;FILE *fp;if(fp=fope n(txt.txt,r)=NULL)prin tf(error!n);exit(0);printf(nnnnnnnnn 登陆号t书名t作者名t分类号t出版单位t出版时间t价格nn);while(fread(&a,sizeof(BOOK),1,fp)!=0)prin tf(t%ldt%st%st%st%st%ldt%3.2fn,a .n um,a. name,a.writer,a.sort,a.publisher,a.time,a.price);f

8、close(fp);prin tf(nt press any key to continu e.);getch();5【图书信息查询】需求分析用户需要查找的图书,调用函数:1、 按书名查找 search_by_ name2、 按作者名查找 search_by_write ,两种方式进行查询。输入查询方式,进入功能选项,1、 首先打开源文件txt.txt ,则按照输入书名进行 for循环查找,若查到则显示图书信息。若无,则显示file open error! ”。按任意键结束。2、 与1、流程相同,按照作者名查询。图书信息查询按书名查询(1)按作者名查询(2)EXIT ( 0)查询功能流程图【程

9、序】void search。/* 定义查询函数*/int a;* n);*printf(开始查询 n”);prin tf(ttt1按书名查询n);prin tf(ttt2按作者名查询n);exitn);prin tf(tt* n);prin tf(tt 请选择你想要的查询方式:);scan f(%d, &a);switch(a)case 1:search_by_ name();break;case 2:search_by_writer();break; case 0:retur n; void search_by_name() /* 定义按书名查询 */FILE *fp;int i;BOOK

10、bN;char s220;fp=fope n(txt.txt,r);if(fp=NULL)prin tf(file ope n error!n);exit(0);for(i=0;iN& fp!=NULL;i+)/sha nchufread(&bi,sizeof(BOOK),1,fp);prin tf( 请输入要查询的书名:”);scan f(%s,s2);for(i=0;iN;i+)if(strcmp(s2,bi. name)=0)printf(”书号书名作者种类出版商出版日期价格n”);prin tf(t%ldt%st%st%st%st%ldt%3.2fn,bi. num,bi. name,

11、 bi.writer,bi.sort,bi.publisher,bi.time,bi.price);fclose(fp);void search_by_writer() /* 定义按作者名查询 */int i;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申=)壬匸dou9匸 M.mqos)dluolsM(+Nv_o.!l)04Ds-=socxl%=ueos严-=u_dM

12、g 1/2008=0 Ns-三 q03)PBM(+Nv_o.!l)04 宀S)X9(=UWO u do QEtuud(nnNsd&c=cxnxr)u doTE xocxloselp -N 一 q 1008 a*山i匚6【图书信息删除】需求分析该模块功能是,先输入需要删除的图登陆号,打开存储文件 for循环查找该图书信息,然后利用bk=bk+1 语句进行删除,即将要删除的一列用后一列进行替换完成删除功能, 最后将改后的信息在写入结构体存入文件,关闭文件夹。图书信息删除流程【程序】void del() /* 定义删除函数*/FILE *fp;long book num; /* 按登陆号查询*/in

13、t i=0,k;BOOK bN;if(fp=fope n(txt.txt,门)=NULL)prin tf(error!n);getch();exit(0);for(i=0;iN;i+)fread(&bi,sizeof(BOOK),1,fp);fclose(fp);prin tf(n Please type in the nu mber of the book you want to delete:); scan f(%ld,&book nu m);for(i=0;iN;i+)if(book num=bi. num) break;if(iN)for(k=i;k(N-1);k+)bk=bk+1;e

14、lse prin tf(n cannot foun d!n); fp=fope n( txt.txt,w); if(fp=NULL) prin tf(n error!n );retur n; for(i=0;iN-1;i+)fwrite(&bi,sizeof(BOOK),1,fp);fclose(fp);getch();7【图书信息修改】需求分析该模块实现按照用户需求,将需要修改的图书名输入,进行for循环查找是否有此书,若无,则显示未找到,退出,若有,则显示输入新的图书信息,开始输入修改的信息,进行 for循环开始录入,替换原文件信息,结束显示“修改成功”【程序】void revise。/*

15、 定义修改函数*/int i,j,k;char s120;BOOK bN;FILE *fp,*fq;if(fq=fope n( tab.txt,w)=NULL)prin tf(error!); exit(0);if(fp=fope n(txt.txt,r)=NULL)prin tf(error!); exit(0);for(i=0;!feof(fp)&i N;i+)fread(&bi,sizeof(BOOK),1,fp);fclose(fp);printf(tt 欢迎进入修改界面n);prin tf(nnntt 请输入所要修改的图书名: n);scan f(%s,s1);for(j=0;ji|

16、j=i)printf(未找到! );getch(); exit(0);价格n);printf(tt 请输入新登录号图书名作者分类号出版单位出版时间scan f(%ld%s%s%s%s%ld%f,&bk. nu m,bk. name,bk.writer,bk.sort,bk.publ isher,&bk.time, &bk.price);for(i=0;i(j+1);i+)fwrite(&bi,sizeof(BOOK),1,fq);fclose(fq);prin tf( 修改成功!);if(fq=fope n(txt.txt,w)=NULL)prin tf(error!); exit(0);fo

17、r(i=0;!feof(fq)&i N;i+)fwrite(&bi,sizeof(BOOK),1,fq);fclose(fq);getch();8【图书信息追加】需求分析该模块功能是用户需要增加新的图书信息, 打开源存储文件,按照需要追加的个数 n ,进行for循环,开始录入追加的信息,流程如下:将追加的图书写入txt.txt文件【程序】void即pend() /* 定义追加函数*/int i,n;BOOK a;FILE *fp;if(fp=fope n(txt.txt,a)=NULL)prin tf(error!n);exit(0);prin tf(nnt 请输入追加图书的个数 :”);scan f(%d, &n);for(i=0;i x x L、L 入入入入入入入入 瘡击IR土IR主F土R主冃主唁圭用. * 1 * Tt * T- * 11 1 * Tt 1 -L7 ? :?:?:7:7牡即0 :1号名名口蚤时:7 数睪价 个登图零出出单 书书书书书书书书匱陆号书名作者名分类号出版单位岀版时间 价格2333 33 2&-&3333 33 30.007?7 7? 70.00pressanj/ keyto continu最

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

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