欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    图书管理系统报告.docx

    • 资源ID:3201410       资源大小:57.71KB        全文页数:19页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    图书管理系统报告.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月。


    注意事项

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

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开