图书管理系统课程报告(共36页).doc
《图书管理系统课程报告(共36页).doc》由会员分享,可在线阅读,更多相关《图书管理系统课程报告(共36页).doc(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上课 程 报 告课 程 名 称: 专 业 班 级 : 学 生 姓 名 : 学 号 : 任 课 教 师 :学 期 :课程报告任务书题 目图书信息管理系统主要内容开发一个图书信息管理系统,图书信息包括:图书编号、书名、作者、出版社、类别、出版时间、价格等基本信息(也可以根据自己情况进行扩充,比如是否借出、库存量等)。使之能提供以下基本功能:(1)图书信息录入功能(图书信息用文件保存)输入v(2)图书信息浏览功能输出(3)查询功能(至少一种查询方式)、排序功能(至少一种排序方式): l 按书名查询 按作者名查询 按照价钱排序 按出版时间排序等等(4)图书信息的删除与修改扩展功
2、能:可以按照自己的程度进行扩展。比如(1)简单的权限处理 (2)报表打印功能(3)甚至根据自己情况,可以加上学生信息,并扩充为图书借阅系统。(4)模糊查询 (5)综合查询 (6)统计功能 比如统计处某一类别的图书信息 或 筛选出小于指定数量库存的图书信息等等,总之,可以根据自己需求进行分析功能。任务要求一、提交材料应包括:(1)系统源代码 (2)课程报告二、整个设计过程具体要求(1)需求分析 要求学生对案例系统进行分析,设计出需要完成的功能,完善各个模块的调用关系;(2)设计过程 要求学生进一步明确各模块调用关系,进一步完善模块函数细节(函数名、参数、返回值等)(3)实现过程 要求学生养成良好
3、的编码习惯、完成各个模块并进行测试,最终完成系统整体测试;(4)总结阶段 按照要求完成系统设计和实现报告,并进行总结、答辩。成绩评定报告撰写情况(30分)系统完成情况(30分)答辩情况(40分)总分内容20分规范程度5分程序测试5分基本功能20分扩展功能10分自述情况10分答辩情况30分成绩评定教师: 1 需求分析本次实验目的是开发一个图书管理系统,且该图书管理系统中应包含以下基本功能:(1)图书信息录入功能(2)图书信息浏览功能(3)查询功能例如:按书名查询、按作者名查询等等(4)排序功能 例如: 按照价钱排序、按出版时间排序等等(5)图书信息的删除与修改除此之外,个人还可以根据自己的爱好进
4、行各方面的扩展。例如权限处理、图书排序等等。在我们设计自己的程序时不仅可以利用课本上的知识,还可以在互联网上查询有关该类信息,将其学习总结并利用在此次程序设计中。利用这次程序设计实验,我们可以提高自己的设计和编辑程序的能力、了解一般程序的编写过程,还可以巩固加深我们对C语言程序基本知识的了解与掌握。我在该实验中不仅利用了课本上的函数知识、文本的输入和读出,还用互联网查阅了相关知识。如“system(cls)”,用汉语解释就是清屏功能;还有“getch()”函数,输入不读出,不过在利用“getch()”进行密码的改写时老是出错误,就舍弃了该函数。在利用“system(cls)”时感觉还是很好的,
5、用该函数后不仅可以使程序在运行时美观大方,还可以一眼扫描到我们要找的信息。而我在我编写的程序中设计了如下的功能: 登陆权限功能 查找全部图书并总图书本数功能 查找每本图书功能 添加图书功能 删除图书功能 修改图书功能 图书排序功能 金额管理功能2 概要设计开始在实验中我主要是用函数来解决该程序的文件模块问题,用函数的嵌套调用来解决各模块间的联系问题。在编写程序时,我首先用结构数组struct list d40来定义图书的各种信息。如:编号、书名、作者、出版社、类别等等。然后定义了全局变量number和total用来计算书本总数和金额总量。而后在主函数中用循环变量中的while语句和分支结构中的
6、switch语句,来编写登录权限;创建文本并用文本的输入和输出语句将图书信息输入文本;用函数的嵌套来将各部分联系起来。总体流程图如下:登陆图书管理系统查找每本图书查找全部图书添加图书图书排序金额管理修改图书删除图书结束下面介绍一下各个部分的程序:1 查看全部图书功能该功能函数名称为:search_allbook。先定义整形变量:i;而后用system(cls)进行清屏;再输入提示信息“查看全部图书!”,后利用for循环进行循环输出。最后输出总书本数number。开始其函数流程图如下:int i;输出:查看全部图书!i=0inumber否 是输出图书信息;输出图书总数:number;结束2 查找
7、每本图书功能该函数名称为find_book。这个函数也是这样,首先用system(cls)进行清屏处理;然后进行定义:int i, fg=0,char s20;然后输出:输入图书编号和查找图书!再利用for循环语句将输入的图书编号与该程序中的图书编号相等再输出该本图书的所有信息即图书的编号、书名、作者、出版社、类别、出版时间、价格。这个程序的流程图与上一流程图差别不大,这里就不再写。3 添加图书功能该部分函数名称为:add_book。首先定义int i, count=0, choice3、struct list p和文件指针FILE *fp2,然后进行清屏处理。然后输出:添加图书!接着依次输入
8、图书的编号、书名、作者、出版社、类别、出版时间、价格。然后显示是否显示添加后信息,如果选择是则会用switch函数和for循环进行依次输出,最后显示“谢谢您对图书添加!”并且最后以一排星号结束,选择否则会显示“谢谢您对图书添加!”并且最后以一排星号结束。其函数流程图如下:开始输入添加后的图书信息!是否显示添加后的信息!显示添加后的图书信息!是 否结束4 删除图书功能该部分函数名称为:delete_book。先定义int i, fg= 0,ch;char s20;和文件指针FILE *fp3,然后利用 system(cls)进行清屏处理。然后输出:删除图书,接着输出“请输入图书编号”,然后利用f
9、or循环语句将输入的图书编号与该程序中的图书编号相等,再将这个图书编号所在的图书删除并将信息录入文档。接着显示“是否显示删除后的信息”,如果选择是则会用switch函数和for循环进行依次输出该图书的编号、书名、作者、出版社、类别、出版时间、价格。最后以一排星号结束。选择否也会显示一排星号结束。该函数的流程图与查看全部图书的流程图类似,这里也不再写出。5 修改图书功能该函数名称为:xiugai_book。先定义int i,k;char s20;和文件指针FILE *fp2,然后利用 system(cls)进行清屏处理。然后输入要修改图书的编号,将新图书的信息重新输入保存到文档中即可。6 图书排
10、序功能该函数名称为:paixu_book。先定义int a;然后用system(cls)进行清屏处理!然后会输出1-按图书编号排序 2-按出版时间排序 3-按图书价格排序,然后根据输入数据会进入不同的子函数。当选择1时,其函数名称为:num_paixu。在这个函数中先对变量进行定义:int i,k,index,b和struct list temp。然后清屏,用for函数进行对图书编号的大小比较,然后利用变量temp将不符合次序的进行交换。然后显示“排序成功!”和“是否显示排序结果? 1:是 ; 2:否”,如果输入1则会依次输出排序后的图书,最后以一排星号结束。开始该函数的流程图为:是否对图书进
11、行排序?输出排序后的结果!是否显示排序后的结果?是 否结束当选择2时,其函数名称为:time_paixu。当选择3时,其函数名称为:price_paixu。该函数与选择1时基本类似,在这就不一一叙述了。7 金额管理功能该函数名称为:cash_manage。该函数就是将全局变量total输出。3 详细设计 主函数根据程序要求,一个程序只能有一个主函数。因此主函数是一个程序好坏的基础,也是一个程序在运行时外在的表现,因此对主函数设计我做了很多修改,一直修改到让我满意。我把函数分为几个部分说吧!1 写完函数库及建立一个结构数组:#include#include#includestruct list
12、/*图书结构体*/char num50; /*图书编号*/char name50; /*图书名称*/char author50; /*作者*/char press50; /*图书出版社*/char sort50; /*图书类别*/int time; /*图书出版时间*/double price; /*图书价格*/struct list *next;struct list d40 ;2 全局变量;int number=0;double total;3 所有的函数声明;void search_allbook (struct list d) ; /*查看全部图书*/void find_book (s
13、truct list d) ; /*查找图书*/void add_book (struct list d) ; /*添加图书*/double delete_book (struct list d) ; /*删除图书*/void paixu_book (struct list d) ; /*图书排序*/void num_paixu(struct list d); /*按图书编号排序*/void time_paixu(struct list d); /*按图书出版时间排序*/void price_paixu(struct list d); /*按图书价格排序*/void xiugai_book(s
14、truct list d); /*图书丢失*/double cash_manage();4 Main函数的头以及定义的变量和文本指针;int main()int q=1,w,r,l,i=0;char b20,b120=gpf;char m20,m120=1;FILE *fp ;5 登陆权限功能函数while(q)system(cls);printf(nnnn);printf( * 欢迎光临 *nn);printf( *图书管理系统*nn);printf( 1.用户登录n);printf( 0.退出登录n);printf( 请输入您的选择:);scanf(%d,&w);printf(n);get
15、char();switch(w)case 0:q=0;break;case 1:printf( 请输入用户名:);scanf(%s,b);printf(n);printf( 请输入密码:);scanf(%s,m);getchar();printf(n);if(strcmp(b,b1)!=0|strcmp(m,m1)!=0)printf( 用户名或密码错误!n);printf( 请重新输入:);scanf(%c,&l);getchar();system(cls);elseprintf( 验证通过!请按Enter键进入!n);scanf(%c,&l); 6 文本的输出;fp = fopen (f.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 课程 报告 36
限制150内