首先作者查找所要还得图书,找到后将借书人的基本信息清除并保存,实现还书功能。其流程图如图4.2-5所示。开 始开 始选择还书查找方式0-20-21或2输入要还的书名或作者调用read(struct book *p)使用for循环查找,m--判断是否继续YN返回菜单结 束0调用save(struct book *p)清除借书人的基本信息显示图书信息图4.2-5 还书模块流程图【程序】void retur(struct book *p)//还书模块{ int e,f;char name5[20];char name6[20];char t[3]; do { p=&s[0];printf("请先查找您要还的图目!");printf("请选择查找方式:\n");//打印查询方式菜单printf(" 1.按书名查找\n 2.按作者查找\n 0.返回\n");printf("请在0-2中选择:\n\n");scanf("%d",&e);//读取查找方式if(e==0) break;switch(e){ case 1: printf("请输入书名:\n");scanf("%s",name5);break;case 2: printf("请输入作者:\n");scanf("%s",name6);break;}read(&s[0]);//调用读取函数for(;p<&s[m];p++){ if(strcmp(p->title,name5)==0||strcmp(p->author,name6)==0) { printf("\n查找图书信息成功!\n");printf("确认还书请按“1”scanf("%d",&f);if(f==1) { strcpy(p->borrower_name,"0");strcpy(p->borrower_gender,"0");p->borrower_number=0;p->store++;printf("书名编号作者价格数量借书人性别学号\n");printf("%-10s%-10d%-10s%-10.2f%-10d%-10s%-10s%-10d\n",p->title,p->number,p->author,p->price,p->store,p->borrower_name,p->borrower_gender,p->borrower_number); //打印信息 }break; }else {printf("没有该书记录!!");break;} }printf("是否继续还书?\n");printf("“是”请键入“yes”, “否”请按任意键,返回菜单\n");scanf("%s",t);//读取是否继续save(&s[0]); //调用保存函数 }while(strcmp(t,"yes")==0); //判断是否继续还书 }4.3 公共函数(1)保存图书信息函数void save(struct book *p){ FILE *fp,*fp1;int i;if((fp=fopen("tushu.dat","wb"))==NULL)//打开文件并判断是否出错{ printf("创建文件失败!\n\n");//打印出错提示getchar(); return;}if((fp1=fopen("book.dat","wb"))==NULL)//打开文件并判断是否出错{ printf("创建文件失败!\n\n");//打印出错提示getchar(); return;}for(i=0;i<m;i++,p++)if(fwrite(p,sizeof(struct book),1,fp)==0)//向文件写入数据,并判断是否出错printf("向文件输入数据失败!\n\n");fprintf(fp1,"%d",m);fclose(fp);//关闭文件fclose(fp1);//关闭文件}(2)读取文件信息函数void read(struct book *p)//从文件读取信息模块{ FILE *fp,*fp1;int i;if((fp=fopen("tushu.dat","rb"))==NULL)//打开文件,并判断是否出错{printf("出错,请检查文件是否存在,按任意键返回住菜单");//打印出错提示getchar();}if((fp1=fopen("book.dat","rb"))==NULL)//打开文件并判断是否出错{ printf("创建文件失败!\n\n");//打印出错提示getchar(); return;}fscanf(fp1,"%d",&m);fclose(fp1);//关闭文件for(i=0;i<m;i++,p++){ fread(p,sizeof(struct book),1,fp);//从文件中读取信息}fclose(fp);//关闭文件}第五部分 上机操作运行主函数,进入主菜单输入模块查找模块(4)删除模块(5)借书模块(6)还书模块(7)退出第六部分 总 结通过这次为期一周的C语言上机实习,我明白C语言这门课程光仅仅是听课是远远不够的,上机训练也不容忽视。

通过上机训练,才能够明白自己知识的不足图书管理系统c语言课程设计,更加深刻的理解C语言中的知识点,从而找到知识漏点,还对以前认为自己已懂了的知识点也理解更加深刻。当遇到了自己当时不知如何编写的C语言题目时,通过自己的学习和同学的交流,得以顺利的编写,使我增加了对C语言的兴趣和学好C语言的信心。本次C语言实习的几个作用:1.加深对课堂讲授内容的理解课堂上要讲授许多关于C语言的语法规则,听起来比较枯燥,不易记忆。而通过多次上机练习,对于语法知识就有了更深的认识,自然而然地掌握C语言的语法规定。学习C语言不能停留在书本,而是要利用学到的知识编写C语言程序,解决实际问题。通过对自己编写程序的调试,发现问题,解决问题,逐步提高自己对C语言的理解和程序开发能力。2.熟悉程序开发环境、学习计算机系统的操作方法一个C语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。所谓"环境"就是所用的计算机系统硬件、软件条件,只有学会使用这些环境,才能进行程序开发工作。通过上机实验,熟练地掌握C语言开发环境,为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。
书籍管理结构体(bookmanage)的功能在于实现对书籍的相关操作,包括读取书籍文档文件(book.txt)、保存书籍文档文件、添加图书、修改图书、删除图书、显示全部图书和查找图书。读者在本系统的应用下可实现按照各种方式(如:书名,编号,作者)查询图书馆的藏书请客,方便的借阅图书,续借图书,归还图书,能够查询自己的借阅图书情况。0cprogramming2017/11/19page 5图书编目开始图书编号填写图书信息(书名、出版社等)n所有图书编完y结束开始 选择查询方式 n 按登录号 y n图书查询列出所有图书y 输出所有图书按书名 y 输入书名n输入登录号输入作者输出符合 条件图书输出符合 条件图书输出符合 条件图书结束开始登录号填写借书信息(时间、借书人等)n所有信息编完y结束开始登录号填写读者信息(姓名、性别等)n所有读者编完y结束图书管理系统。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-115110-2.html
肯定有反制措施
中国也俱战
不然会很麻烦的