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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

程序课程设计图书管理系统.docx

1、程序课程设计图书管理系统 程序设计课程设计报告图书管理系统专业计算机科学与技术学生姓名于露班级B计123学号指导教师张静林完成日期2013年6月1课程设计的目的1.加强对c语言程序设计课程知识的理解,掌握c语言应用程序的开发方法和步骤2.进一步掌握和利用c语言进行程序设计的能力3.进一步理解和运用结构化程序设计的思想和方法4.初步掌握开发一个小型实用系统的基本方法5.学会调试一个较长程序的基本方法6.学会利用流程图或N-S图表示算法7.掌握书写程序设计开发文档的能力(书写课程设计报告)2课程设计任务3课程设计课题课题1:图书管理系统总体程序框图系统的总体流程图 程序# include # in

2、clude # include struct list char num20 ; /*图书编号*/ char name40 ; /*书名*/ char author40 ; /*作者*/ char publish 40; /*出版社*/ double price ; /*价格*/;struct list b40 ;int w=0; /*定义一个全局变量,用来记录bookinfo.txt文件中的数据个数*/void search_allinformation(struct list b) ; /*查看全部图书信息*/void check_bookinformation (struct list

3、b ); /*查找图书信息*/void add_bookinformation (struct list b ); /*添加图书信息*/void delete_bookinformation (struct list b ); /*删除图书信息*/void borrow_book (struct list b ) ; /*借阅图书*/int main () int i = 0 ; int choice1; FILE *fp ; printf( * * *n); printf( * 欢迎进入图书馆信息管理系统 *n); printf( * * *n); fp = fopen (e:BookInf

4、o.txt , r) ; if(fp = NULL) printf(Can not open the file !n) ; exit (0) ; while (! feof(fp) fscanf(fp,%s%s%s%s%lf , /*调用函数将文件中的数据读入结构变量中*/ bi.num,bi.name,bi.author,bi.publish,&bi.price) ; i+ ; w=i-1; fclose (fp) ; do printf(#); printf( 功能选项: n); printf( 1:查看全部图书信息 n) ; printf( 2:查找图书信息 n) ; printf( 3

5、:添加图书信息 n) ; printf( 4:删除图书信息 n) ; printf( 5:借阅图书 n) ; printf( 0:退出系统 n) ; printf(#); printf(请选择操作:); scanf(%d , &choice1); switch (choice1) case 1 : search_allinformation (b); break ; case 2 : check_bookinformation( b ); break ; case 3 : add_bookinformation (b ); break ; case 4 : delete_bookinforma

6、tion( b); break ; case 5 : borrow_book( b); break ; case 0 : break ; while (choice1 != 0); printf(谢谢使用!n); return 0; /*查看全部图书信息*/void search_allinformation (struct list b) int i; printf( #n); printf( # 查看全部图书信息! #n); printf( #n); printf(图书的相关信息: 编号 书名 作者 出版社 价格n); for(i=0;iw;i+) printf( %s %s %s %s

7、%.2fn, /*将数据输出到屏幕中*/ bi.num, bi.name, bi.author, bi.publish, bi.price); printf(%d , w); printf(#n); /*查找图书信息*/void check_bookinformation(struct list b ) int i, flag=0; char s20; printf(输入编号:n) ; /*提示输入图书编号*/ scanf(%s , s); printf( #n); printf( # 查找图书信息! #n); printf( #n); for(i=0;iw;i+) if (strcmp(s,

8、 bi.num)=0) printf(该图书的相关信息: 编号 书名 作者 出版社 价格n); printf( %s %s %s %s %.2fn, bi.num, bi.name, bi.author, bi.publish, bi.price); flag = 1; break; if (flag = 0) printf(该图书编号不存在!n); printf(是否要继续查找? y:是 ; n:否n) ; getchar(); switch(getchar() case y: check_bookinformation( b ) ; /*调用函数本身继续查找*/ case n : brea

9、k ; printf(#n);/*添加图书信息*/void add_bookinformation(struct list b ) int i, count=0, choice3; struct list p ; FILE *fp2 ; printf( #n); printf( # 添加图书信息! #n); printf( #n); printf(请输入该图书的相关信息:n) ; printf(编号 书名 作者 出版社 价格n); scanf( %s %s %s %s %lf, p.num , p.name,p.author,p.publish,&p.price); printf( 添加成功

10、!n); printf( 是否显示添加后的信息? 1:是 ; 2:否 n); printf( 请选择:); scanf(%d , &choice3); switch (choice3) case 1 : for(i=0;i0) count + ; for(i=w;icount;i-) bi = bi-1 ; bi = p ; w+; /*每添加一本图书,图书数目都会增加一个*/ fp2 = fopen (e:BookInfo.txt , w) ; if(fp2 = NULL) printf(Can not open the file !n); exit (0) ; for(i=0;iw;i+)

11、 fprintf(fp2, %s %s %s %s %.2fn , bi.num,bi.name,bi.author,bi.publish,bi.price); fclose (fp2) ; for(i=0;iw;i+) printf( %s %s %s %s %.2fn , bi.num,bi.name,bi.author,bi.publish,bi.price); case 2 : break ; printf(#n); /*删除图书信息*/void delete_bookinformation (struct list b ) int i, flag= 0,choice4; char s

12、20 ; printf( #n); printf( # 删除图书信息 #n); printf( #n); printf(请输入图书编号:); scanf(%s, s); for(i=0;iw;i+) if(strcmp(s,bi.num)=0) printf( 删除成功 !n); printf( 是否显示删除后的信息? 1:是 ; 2:否 n); printf( 请选择:); scanf(%d , &choice4); switch (choice4) case 1 : printf(删除后的图书信息: 编号 书名 作者 出版社 价格n); for(i=0;iw;i+) if(strcmp(s

13、,bi.num)!=0) printf( %s %s %s %s %.2fn, bi.num, bi.name, bi.author, bi.publish, bi.price); case 2 : break ; flag = 1 ; break ; if(flag = 0) printf(该图书编号不存在!n); printf(#n); /*借阅图书*/void borrow_book(struct list b ) int i=0, n=0,flag=0, x=0; int m; /*定义一个变量用来记录sendinfo.txt文件中的数据个数*/ struct list q; stru

14、ct student char name20 ; char number40 ; ; struct student stu50 ; FILE *fp ; FILE *fp4 ; printf( #n); printf( # 借阅图书 #n); printf( #n); A: printf(输入图书编号:); scanf(%s , q.num ); fp = fopen (e:BookInfo.txt , a) ; if(fp = NULL) printf(Can not open the file !n); exit (0) ; for(i=0;iw;i+) if(strcmp(q.num ,

15、 bi.num) =0) flag=1; if(flag=0) printf(该图书编号不存在, 请重新输入!n); borrow_book( b ) ; fclose(fp) ; if(flag=1) fp4 = fopen (e:SentInfo.txt , r) ; if(fp4 = NULL) printf(Can not open the file !n) ; exit (0) ; while (! feof(fp4) fscanf(fp4,%s%s , /*调用函数将文件中的数据读入结构变量中*/ stui.number,stui.name) ; i+ ; n=i-1; fclos

16、e (fp4) ; fp = fopen (e:SentInfo.txt , a) ; if(fp = NULL) printf(Can not open the file !n); exit (0) ; for(i=0;in;i+) if(strcmp(q.num, stui.number) =0) printf(该图书已借出!); printf(是否继续续借? y or nn); getchar(); if(getchar()=y) goto A; else x = 1; if(x = 0) /*若该图书未借出,则执行以下操作*/ printf(请输入学号: ); scanf(%d, &m

17、); if(fp=fopen(e:SendInfo.txt,a) = NULL) printf(File open error!n); exit(0); fprintf(fp, %s %d,q.num , m ); fclose(fp); printf( 借阅成功!n); printf(#n);功能模块的调试及测试 主菜单运行界面图4.1 主菜单运行界面图查询所有图书信息模块运行界面按1操作查询所有图书信息,(1)打开源程序,编译程序,单击Compile按钮,出现错误,如图:(2)错误均指向55行,经检查发现调用函数时调用的是整个结构体,而非某一个,所以应该为 search_allinform

18、ation (b) .(3)改正后重新运行,即的如下所示的界面如下: 图4.2查询所有图书信息模块界面查找某一本图书信息模块运行界面 按2选择按书名查询某一本图书信息,若图书编号存在则界面如下:图4.3 按编号查询图书信息界面 若图书编号不存在,(1)输入y ,没有进行继续查找的操作(2)调试程序,可查出输入的y对程序无影响,由于输入的是一个字符,而”0”本身也是一个字符,则可将scanf(“%s” , &a) 改为getchar ()即可。该后则界面如下 图4.4图书编号查询图书界面添加图书信息模块运行界面按3选择,输入编号,界面如下:图4.5按图书编号添加图书界面 删除图书信息模块运行界面按4选择,输入编号,如果编号不存在,界面如下: 图4.6按图书编号删除图书界面如果编号存在,界面如下: 图4.7按图书编号删除图书界面 借阅图书模块信息运行界面按5选择,输入编号,出现如下界面:图4.8借阅图书界面(有错误)调试后找出错误为文件SendInfo.txt扩展名是隐藏的,应将文件名改为SendInfo,得到如下正确界面:图4.9借阅图书界面如果编号不存在,界面如下: 图4.10借阅图书界面

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

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