欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    [计算机软件及应用]图书管理系统实训报告正文.doc

    • 资源ID:3932922       资源大小:302.50KB        全文页数:36页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [计算机软件及应用]图书管理系统实训报告正文.doc

    引言 随着社会经济的迅速发展和现代科学技术的进步,人类社会正逐渐走向现代化。计算机事业的飞速发展,使得以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。同时,随着经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。图书馆拥有丰富的文献信息资源,是社会系统的重要组成部分,在信息社会中的作用愈来愈重要。图书管理系统是我国大部分学校或其他部门不可缺少的部分,书籍是人类的精神食粮,尤其对一些学校来说,图书馆非常重要。计算机图书管理系统能够为用户实现借阅图书、管理等,随着计算机科学的日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对图书资源信息进行管理,具有着手工管理所无法比拟的优点,例如:查阅迅速、安全性高、可靠性高、存储量大、保密性好、成本低等。计算机图书管理系统能够单一定向计算机图书方面,具有实用、精简功能等效率,这些优点能够极大的提高图书管理的效率,也是企业、学校的科学化、正规化管理的重要条件。第一章 绪论1.1 课题背景随着人类社会的发展,人类对知识的需求也不断增长。在这种形势下,书籍就渐渐的成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据一定的位置,如何科学的管理图书馆不仅关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套完善的图书管理系统就必不可少了。随着现代社会信息量的不断增加,图书的数量和种类越来越多,人工手动管理会降低工作的效率,希望建立一个图书馆图书信息管理系统,是为了解决了人工手动管理图书信息在实践的问题,从而达到系统化、规范化、标准化的水平。图书如何来管理庞大的图书信息成为一大难题,如何以一种便捷的管理方式加快图书流通信息的反馈速度,提高工作效率,已经成为学校图书馆管理的关键问题。信息技术的飞速发展给图书馆的管理带来了全新的变革,采用图书管理系统对图书馆的运作进行全程管理,不仅是图书馆摆脱了以往人工管理产生的一系列问题,而且让图书馆提高了管理效率,减少了管理成本,让图书馆进行更有效的管理。1.2 C语言概述C语言是一种用途广泛、功能强大、使用灵活的过程性编程语言,既可用于编写应用软件,又能用于编写系统软件。它既具有高级语言的特点,又具有汇编语言的特点。C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于语言实现了对硬件的编程操作,因此语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的语言。使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。所以实际中,更多的是以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、 MFC。从理论上来讲,MFC也不是专用于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 SDK。这才是Visual C+和整个Visual Studio的精华和灵魂,虽然我们很少能直接接触到它。大致说来,Platform SDK是以Microsoft C/C+编译器为核心(不是Visual C+,看清楚了),配合MASM,辅以其他一些工具和文档资料。上面说到Developer Studio没有编译程序的功能,那么这项工作是由谁来完成的呢?是CL,是NMAKE,和其他许许多多命令行程序,这些我们看不到的程序才是构成Visual Studio的基石。第三章 图书管理系统的设计与实现3.1 系统的需求分析3.1.1 设计思想随着现代社会信息量的不断增加,图书的种类及信息也越来越多,如何来管理庞大的图书信息成为一大难题,如何以一种便捷的管理方式加快图书流通信息的反馈速度,提高工作效率,已经成为学校图书馆管理的关键问题。信息技术的飞速发展给图书馆的管理带来了全新的变革,采用图书管理系统对图书馆的运作进行全程管理,不仅是图书馆摆脱了以往人工管理产生的一系列问题,而且让图书馆提高了管理效率,减少了管理成本,让图书馆进行更有效的管理。因此,设计的图书管理系统需要满足以下几方面要求:读者的管理;管理员的管理;图书信息的管理。3.1.2 系统功能描述(1)系统主菜单:根据不同的选择进入不同的界面,从而进入系统和退出系统。(2)功能菜单:显示可以进行的操作。(3)查询主菜单:系统需要提供几种不同方式的查询手段,以实现灵活方便的管理整个系统。一本图书包括序号、书名、价格、会员价等多个信息,会员可以通过输入图书的序号、名字进行查询所需的图书,然后可以浏览相关的图书信息。管理员除此还可以对图书进行管理和对会员信息的管理,可以浏览所有的图书信息和会员信息。(4)各功能的操作全部通过调用的关系连接而成,主函数通过调用各子函数来完成图书的管理与查询系统。3.1.3功能模块划分1. 初始化图书信息主函数通过调用initbook()子函数,采用scanf()输入方式输入图书的序号、名字、价格信息,会员价不需输入,只需用公式:会员价=价格*0.8f(会员价一律八折)即可。2. 增加图书信息这个程序与初始化图书信息一样,通过调用addbook()子函数来增加一些图书的基本信息,如:图书的序号、名字、价格。3. 修改图书信息调用modifybook()子函数来实现此功能,用来修改已经增加的图书信息,修改的是图书的价格、会员价,图书的序号、名字不改变。4. 删除图书信息由主函数调用delbook()子函数实现删除图书信息功能。输入要删除的图书名称,从而删除这本图书的所有信息,无法还原。5. 按图书的价格从高到低浏览图书信息由函数showbook()来实现此功能。通过图书的价格由高到低的顺序来查询图书的序号、名字、价格、会员价。6. 增加会员信息addhuiyuan()存储会员信息的文件名是huiyuan(增加会员时文件读取方式采用“ab+”方式),用scanf()输入方式输入每个会员信息是序号、名字、密码。7. 删除会员信息delhuiyuan()输入要删除的会员名字,从而删除这个会员的所有信息,无法还原。8. 按名字浏览会员的所有信息showhuiyuan() 用来浏览已经增加的会员信息。9.会员模块show()会员可以输入名字和密码登陆会员界面,浏览图书信息。可输入相应图书的名字,查询相应的图书信息。3.1.4系统流程3.2详细系统的设计与实现 3.2.1主函数界面设计#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>#define size 100typedef structlong number;char name9;char ps7;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"); 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(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 menu1()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");printf(" =1.初始化图书信息*2.增加图书信息= n");printf(“ =3.修改图书信息*4.删除图书信息= n");printf(" =5.按普通价格从高到低浏览图书信息= n");printf(" =0、返回上一级= n");printf(" 请输入0-5,其他输入错误! n");scanf("%s",&ch2);switch(ch2)case '1':initbook();break;case '2':addbook();break;case '3':modifybook();break;case '4':delbook();break;case '5':showbook();getch();break;case '0':break;default:printf("操作错误n");getch();break;while(ch2!='0');break;case '2':doprintf("nnn"); printf(" *>欢迎进入会员信息系统<* n");printf("nn");printf(" =1.增加会员信息*2.删除会员信息= n");printf(" =3.按名字浏览会员信息= n");printf(" =0、返回上一级= n"); printf(" 请输入0-3,其他输入错误! n");scanf("%s",&ch3);switch(ch3)case '1':addhuiyuan();break;case '2':delhuiyuan();break;case '3':showhuiyuan();break; case '0':break;default:printf("操作错误n");getch();break; while(ch3!='0');break;case '0':quit();default:printf("操作错误n");getch();break;while(ch1!='0');void menu2() char ch4;doprintf("nnn");printf(" = n"); printf(" *欢迎进入图书浏览界面* n");printf(" = n");printf(" n");printf(" *1.输入图书名浏览图书相应信息* n");printf(" *0.浏览结束* n");printf(" 请输入您的选择: ");scanf("%s",&ch4);switch(ch4)case '1':void show();break;case '0':quit();default:printf("操作错误n");getch();break;while(ch4!='0');void quit() printf("nnnn");printf(" = n");printf(" n");printf(" *>感谢您的使用<* n");printf(" n");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(count<=size)printf("n请输入图书的序号:");scanf("%ld",&tmps.number);if(tmps.number=0)break;printf("请输入图书的名称:");scanf("%s",tmps.name);printf("请输入图书的价格:");scanf("%f",&tmps.price);tmps.memberprice=tmps.price*0.8f;if(fwrite(&tmps,sizeof(book),1,fp)!=1)printf("文件%s信息错误n",datafile); exit(1);count+;if(count>size)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,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+");if(fp=NULL)printf("文件%s信息错误n",datafile);exit(1);printf("请输入图书的序号、名称、价格n");while(count<=size)printf("n请输入图书的序号:");scanf("%ld",&tmps.number);if(tmps.number=0)break;printf("请输入图书的名称:");scanf("%s",tmps.name);printf("请输入图书的价格:");scanf("%f",&tmps.price);tmps.memberprice=tmps.price*0.8f;if(fwrite(&tmps,sizeof(book),1,fp)!=1)printf("文件%s信息错误n",datafile); exit(1);count+;if(count>size)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,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(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)printf("请输入要修改图书%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.price*0.8f;recnumber+;fclose(fp);fp=fopen(datafile,"wb+");if(fp=NULL) printf("文件%s信息错误n",datafile); exit(1);for(i=0;i<recnumber;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("所修改图书信息如下: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 name10,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(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.price*0.8f;recnumber+;fclose(fp);fp=fopen(datafile,"wb+");if(fp=NULL) printf("文件%s信息错误n",datafile); exit(1);for(i=0;i<recnumber;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("删除图书后信息如下: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,show.name,show.price,show.memberprice);fclose(fp);5、浏览图书信息void showbook() FILE *fp;char datafile40="book"book tmps,ssize,show;int recnumber,i,j,k;fp=fopen(datafile,"rb");if(fp=NULL) printf("文件%s信息错误n",datafile); exit(1);recnumber=0;while(fread(&tmps,sizeof(book),1,fp)!=0)srecnumber.number=tmps.number;strcpy(srecnumber.name,tmps.name);srecnumber.price=tmps.price;srecnumber.memberprice=tmps.price*0.8f;recnumber+;fclose(fp);if(recnumber>1)for(i=0;i<recnumber-1;i+)k=i;for(j=i+1;j<recnumber;j+)if(sk.price<sj.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; si.m

    注意事项

    本文([计算机软件及应用]图书管理系统实训报告正文.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开