图书管理系统实训报告正文(共35页).doc

上传人:飞****2 文档编号:14379818 上传时间:2022-05-04 格式:DOC 页数:35 大小:302KB
返回 下载 相关 举报
图书管理系统实训报告正文(共35页).doc_第1页
第1页 / 共35页
图书管理系统实训报告正文(共35页).doc_第2页
第2页 / 共35页
点击查看更多>>
资源描述

《图书管理系统实训报告正文(共35页).doc》由会员分享,可在线阅读,更多相关《图书管理系统实训报告正文(共35页).doc(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上引言 随着社会经济的迅速发展和现代科学技术的进步,人类社会正逐渐走向现代化。计算机事业的飞速发展,使得以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。同时,随着经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。图书馆拥有丰富的文献信息资源,是社会系统的重要组成部分,在信息社会中的作用愈来愈重要。图书管理系统是我国大部分学校或其他部门不可缺少的部分,书籍是人类的精神食粮,尤其对一些学校来说,图书馆非常重要。计算机图书管理系统能够为用户实现借阅图书、管理等,随着计算机科学的日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越

2、来越重要的作用。作为计算机应用的一部分,使用计算机对图书资源信息进行管理,具有着手工管理所无法比拟的优点,例如:查阅迅速、安全性高、可靠性高、存储量大、保密性好、成本低等。计算机图书管理系统能够单一定向计算机图书方面,具有实用、精简功能等效率,这些优点能够极大的提高图书管理的效率,也是企业、学校的科学化、正规化管理的重要条件。第一章 绪论1.1 课题背景随着人类社会的发展,人类对知识的需求也不断增长。在这种形势下,书籍就渐渐的成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据一定的位置,如何科学的管理图书馆不仅关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套

3、完善的图书管理系统就必不可少了。随着现代社会信息量的不断增加,图书的数量和种类越来越多,人工手动管理会降低工作的效率,希望建立一个图书馆图书信息管理系统,是为了解决了人工手动管理图书信息在实践的问题,从而达到系统化、规范化、标准化的水平。图书如何来管理庞大的图书信息成为一大难题,如何以一种便捷的管理方式加快图书流通信息的反馈速度,提高工作效率,已经成为学校图书馆管理的关键问题。信息技术的飞速发展给图书馆的管理带来了全新的变革,采用图书管理系统对图书馆的运作进行全程管理,不仅是图书馆摆脱了以往人工管理产生的一系列问题,而且让图书馆提高了管理效率,减少了管理成本,让图书馆进行更有效的管理。1.2

4、C语言概述C语言是一种用途广泛、功能强大、使用灵活的过程性编程语言,既可用于编写应用软件,又能用于编写系统软件。它既具有高级语言的特点,又具有汇编语言的特点。C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于语言实现了对硬件的编程操作,因此语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多

5、种版本的语言。使C语言应用面十分广泛。第二章 开发工具简介VC6.0 简介Visual C+ 6.0,简称VC或者VC6.0,是微软推出的一款C+编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Visual C+是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了 Visual C+.NET(Visual C+7.0),但它的应用的很大的局限性,只适用于Windows 2000、Windows XP和Windows NT4.0。所以实

6、际中,更多的是以Visual C+6.0为平台。VC6.0由以下三部分组成:1、 Developer Studio,这是一个集成开发环境,我们日常工作的99%都是在它上面完成的, Developer Studio为Visual C+提供了一个很好的编辑器和很多Wizard,但实际上它没有任何编译和链接程序的功能。我们也知道,Developer Studio并不是专门用于VC的,它也同样用于VB,VJ,VID等Visual Studio家族的其他同胞兄弟。所以不能把Developer Studio当成Visual C+, 它充其量只是Visual C+的一个壳子而已。 2、 。从理论上来讲,MF

7、C也不是专用于Visual C+,Borland C+,C+Builder和Symantec C+同样可以处理MFC。同时,用Visual C+编写代码也并不意味着一定要用MFC,只要愿意,用Visual C+来编写SDK程序,或者使用STL,ATL,一样没有限制。不过,Visual C+本来就是为MFC打造的,Visual C+中的许多特征和语言扩展也是为MFC而设计的,所以用Visual C+而不用MFC就等于抛弃了Visual C+中很大的一部分功能。但是,Visual C+也不等于MFC。 3、Platform 。这才是Visual C+和整个Visual Studio的精华和灵魂,虽

8、然我们很少能直接接触到它。大致说来,Platform SDK是以Microsoft C/C+编译器为核心(不是Visual C+,看清楚了),配合MASM,辅以其他一些工具和文档资料。上面说到Developer Studio没有编译程序的功能,那么这项工作是由谁来完成的呢?是CL,是NMAKE,和其他许许多多命令行程序,这些我们看不到的程序才是构成Visual Studio的基石。第三章 图书管理系统的设计与实现3.1 系统的需求分析3.1.1 设计思想随着现代社会信息量的不断增加,图书的种类及信息也越来越多,如何来管理庞大的图书信息成为一大难题,如何以一种便捷的管理方式加快图书流通信息的反馈

9、速度,提高工作效率,已经成为学校图书馆管理的关键问题。信息技术的飞速发展给图书馆的管理带来了全新的变革,采用图书管理系统对图书馆的运作进行全程管理,不仅是图书馆摆脱了以往人工管理产生的一系列问题,而且让图书馆提高了管理效率,减少了管理成本,让图书馆进行更有效的管理。因此,设计的图书管理系统需要满足以下几方面要求:读者的管理;管理员的管理;图书信息的管理。3.1.2 系统功能描述(1)系统主菜单:根据不同的选择进入不同的界面,从而进入系统和退出系统。(2)功能菜单:显示可以进行的操作。(3)查询主菜单:系统需要提供几种不同方式的查询手段,以实现灵活方便的管理整个系统。一本图书包括序号、书名、价格

10、、会员价等多个信息,会员可以通过输入图书的序号、名字进行查询所需的图书,然后可以浏览相关的图书信息。管理员除此还可以对图书进行管理和对会员信息的管理,可以浏览所有的图书信息和会员信息。(4)各功能的操作全部通过调用的关系连接而成,主函数通过调用各子函数来完成图书的管理与查询系统。3.1.3功能模块划分1. 初始化图书信息主函数通过调用initbook()子函数,采用scanf()输入方式输入图书的序号、名字、价格信息,会员价不需输入,只需用公式:会员价=价格*0.8f(会员价一律八折)即可。2. 增加图书信息这个程序与初始化图书信息一样,通过调用addbook()子函数来增加一些图书的基本信息

11、,如:图书的序号、名字、价格。3. 修改图书信息调用modifybook()子函数来实现此功能,用来修改已经增加的图书信息,修改的是图书的价格、会员价,图书的序号、名字不改变。4. 删除图书信息由主函数调用delbook()子函数实现删除图书信息功能。输入要删除的图书名称,从而删除这本图书的所有信息,无法还原。5. 按图书的价格从高到低浏览图书信息由函数showbook()来实现此功能。通过图书的价格由高到低的顺序来查询图书的序号、名字、价格、会员价。6. 增加会员信息addhuiyuan()存储会员信息的文件名是huiyuan(增加会员时文件读取方式采用“ab+”方式),用scanf()输入

12、方式输入每个会员信息是序号、名字、密码。7. 删除会员信息delhuiyuan()输入要删除的会员名字,从而删除这个会员的所有信息,无法还原。8. 按名字浏览会员的所有信息showhuiyuan() 用来浏览已经增加的会员信息。9.会员模块show()会员可以输入名字和密码登陆会员界面,浏览图书信息。可输入相应图书的名字,查询相应的图书信息。3.1.4系统流程3.2详细系统的设计与实现 3.2.1主函数界面设计#include#include#include#include#define size 100typedef structlong number;char name9;char ps7

13、;int power;huiyuan;typedef structlong number;char name100;float price;float memberprice;book; void main() void menu1();void menu2();huiyuan show; char datafile40=huiyuan;char username10,password10;int i;printf(nnnnn);printf( n); printf( = n);printf( *+ +* n);printf( *欢迎您进入图书管理系统* n);printf( *+ +* n)

14、; printf( = n);printf( n); printf(nn);printf( 请输入您的姓名:);scanf(%s,username); printf( 请输入您的登录密码:);scanf(%s,password);if (strcmp(username,admin)=0)&(strcmp(password,admin)=0)printf( 您是管理员! n); menu1();FILE *fp; fp=fopen(datafile,rb);if(fp=NULL)printf(文件%s信息错误n,datafile);exit(1);while(fread(&show,sizeof

15、(huiyuan),1,fp)!=0)if(strcmp(username,show.name)=0)&(strcmp(password,show.ps)=0)printf( 您是普通会员n);menu2();exit(0);3.2.2 管理员界面与图书浏览界面设计void initbook();void addbook();void modifybook();void delbook();void showbook();void addhuiyuan();void delhuiyuan();void showhuiyuan();void show();void quit();void men

16、u1()char ch1,ch2,ch3;doprintf(nnn);printf( = n); printf( *欢迎进入图书管理员界面* n);printf( = n); printf(tt请您选择操作类型:n);printf( *1.欢迎进入图书信息系统* n);printf( *2.欢迎进入会员信息系统* n);printf( *0.退出系统* n);printf( 请输入您的选择! n);scanf(%s,&ch1);switch(ch1)case 1:Do printf(nnn);printf( *欢迎进入图书信息系统欢迎进入会员信息系统感谢您的使用* n);printf( n);

17、printf( = n);getch();exit(0); 3.2.3各功能模块设计1、初始化图书信息void initbook() FILE *fp;book tmps,show;char datafile40=book;int count=0;fp=fopen(datafile,wb+);if(fp=NULL)printf(文件%s信息错误n,datafile);exit(1);printf(请输入图书的序号、名称、价格n);while(countsize)printf(输入数据已满n);fclose(fp);printf(所输入图书信息如下:n);fp=fopen(datafile,rb

18、);if(fp=NULL)printf(文件%s信息错误n,datafile);exit(1);printf(序号t名称t价格t会员价n);while(fread(&show,sizeof(book),1,fp)!=0)printf(%ldt%st%.1ft%.1fn,show.number,show.name,show.price,show.memberprice);fclose(fp); 2、添加图书信息Void addbook()FILE *fp;book tmps,show;char datafile40=book;int count=0;fp=fopen(datafile,wb+);

19、if(fp=NULL)printf(文件%s信息错误n,datafile);exit(1);printf(请输入图书的序号、名称、价格n);while(countsize)printf(输入数据已满n);fclose(fp);printf(所输入图书信息如下:n);fp=fopen(datafile,rb);if(fp=NULL)printf(文件%s信息错误n,datafile);exit(1);printf(序号t名称t价格t会员价n);while(fread(&show,sizeof(book),1,fp)!=0)printf(%ldt%st%.1ft%.1fn,show.number,

20、show.name,show.price,show.memberprice);fclose(fp);3、修改图书信息void modifybook() FILE *fp;book tmps,ssize,show,temp;char name9,next,datafile40=book;int recnumber,i,result=0;float price;begin:printf(请输入要修改信息的图书的名称:);scanf(%s,name);fp=fopen(datafile,rb);if(fp=NULL) printf(文件%s信息错误n,datafile); exit(1);while

21、(feof(fp)=0)if(fread(&temp,sizeof(book),1,fp)!=0)if(strcmp(temp.name,name)=0) result=1;if(result=0)printf(要修改的图书%s不存在n,name);fclose(fp); goto begin;fp=fopen(datafile,rb);if(fp=NULL) printf(文件%s信息错误n,datafile); exit(1);recnumber=0;while(fread(&tmps,sizeof(book),1,fp)!=0)if(strcmp(tmps.name,name)=0)pr

22、intf(请输入要修改图书%s的价格,name);scanf(%f,&price);srecnumber.number=tmps.number;strcpy(srecnumber.name,tmps.name); srecnumber.price=price;srecnumber.memberprice=price*0.8f;recnumber+;elsesrecnumber.number=tmps.number;strcpy(srecnumber.name,tmps.name); srecnumber.price=tmps.price;srecnumber.memberprice=tmps.

23、price*0.8f;recnumber+;fclose(fp);fp=fopen(datafile,wb+);if(fp=NULL) printf(文件%s信息错误n,datafile); exit(1);for(i=0;irecnumber;i+)if(fwrite(&si,sizeof(book),1,fp)!=1)printf(文件%s信息错误n,datafile); exit(1); fclose(fp);printf(图书信息修改成功!n);printf(是否继续修改(y/n)n);next=getche();if(next=y|next=Y)goto begin;printf(所

24、修改图书信息如下:n);fp=fopen(datafile,rb);if(fp=NULL) printf(文件%s信息错误n,datafile); exit(1);printf(序号t名称t价格t会员价tn);while(fread(&show,sizeof(book),1,fp)!=0) printf(%ldt%st%.1ft%.1fn,show.number,show.name,show.price,show.memberprice);fclose(fp);4、删除图书信息void delbook() FILE *fp;book tmps,ssize,show,temp;char name

25、10,next,datafile40=book;int recnumber,i,result=0;begin: printf(请输入要删除的图书的名字:);scanf(%s,name);fp=fopen(datafile,rb);if(fp=NULL) printf(文件%s信息错误n,datafile); exit(1);while(feof(fp)=0)if(fread(&temp,sizeof(book),1,fp)!=0)if(strcmp(temp.name,name)=0) result=1;if(result=0)printf(要删除的图书%s不存在n,name);fclose(

26、fp); goto begin;fclose(fp);fp=fopen(datafile,rb);if(fp=NULL) printf(文件%s信息错误n,datafile); exit(1);recnumber=0;while(fread(&tmps,sizeof(book),1,fp)!=0)if(strcmp(tmps.name,name)!=0)srecnumber.number=tmps.number;strcpy(srecnumber.name,tmps.name);srecnumber.price=tmps.price;srecnumber.memberprice=tmps.pr

27、ice*0.8f;recnumber+;fclose(fp);fp=fopen(datafile,wb+);if(fp=NULL) printf(文件%s信息错误n,datafile); exit(1);for(i=0;i1)for(i=0;irecnumber-1;i+)k=i;for(j=i+1;jrecnumber;j+)if(sk.pricesj.price)k=j;tmps.number=sk.number;strcpy(tmps.name,sk.name);tmps.price=sk.price; tmps.memberprice=sk.price*0.8f; sk.number=si.number;strcpy(sk.name,si.name); sk.price=si.price; sk.memberprice=si.price*0.8f;si.number=tmps.number;strcpy(si.name,tmps.name);si.price=tmps.price

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁