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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

图书管理系统报告.docx

1、图书管理系统报告C语言进阶与试题剖析课程综合设计课程报告课题名称: 图书信息管理系统 二级学院: * 学生姓名: * 学 号: * 主讲教师: * 2010 年06 月10日一. 数据结构及说明1.题目的要求系统要求实现图书信息的输入并写入文件、删除记录、添加记录和修改等功能,且要求必须有一个可供用户循环选择的用户菜单。在计算机中建立相应的数据结构,利用程序实现图书信息的查询、增加、删除、输出等维护。各功能详细说明如下: 设计一个能够记录图书馆图书信息的数据结构(比如包括:书号,图书名,出版时间,分类号,出版社,作者,册数,关键字等)。 应用文件保存图书信息。 新增:能将所有输入的图书信息保存

2、到文件中,并可选择继续输入或退出。 查找:输入图书的书号,并在图书管理系统中查找l 若找到,则显示该图书详情l 否则提示未找到。l 无论查找成功否,应还可选择继续查找或退出。 删除:输入图书的书号,并在文件中查找 若找到,提示是否确定删除 若选择是,则删除文件中该图书信息 若选择否,则取消, 无论查找成功否,应还可选择继续查找或退出。 退出:退出程序 2.数据说明int num;登录号char bookname10; 书名char name10; 作者姓名int no; 分类号char ltd20; 出版单位int time; 出版时间float money; 价格lib150;可记录50条信

3、息i,j等变量在不同函数里边含义不同,但都是为了方便各个功能的实现二算法描述1 程序设计简要分析(1)根据题目所给的要求,先将图书信息录入功能,图书信息浏览功能,图书信息插入功能,图书信息查找和排序功能,图书信息删除功能以及退出程序功能逐个逐点的用函数形式编写出来,最后再编写一个主函数,以达到“系统以菜单方式工作”的功能,主函数将所有子函数包含进去;(2)图书信息录入采用顺序结构;(3)菜单方式的操作,根据菜单选择所要选取的功能,从而完成所要进行的操作;(4)采用文件这一知识,将信息资料保存在磁盘的文件上,并且完成查找,删除等功能;2 算法基本思想(1)定义结构体,声明自定义函数(包括各个功能

4、的实现);(2)创建一个save函数,完成将图书信息保存到文件中的功能,并有fread函数从文件中重新读入检验;(3)编写自定义函数(输入,浏览,查找,删除,插入,退出);(4)编写主函数(即编写菜单:用getch()来暂停程序,用switch进行选择);3 模块划分(1)定义结构体 开始先定义一个结构体来存放单个图书信息。包括图书的登录号,图书名,作者名,分类号,出版单位,出版时间和价格。并声明其类型:编写如下 struct lib int num; char bookname10; char name10; int no; char ltd20; int time; float money

5、;(2)采用文件保存函数void save()FILE *fp;FILE *fp1;int m;if(fp=fopen(lib_list.txt,w)=NULL)printf(cannot open filen);return;for(m=0;mi;m+)if(fwrite(&lib1m,sizeof(struct lib),1,fp)!=1)printf(file write errorn);return;fclose(fp);/*关闭文件*/fp1=fopen(lib_list.txt,r);printf(列表如下:n);for(m=0;mi;m+) fread(&lib1m,sizeof

6、(struct lib),1,fp1);printf(登录号为:%dn书名:%sn作者:%sn分类号:%dn出版单位:%sn出版时间:%dn价格:%.2f, lib1m.num,lib1m.bookname,lib1m.name,lib1m.no,lib1m.ltd,lib1m.time,lib1m.money); printf(n);fclose(fp1);(3)输入图书信息void shuru()/*输入信息*/ char a; do printf(n请输入登录号:); scanf(%d,&lib1i.num); printf(n请输入书名:); scanf(%s,lib1i.bookna

7、me); printf(n请输入作者:); scanf(%s,lib1i.name); printf(n请输入分类号:); scanf(%d,&lib1i.no); printf(n出版单位:); scanf(%s,lib1i.ltd); printf(n出版时间:); scanf(%d,&lib1i.time); printf(n价格:); scanf(%f,&lib1i.money); printf(n继续输入另外一本书信息,请输入yn返回主菜单输入任意其他键n); scanf(%s,&a);i+; while(a=y & i=50); save();/*调用save函数*/(4)浏览图书

8、信息void xianshi() /*显示信息*/ int j; for(j=0;ji;j+) printf(登录号为:%dn书名:%sn作者:%sn分类号:%dn出版单位:%sn出版时间:%dn价格:%.2fnnn, lib1j.num,lib1j.bookname,lib1j.name,lib1j.no,lib1j.ltd,lib1j.time,lib1j.money); void paixu() /*按分类号从大到小排序函数*/ int j,k; int temp; for(j=0;ji;j+) for(k=0;ki-1-j;k+) if(lib1k.nolib1k+1.no) temp

9、=lib1k.no; lib1k.no=lib1k+1.no; lib1k+1.no=temp; (5)查找图书信息void chazhao() /*查找信息*/ int m;char name20,b; do printf(n请输入想查找的书名:); scanf(%s,&name); for(m=0;mi;m+) if(strcmp(name,lib1m.name)=0) printf(nt您查找的书在第%d个位置找到了!n,m+1); break; if(strcmp(name,lib1m.name)!=0) printf(nt没有找到这本书!n); else printf(登录号:%dn

10、书名:%sn作者:%sn分类号:%dn出版单位:%sn出版时间:%dn价格:%.2fnnn, lib1m.num,lib1m.bookname,lib1m.name,lib1m.no,lib1m.ltd,lib1m.time,lib1m.money); printf(n继续查找另外一本书信息,请输入yn返回主菜单输入任意其他键n); scanf(%s,&b);while(b=y);(6)删除图书信息void shanchu() /*删除图书信息*/ char name20,c; int a,b; do printf(n请输入要删除的书名:n); scanf(%s,&name); for(a=0

11、;ai;a+) if(strcmp(name,lib1a.name)=0) /*比较字符串的大小*/break; for(b=a;bi) printf(t没有找到这本书!n); else printf(n 图书%s已删除!n,name);printf( 目前还保存有的图书信息如下:n-n);i-; xianshi(); printf(n继续删除另外一本书信息,请输入yn返回主菜单输入任意其他键 ); scanf(%s,&c); while(c=y); (7)新增图书信息void charu() /*插入信息*/ shuru(); paixu(); (8)主函数(显示菜单功能)void main

12、() int change; do system(cls); printf(t*图书信息管理系统*nnn); printf(ttt 1: 输入图书信息n); printf(ttt 2: 显示图书信息n); printf(ttt 3: 查找图书信息n); printf(ttt 4: 删除图书信息n); printf(ttt 5: 插入图书信息n); printf(ttt 6: 退出程序nn); printf(请输入功能选项:); scanf(%d,&change); switch(change) case 1: shuru(); break; case 2: xianshi(); break;

13、case 3: chazhao(); break; case 4: shanchu(); break; case 5: charu(); break; case 6: break; getch();while(change!=6); 4 流程图: 三 附录1 程序源代码及注释:#include #include /*引入函数库*/ #include#includestruct lib /*声明一个结构体类型*/ int num; /*定义变量*/char bookname10; char name10; int no; char ltd20; int time; float money; li

14、b150; int i;void save()/*保存到文件*/FILE *fp;FILE *fp1;int m;if(fp=fopen(lib_list.txt,w)=NULL)printf(cannot open filen);return;for(m=0;mi;m+)if(fwrite(&lib1m,sizeof(struct lib),1,fp)!=1)printf(file write errorn);return;fclose(fp);/*关闭文件*/fp1=fopen(lib_list.txt,r);printf(列表如下:n);for(m=0;mi;m+) fread(&lib

15、1m,sizeof(struct lib),1,fp1);printf(登录号为:%dn书名:%sn作者:%sn分类号:%dn出版单位:%sn出版时间:%dn价格:%.2fnn, lib1m.num,lib1m.bookname,lib1m.name,lib1m.no,lib1m.ltd,lib1m.time,lib1m.money); fclose(fp1);void shuru()/*输入信息*/ char a; do printf(n请输入登录号:); scanf(%d,&lib1i.num); printf(n请输入书名:); scanf(%s,lib1i.bookname); pri

16、ntf(n请输入作者:); scanf(%s,lib1i.name); printf(n请输入分类号:); scanf(%d,&lib1i.no); printf(n出版单位:); scanf(%s,lib1i.ltd); printf(n出版时间:); scanf(%d,&lib1i.time); printf(n价格:); scanf(%f,&lib1i.money); printf(n继续输入另外一本书信息,请输入yn返回主菜单输入任意其他键n); scanf(%s,&a);i+; while(a=y & i=50); save();/*调用save函数*/ void xianshi()

17、 /*显示信息*/ int j; for(j=0;ji;j+) printf(登录号为:%dn书名:%sn作者:%sn分类号:%dn出版单位:%sn出版时间:%dn价格:%.2fnnn, lib1j.num,lib1j.bookname,lib1j.name,lib1j.no,lib1j.ltd,lib1j.time,lib1j.money); void paixu() /*按分类号从大到小排序函数*/ int j,k; int temp; for(j=0;ji;j+) for(k=0;ki-1-j;k+) if(lib1k.nolib1k+1.no) temp=lib1k.no; lib1k

18、.no=lib1k+1.no; lib1k+1.no=temp; void chazhao() /*查找信息*/ int m;char name20,b; do printf(n请输入想查找的书名:); scanf(%s,&name); for(m=0;mi;m+) if(strcmp(name,lib1m.name)=0) printf(nt您查找的书在第%d个位置找到了!n,m+1); break; if(strcmp(name,lib1m.name)!=0) printf(nt没有找到这本书!n); else printf(登录号:%dn书名:%sn作者:%sn分类号:%dn出版单位:%

19、sn出版时间:%dn价格:%.2fnnn, lib1m.num,lib1m.bookname,lib1m.name,lib1m.no,lib1m.ltd,lib1m.time,lib1m.money); printf(n继续查找另外一本书信息,请输入yn返回主菜单输入任意其他键n); scanf(%s,&b);while(b=y);void shanchu() /*删除图书信息*/ char name20,c; int a,b; do printf(n请输入要删除的书名:n); scanf(%s,&name); for(a=0;ai;a+) if(strcmp(name,lib1a.name)

20、=0) /*比较字符串的大小*/break; for(b=a;bi) printf(t没有找到这本书!n); else printf(n 图书%s已删除!n,name);printf( 目前还保存有的图书信息如下:n-n);i-; xianshi(); printf(n继续删除另外一本书信息,请输入yn返回主菜单输入任意其他键 ); scanf(%s,&c); while(c=y); void charu() /*插入信息*/ shuru(); paixu(); void main() /*主函数*/ int change; do system(cls); printf(t*图书信息管理系统*

21、nnn); printf(ttt 1: 输入图书信息n); printf(ttt 2: 显示图书信息n); printf(ttt 3: 查找图书信息n); printf(ttt 4: 删除图书信息n); printf(ttt 5: 插入图书信息n); printf(ttt 6: 退出程序nn); printf(请输入功能选项:); scanf(%d,&change); switch(change) case 1: shuru(); break; case 2: xianshi(); break; case 3: chazhao(); break; case 4: shanchu(); break; case 5: charu(); break; case 6: break; getch();/*暂停程序*/while(change!=6); 2 参考文献:1 谭浩强,C程序设计题解与上机指导(第三版),北京,清华大学出版社,2005年7月。2 谭浩强,C程序设计(第三版),北京,清华大学出版社,2005年7月。

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

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