C语言图书信息管理系统代码

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1课程报告课程名称:程序设计实践专业班级:计算机类1504学生姓名:学号:任课教师:许伟涛学期:2015-2016学年第二学期2课程报告任务书题目图书信息管理系统主要内容开发一个图书信息管理系统,图书信息包括:图书编号、书名、作者、出版社、类别、出版时间、价格等基本信息(也可以根据自己情况进行扩充,比如是否借出、库存量等)。使之能提供以下基本功能:(1)图书信息录入功能(图书信息用文件保存)--输入(2)图书信息浏览功能--输出(3)查询功能(至少一种查询方式)、排序功能(至少一种排序方式):①按书名查询②按作者名查询③按照价钱排序④按出版时间排序等等(4)图书信息的删除与修改扩展功能:可以按照自己的程度进行扩展。比如(1)简单的权限处理(2)报表打印功能(3)甚至根据自己情况,可以加上学生信息和借阅信息的管理,并扩充为图书借阅系统。(4)模糊查询(5)综合查询(6)统计功能比如统计处某一类别的图书信息或筛选出小于指定数量库存的图书信息等等,总之,可以根据自己需求进行分析功能。任务要求一、提交材料应包括:(1)系统源代码(2)课程报告二、整个设计过程具体要求(1)需求分析要求学生对案例系统进行分析,设计出需要完成的功能,完善各个模块的调用关系;(2)设计过程要求学生进一步明确各模块调用关系,进一步完善模块函数细节(函数名、参数、返回值等)(3)实现过程要求学生养成良好的编码习惯、完成各个模块并进行测试,最终完成系统整体测试;(4)总结阶段按照要求完成系统设计和实现报告,并进行总结、答辩。成绩评定报告撰写情况(30分)系统完成情况(30分)答辩情况(40分)总分内容20分规范程度5分程序测试5分基本功能20分扩展功能10分自述情况10分答辩情况30分成绩评定教师:3目录1需求分析.......................................................................................................................42概要设计.......................................................................................................................43详细设计...........................................................51、输入新进图书信息...............................................52、显示全部记录信息...............................................73、根据图书的名称查询图书信息..........................................................................94、给图书进行排序................................................................................................115、根据图书名称对图书进行删除........................................................................126、统计某价格以上的图书库存............................................................................157、显示全部的图书信息........................................................................................178、修改图书信息....................................................................................................189、主程序代码......................................................................................................234调试分析.....................................................................................................................265测试结果.....................................................................................................................266课程心得总结.............................................................................................................3141需求分析经过大一上学期的理论学习,在基础实验的基础上,本学期我们继续开设了C语言程序设计实践课。课程要求我们对已经学习的基础实验进行整合与衔接处理,并最终形成一个系统性质的规模较大的程序。本次课程设计要求我们达到能独立完成一个图书管理系统,完成后要求实现的功能有对图书信息的录入、删除、修改,浏览(即输出),按某种方式查询(要求至少一种查询方式),按某种方式排序(要求至少一种排序方式)。当然,我们可以根据自己的能力对系统进行完善性的拓展,例如自己加入简单的权限处理,统计功能,模糊查询等。通过整个程序的开发过程,最终使我们掌握利用计算机解决实际问题的基本方法,熟悉C语言开发的全过程,提高综合应用C语言的能力、编程和调试能力,为学习计算机和通信专业的后续课程打好专业基础。在该部分中叙述:对题目中要求的功能进行的简单的叙述分析,把题目内容给介绍一下。2概要设计(1)数据结构创建了一个结构(BOONINFO),用来存储图书的基本信息。(2)模块划分1、输入图书信息:voidchoice_1_input_new();2、显示图书信息:voidchoice_2_display_all();3、按名称查询图书信息:voidchoice_3_search_according_name();4、按名称删除图书信息:voidchoice_4_delete_according_name();5、按图书名称排序图书:voidchoice_5_sort_according_name();6、按价格区间查询图书:voidchoice_6_display_high_price();7、按图书状态显示图书:voidchoice_6_display_high_price();8、按图书名称修改图书信息:voidchoice_8_change_book();9、按照图书库存排序:voidchoice_9_sort_according_list();10、排序:voidchoice_();(3)程序总体框架登陆界面53详细设计1、输入新进图书信息voidchoice_1_input_new()用文件实现将图书信息输入系统文件并保存。代码如下:voidchoice_1_input_new()/*输入新进的图书信息*/{charchoice;FILE*p;BOOKINFOnewbook;system(cls);while(1){printf(输入图书编号:);scanf(%s,newbook.number);printf(输入图书名称:);欢迎界面新进图书的输入浏览全部记录按名称查询图书按名称删除图书按价格排序图书按价格统计图书显示全部图书修改图书信息退出系统退出系统退出系统6scanf(%s,newbook.name);printf(输入图书类别:);scanf(%s,newbook.list);printf(输入图书单价:);scanf(%f,&newbook.price);printf(输入出版社:);scanf(%s,newbook.boss);printf(输入图书的作者:);scanf(%s,newbook.auther);printf(输入出版时间:);scanf(%s,newbook.time);printf(请输入需要添加的图书书目:);scanf(%d,&newbook.isExit);printf(是否保存该条书目?(Y/N)\n);choice=getchar();while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n')choice=getchar();if(choice=='Y'||choice=='y'){p=fopen(e:\\bookinfo.txt,ab);fwrite(&newbook,sizeof(BOOKINFO),1,p);fclose(p);7printf(\n该条书目已添加到e:\\bookinfo.txt文件中!\n);}else{printf(\n本条书目未保存!\n);}printf(\n是否继续添加书目?(Y/N)\n);choice=getchar();while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n')choice=getchar();if(choice=='Y'||choice=='y')continue;elsebreak;}}2、显示全部记录信息voidchoice_2_display_all()将信息从文件中读写出来。代码如下:voidchoice_2_display_all()/*显示全部图书信息*/{FILE*p;intn;BOOKINFObookinfo[M];intbooknumber=0;system(cls);p=fopen(e:\\bookinfo.txt,rb);while(!feof(p))8{fread(&bookinfo[booknumber],sizeof(BOOKINFO),1,p);booknumber++;}/*booknumber--;使用feof()函数会多读一行,因此需要booknumber自减一次,使书目的数量正确*/fclose(p);booknumber--;if(booknumber==0){printf(没有任何图书信息!\n\n);}else{n=0;printf(图书信息如下\n);printf(图书信息\n);printf(编号名称单价作者图书库存出版社出版时间图书类别\n);while(nbooknumber){printf(%-6s%-12s%-8.1f%s%-9d%s%s%s\n,bookinfo[n].number,bookinfo[n].name,bookinfo[n].price,bookinfo[n].auther,bookinfo[n].isExit,bookinfo[n].boss,bookinfo[n].time,bookinfo[n].list);n++;}}printf(\n\n按任意键回到主菜单!\n);9getch();}3、根据图书的名称查询图书信息voidchoice_3_search_according_name()根据图书的名称将信息从文件中读出。代码如下:voidchoice_3_search_according_name()/*根据图书名称显示图书的信息*/{charsearch[20];/*search用来存放要查询的书名*/intn;FILE*p;charchoice;B

1 / 55
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功