版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河南城建学院面向对象程序设计课程设计报告书 设 计 题 目:书店图书管理系统 指 导 老 师:崔雪冰 张妍琰 蔡照鹏 学 生 学 号: 学 生 姓 名:田伟涛 同 组 人 员:张华东 王博凯 董登科 时 间:2011年12月30日目 录第1章 选 题21.1 题目背景21.2系统实现的具体分工21.2.1 标题21.3开发环境2第2章 设计内容32.2 概要设计(系统流程图)32.3 设计与分工42.3.1 结构设计42.3.2 类设计4第3章 系统实现53.1 涉及知识点53.2 系统运行(主要运行界面抓图)63.3 源程序清单(书库管理模块)7第4章 结束语16 参考文献18第1章 选 题
2、1.1 题目背景 随着信息时代的到来和全社会信息化、网络化建设的兴起,传统的书店图书管理模式和操作方法越来越不能满足用户的需要.智能化、网络化、信息化的书店图书管理系统应用势在必行。电子时代的到来,很多网购盛行,网上的购物很流行,知识分子的网上购书,当然也是潮流的前沿,网上的书店图书管理系统也是应运而生,实现买卖双方的交流,与书库的自动化管理,便于书店老板的经营。1.2系统实现的具体分工系统分为顾客购书类、订单类、收银类、图书库类以及主函数等几大模块,其中顾客购书类实现顾客对图书的选购,订单类实现对顾客订单的管理及查询,收银类实现对订单的收银,图书库类实现对书店图书库图书信息的描述及管理,ma
3、in() 函数实现对程序主界面的引导。 1.2.1 标题书店图书管理系统的设计与实现1.3开发环境 开发软件: Visual C+ 6.0 处理器名称:Pentium(R)Dual-Core CPU E6500 2.94GHz 2.94GHz 硬盘驱动器:WDC WD1600AAJS-22WAAO 系统内存:金士顿内存2GB 显示卡:NVIDIA GeFORCE 9400 GT 显示器:LG GSM4EB3操作系统:Microsoft Windows XP Professional 第2章 设计内容2.1实现功能系统主要包括书店顾客对图书的选购,书店工作人员对订单的收银以及对本店书库图书信息的
4、管理。顾客只需进入图书选购模块便可对图书进行选购、下单。书店工作人员输入相应模块密码后可实现收银以及对本店图书信息的管理。2.2 概要设计(系统流程图)图 2-1 系统结构图2.3 设计与分工在这次书店管理系统开发过程中,我主要负责书库管理模块的设计与开发。作为整个系统的核心,其他模块都是围绕这个模块进行的,所以只有做好了这个模块,才能确保其他模块的功能实现。本模块才用二进制文件存储图书信息,不仅方便,而且保证了书库数据的安全。另外,因为书库管理模块为书店工作人员管理图书所用,所以顾客或者其他人是没有权限进入的。为此,我设置了管理员密码(Adminster)。只有输入密码,才能进行操作。 2.
5、3.1 结构设计结构设计也称概念设计 (Conceptual Design),是界面设计的骨架。该书店管理系统运行时界面上的目录体系和词语定义易于用户理解和操作,例如主界面的目录体系包括1.顾客选购模块 2.收银模块 3.报表模块 4.书库管理模块 0.退出程序。其中书库管理模块又下分目录1.显示所有图书 2.查找书 3.修改书 4.增加书 5.删除书 6.返回主菜单。显示所有图书一栏中详细列出了书库中所存书本的ISBN号、书名、作者、售价、库存量等信息,使管理者对图书信息一目了然,充分体现了结构化、简明化的界面设计理念。 2.3.2 类设计书库管理模块开发过程中采用类封装技术,让程序更能清晰
6、的表达出其含义,类丰富了语言的自定义数据类型以及含义。而且,面向对象编程更容易系统的维护和扩展,同时避免本模块数据与其他模块数据混淆参杂,使程序代码简单明了,增强了程序的稳定性,可塑性。本模块共设计两个类,分别为图书信息类(bookdata)、图书管理类(bookbase)。其中,图书信息类存储图书的各种信息,包括ISBN(isbn)、书名(booktitle)、出版社(publisher)、作者(author)、库存量(qtyonhand)、进书日期(dateadded)、批发价(wholesale)、零售价(retail)等信息。图书管理类实现对书库的各种操作,包括显示所有图书信息(sho
7、wallbook)、查找书(searchbook)、修改书(amendbook)、增加书(addbook)、删除书(deletebook)以及本模块操作菜单(menubook)等。本模块的类关系图如下页图2-2所示: 书名 booktitleISBN isbn 图书信息类 bookdata出版社 publisher作者 author进书日期 dateadded 库存量 qtyonhand批发价 wholesale图书管理模块零售价 retail显示所有图书 showallbook查找书 searchbook 图书管理类 bookbase修改书 amendbook增加书 addbook删除书 d
8、eletebook操作菜单 menubook图 2-2 图书管理模块结构图第3章 系统实现3.1 涉及知识点类封装、面向对象程序设计、文件的读取操作、循环语句的使用、过程化设计的思想等。3.2 系统运行(主要运行界面抓图)下面的几个图为系统运行的主要运行界面,界面清晰,结构鲜明。图 3-2 书库管理模块菜单 图 3-1 主菜单图 3-3 显示所有图书信息图 3-4 返回主菜单3.3 源程序清单(书库管理模块)主菜单main.cpp#includeusing namespace std;#include#include#include#includebookdata.h#includeCash.
9、h#includebookbase.h#includebooklist.h#includeShop.hint main()bookbase base;booklist list;Cash cash;Shop shop;int choice;char c; cout 欢迎使用书店管理系统 n endl;docoutnt= endl;coutnt *主菜单*endl;cout nttt1:顾客选购模块 nnttt2:收银模块 nnttt3:报表模块nnttt4:书库管理模块 nnttt0:退出程序 endl;cout t= endl;cout choice;switch(choice) case
10、1: shop.Search();/顾客选购模块break; case 2: cash.CashOperate();/收银模块break; case 3: list.menubooklist();/报表模块break; case 4: base.menubook();/书库管理模块break; case 0: exit(0);while(1);return 0;书库管理模块图书信息类 bookdata.h#ifndef BOOKDATA_H#define BOOKDATA_Hclass bookdataprotected:char isbn31;/isbn号char booktitle100;
11、/书名char author51;/作者char publisher100;/出版社char dateadded11;/进书日期int qtyonhand;/库存量double wholesale;/批发价double retail;/零售价int flag;/删除标记 1:未删除 0:删除public:void setinfo(char *is,char *bo,char *au,char *pu,char *da,int qt,double wh,double re)/设置书的信息strcpy(isbn,is);strcpy(booktitle,bo);strcpy(author,au);
12、strcpy(publisher,pu);strcpy(dateadded,da);qtyonhand=qt;wholesale=wh;retail=re;void showinfo()/显示书的信息couttISBN号:isbnendl;coutt书名:booktitleendl;coutt作者:authorendl;coutt出版单位:publisherendl;coutt进书日期:dateaddedendl;coutt库存量:qtyonhandendl;coutt批发价:wholesaleendl;coutt零售价:retailendl;void setflag(int f=1)/设置删
13、除标记flag=f;int getflag()return flag;char *getisbn()return isbn;char *getbooktitle()return booktitle;char *getauthor()return author;char *getpublisher()return publisher;char *getdateadded()return dateadded;int getqtyonhand()return qtyonhand;double getwholesale()return wholesale;double getretail()retur
14、n retail;void setqtyOnHand(int num)/设置库存量qtyonhand = num;#endif图书管理类 bookbase.h#ifndef BOOKBASE_H#define BOOKBASE_H#includebookdata.hclass bookbase:public bookdataprotected:int top;bookdata book100;public:bookbase ()/构造函数,打开书库信息bookdata s;top=-1;fstream file;file.open(bookinfo.dat,ios:in|ios:binary)
15、;while(!file.eof()file.read(char *)&s,sizeof(s);if(file.fail()break;top+;booktop=s;file.close();void updatedat()/刷新书库信息fstream file(bookinfo.dat,ios:out|ios:binary);for(int i=0;i=top;i+)if(booki.getflag()=1)file.write(char *)&booki,sizeof(booki);file.close();void showallbook()/显示所有图书信息coutn下面显示所有图书信
16、息:endl;for(int i=0;i=top;i+)booki.showinfo();coutendl;void addbook()/增加图书int i,n;char is31, bo100, au51, pu100,da11;int qt;double wh,re;coutn;cout请输入下列信息:endl;for(i=0;in;i+)coutis;coutbo;coutau;coutpu;coutda;coutqt;coutwh;coutre;top+;booktop.setinfo(is,bo,au,pu,da,qt,wh,re); booktop.setflag(1);updat
17、edat();cout增加完成!endl;void searchbook()/查找图书int x=1;char name100,again;docoutname;for(int i=0;i=top;i+)if(!strcmp(booki.getisbn(),name)|!strcmp(booki.getbooktitle(),name)coutn书的信息已找到,下面输出该书信息:n;booki.showinfo();x=0;if(x)coutn未找到该书信息!n;coutagain;while(again=y);void amendbook()/修改图书信息int x=1;char choic
18、e, name100,again;char is31, bo100, au51, pu100,da11;int qt;double wh,re;docoutname;for(int i=0;i=top;i+)if(!strcmp(booki.getisbn(),name)|!strcmp(booki.getbooktitle(),name)coutn书的信息已找到,下面输出该书信息:n;booki.showinfo();x=0;coutchoice;if(choice=y) cout请输入下列信息:endl; coutis; cout书名:;cin.ignore(); cin.getline(
19、bo,100); cout作者:; cin.getline(au,51); cout出版社:; cin.getline(pu,100); coutda; coutqt; coutwh; coutre;booki.setinfo(is,bo,au,pu,da,qt,wh,re);booktop.setflag(1);updatedat();cout修改完成!endl;if(x)coutchoice;if(choice=y) cout请输入下列信息:endl; coutISBN:; cin.getline(is,51); cout书名:; cin.getline(bo,100); cout作者:;
20、 cin.getline(au,51); cout出版社:; cin.getline(pu,100); coutda; coutqt; coutwh; coutre;booki.setinfo(is,bo,au,pu,da,qt,wh,re);booktop.setflag(1); updatedat();cout增加完成!endl;coutagain;while(again=y);void deletebook()/删除图书int x=1; char name100,choice,again;do coutname;for(int i=0;i=top;i+) if(!strcmp(booki
21、.getisbn(),name)|!strcmp(booki.getbooktitle(),name) coutn书的信息已找到,下面输出该书信息:n; booki.showinfo(); x=0; coutchoice; if(choice=y) booki.setflag(0);/设置删除标记 updatedat();coutt删除成功!n; if(x)coutn未找到有关该书的信息!n; coutagain;while(again=y);void menubook()/书库管理模块主菜单 int choice,a;bookbase book1;char adminster51,code=
22、tianweitao,again;coutadminster;a=strcmp(adminster,code);while(a!=0) coutadminster; a=strcmp(adminster,code);docoutnt= endl;coutnt *书库管理模块*endl;coutnnttt1.显示所有图书nnttt2.查找书nnttt3.修改书nnttt4.增加书nnttt5.删除书nnttt6.返回主菜单n; coutnt= endl;coutchoice;switch(choice)case 1:showallbook();break;case 2:searchbook();
23、break;case 3:amendbook();break;case 4:addbook();break;case 5:deletebook();break;case 6:return;coutagain;while(again=y);#endif第4章 结束语一周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。 课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社
24、会,从事职业工作前一个必不少的过程”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础 对于此次课程设计,我感慨颇多,起初在选题时,做出决定是非常困难的,若选择简单的题目,很有可能会很早就做完了,那样岂不是浪费了许多宝贵的时间;若选择比较难的题目,感觉自己的能力可能不够,不能完成课程设计,最后,在我们组的商量之下选了书店图书管理系统这个课题。定下了我们的目标。接着我们都开始做了,我们明确的分了一下任务,然后每个人都去干自己的了,对于不会的,不太清楚的我们都会在一起讨论,研究。通过本次课程设计,我深刻认识到了“理论联系实际”的这句话的重要性与真实性,我不但知道了以前不知道的理论知识,而且也巩固了以前知道的知识。最重要的是在实践中理解了书本上的知识,明白了学以致用的真谛。在整个设计到按各种功能输出以及调试过程中,我个人感觉调试部分是最难的,我们把运行错误和不能运行的部分一遍遍的修改直到达到预期的效果。初拿到题目觉得很沮丧,虽然学了这么久的C+语言,但还是觉得它很深奥,对它几乎
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学语文课堂教学量化评分表
- 2026年药食同源食品与新食品原料(新资源食品)食用量标准大全
- 教育研究方法基础(第4版)教案全套 第1-12章 教育研究概述-教育研究成果表述
- 26年银发失独老人沟通技巧课件
- 26年老年上门服务难解决方案课件
- 26年居家老人机能变化科普
- 【2025】温岭市青少年宫招聘专业教师考试真题
- 【新教材】冀美版(2024)一年级下册美术第6单元 第1课 探访春天 教学设计
- 医学26年:基础性管理要点解读 查房课件
- 26年假牙适配检查指引课件
- 2025至2030创新环保产品行业产业运行态势及投资规划深度研究报告
- 高中团课考试题目及答案
- 2024年医药代表专业技能提升培训方案
- 深静脉血栓形成临床路径标准流程
- 《新媒体营销》案例 JELLYCAT
- 润燥止痒胶囊的作用
- 动态轴重称施工方案
- 2025年保安考试1000道及答案
- 2025重庆市红十字会医院(江北区人民医院)招聘考试参考题库及答案解析
- 公共场所卫生检验方法 第2部分:化学性指标-编制说明
- 商务数据分析师国家职业标准(2024版)
评论
0/150
提交评论