




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 1 页 目录目录 一 设计目的 2 二 设计内容 2 三 设计要求 2 四 设计过程 3 1 面向对象分析 3 2 数据结构分析 7 3 系统执行流程 8 五 程序运行结果 11 六 设计总结 17 参考文献 17 附录 18 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 2 页 图书销售管理系统图书销售管理系统 一 一 设计目的设计目的 本图书销售管理系统 主要用于小型的书店 进行简单的图书的管理 为 了能够更好的管理书店的销售的情况和库存的情况书店销售管理系统主要的功 能有 1 图书入库管理 维护入库图书信息 图书编号 书名 价格等 自动 计算库存 2 图书查询统计 可以根据图书分类 出版社 书名 作者等条件查询 图书的详细信息 3 销售管理 销售过的图书都记录在销售列表中 方便统计收入 图书 销售后 要记录图书库存 按每天统计销售额 每个月或季度生成报表 并生 成畅销书单 二 设计内容二 设计内容 1 图书信息包括书名 书号 作者 出版社 单价 库存数量 进价 售价 利润 2 用户登录界面设计 3 信息维护 包括子模块有增加图书信息 删除图书信息 修改图书信 息 4 查询功能 可按书名查询 作者查询 或出版社查询 5 排序功能 能实现按图书销售利润进行排序的功 三 设计要求三 设计要求 1 只能使用 C 语言 源程序要有适当的注释 使程序容易阅读 2 至少采用文本菜单界面 如果能采用图形菜单界面更好 3 学生可自动增加新功能模块 视情况可另外加分 4 写出课程设计报告 具体要求见相关说明文档 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 3 页 四 设计过程四 设计过程 1 1 面向对象分析 面向对象分析 1 对象模型设计 2 各个类设计 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 4 页 系统中说明了 4 个类 每个类的详细设计如下 1 Book 类 class book book 基类 protected string name 名称 float price 价格 int num 编号 int kucun xcl salel 库存 现存量 销售量 public int getnum return num 编号接口函数 string getname 名称接口函数 return name float getprice return price 价格接口函数 int getkucun return kucun 库存量接口函数 int getxcl return xcl 现存量接口函数 int getsalel return salel 销售量接口函数 virtual void input 0 输入虚函数 virtual void output 0 输出虚函数 说明 Book 类是一个基类 用于定义图书基本的信息 例如 其中 string getname 是一个接口函数 能获得图书的姓名 2 Yule 娱乐类 class yule public book 娱乐的派生类 public void input 输入 cin name cin num cin price cin kucun cin salel cin xcl void output 输出 cout Yule endl 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 5 页 cout name num price kucun salel xcl endl void compute 计算售出剩余函数 int counts cout 输入售出的图书的本数 counts cout 售后剩余 name cin num cin price cin kucun cin salel cin xcl void output cout Learn endl cout name num price kucun salel xcl endl void compute1 int counts 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 6 页 cout 输入售出的图书的本数 counts cout 售后剩余 endl kucun kucun counts salel salel counts xcl xcl counts study 类用于定义学习类图书的信息 它是 Book 类的公有派生类 其中 Compute1 是一个计算售出图书数量和剩余的函数 input 和 output 函数是对图书信息的输入和输出而且他们是在基类中定义的纯虚函数 operate 功能类 typedef vector STRVEC 定义 stl 模版的容器 typedef vector STRVEC1 class operate 定义功能类 STRVEC strvec STRVEC1 strvec1 public void search yulenum int m 娱乐类图书按编号查找 void search yulename string s 查找娱乐类图书按名称 void del yulenum int n 删除娱乐类图书按编号 void del yulename string p 按图书名称删除 void add study 添加学习类图书的基本信息 void add yule 添加娱乐类图书的基本信息 void search studynum int m 查找学习类图书的编号 void search studyname string s 查找学习类图书的名称 void xiugai yule int m 修改娱乐类图书的剩余量 void xiugai study int m 修改学习类图书的剩余量 void del studynum int n 删除售完图书 void del studyname string p 按名称删除图书 void show yule 显示娱乐类图书 void show study 显示学习类图书 void saleamounts 计算销售额 void changxiao1 娱乐类图书畅销 void changxiao 学习类图书畅销 void save 娱乐类入库单 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 7 页 void save1 学习类入库单 void load 读取娱乐类文件 void load1 读取学习类文件 void Menu 应用菜单 说明 operate 类用来实现图书管理系统的功能 它是用来查找 添加 删 除图书的信息的基本点的信息 对系统进行维护 生成入库单 畅销书和一天 的销售额 2 2 数据结构分析 数据结构分析 书店销售管理系统的数据结构 英文名称中文名称 Book 图书类 Yule 娱乐类图书 Study 学习类图书 Strvec 娱乐类的 STL 模版 Strvec1 学习类的 STL 模版 Operate 运算类 search yulenum 娱乐类编号查找 search yulename 娱乐类书名查找 del yulenum 娱乐类编号删除 del yulename 娱乐类书名删除 add study 添加学习类图书 add yule 添加娱乐类图书 search studynum 学习类编号查询 search studyname 学习类书名查询 del studynum 学习类编号删除 del studyname 学习类书名删除 show yule 显示娱乐类信息 show study 显示学习类信息 save 保存娱乐类文件 load 显示娱乐类文件 Menu 菜单 main 主函数 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 8 页 3 3 系统执行流程系统执行流程 1 主页面流程图如图 1 图 1 主页面流程图 2 顾客登陆 简述 用户在图书销售系统里顾客登陆并查询图书内容 基本流程 1 顾客 在图书销售系统画面 选择顾客登陆 显示图书基本信息 按提 示内容进行查找 2 查询 顾客在图书销售系统中能查询图书的信息 3 显示 顾客能在顾客界面能看到最近的图书 4 结束 流程图如图 2 Save1 保存学习类文件 Load1 显示娱乐类文件 saleamounts 销售量的计算 xiugai yule 娱乐类图书的修改 xiugai study 学习类图书的修改 changxiao 娱乐类畅销图书 Changxiao1 学习类畅销图书 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 9 页 图 2 顾客登录流程图 3 收银员登陆 简述 收银员在图书销售系统里能看到图书信息并能修改出售图书的数量 基本流程 1 收银员 在图书销售系统画面 选择收银员登陆 输入密码 进入收银 员界面 2 修改 收银员在图书销售系统中能修改图书的售出情况 3 显示 收银员能在顾客界面能看到最近录入的图书 4 结束 流程图如图 3 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 10 页 图 3 收银员登录流程图 管理员登陆 简述 管理员在图书销售系统填加 删除和查找图书信息 并能显示销售额 基本流程 1 管理员 在图书销售系统画面 选择管理员登陆 输入密码 进入收银 员界面 2 添加 管理员在图书销售系统中能填加图书的基本情况 3 删除 管理员在图书销售系统中能删除图书的基本信息 4 查找 管理员在图书销售系统中能查找图书的基本信息 5 销售额 管理员在图书销售系统中能看到销售额的输出 6 畅销书 管理员在图书销售系统中能查询畅销书 7 结束 流程图如图 4 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 11 页 图 4 管理员登录流程图 5 程序运行结果程序运行结果 管理员登录 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 12 页 在书店开始售书之前先由管理员添加书籍内容 在管理员将需要添加的书 籍添加完毕后顾客还有收银员才能执行自己相应的功能 选择管理员功能会进 入登陆界面 密码输入正确方能进入使用 错误则会返回输入密码界面 直到 密码正确 进入使用界面 按 1 添加娱乐类的图书及相关内容 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 13 页 添加成功后好可以继续按 1 添加娱乐类书籍相关内容 也可按 5 继续添加 学习类的图书 添加完毕后可返回主菜单 11 选项 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 14 页 收银员登录 在主界面按 2 可进入收银员的登录界面 同管理员一样 收银员也一样需 要输入密码 密码对方可进入修改界面 在这里收银员可以对图书的销售情况 进行修改 以便以后对图书销售情况便于管理 输入图书编号 娱乐类 学习类 并且输入将要售出的本数 系统将会显示 图书 娱乐类 学习类 的售后情况 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 15 页 顾客登录 张海东负责 在主界面选择 1 可以进入顾客的使用界面 在这里顾客可以看到所以书籍 娱乐类和学习类 并可以按照编号或者图书名称查询相应图书的详细内容 到此顾客使用功能结束 当然管理员也有对图书查询的功能 对图书的销售情况时时了解 娱乐类图书查询 学习类图书查询 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 16 页 销售额显示 在一段时间后书籍可能售完 这样管理员需要将此类书籍删除 以免误导 顾客 在图书删除后 顾客在查询系统中将不会再查询到相关的内容 娱乐类图书删除 学习类图书删除 管理员在执行完所有的步骤后可以选择回到住界面 也可以选择退出系统 回到主界面选择 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 17 页 退出系统选择 6 设计总结设计总结 1 完成本课题花了很长的时间 真正体会了作为一个程序员的辛苦 并 且必须具备细心 耐心的品质 想要完成一项出色的项目 必须精益求精 反 复操作与实践 2 在做了本课程设计以后 我对 C 的了解更深了 很多知识得到了巩 固 一些不懂的知识也渐渐明了 这其中主要是对指针的使用收获很多 在指 针使用的过程中 对指针的指向以及对各函数中指针的赋值会影响到整个程序 的运行 还有就是对文件的输入输出流了解得更透彻了 知道了打开一个文件 后必须还要对其关闭 否则程序无法运行 对各种文件的输入输出控制符都能 基本融会贯通 3 虽然本课题已完成 可是还是存在一些问题 比如说界面还不够好看 为了用户用得舒服 界面是很重要的 参考文献参考文献 郑莉等编著 C 语言程序设计 清华大学出版社 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 18 页 郑莉等编著 C 语言程序设计习题与实验指导 清华大学出版社 张基温编著 C 程序设计基础例题与习题 高等教育出版社 黄明等编著 面向对象程序设计习题详解 机械工业出版社 附录附录 源代码 include include include include using namespace std const int Maxr 100 const int Maxb 100 const int Maxbor 5 class Reader private int tag int no char name 10 int borbook Maxbor public Reader char getname return name int gettag return tag int getno return no void setname char na strcpy name na 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 19 页 void delbook tag 1 void addreader int n char na tag 0 no n strcpy name na for int i 0 i Maxbor i borbook i 0 void borrowbook int bookid for int i 0 i Maxbor i if borbook i 0 borbook i bookid return int retbook int bookid for int i 0 i Maxbor i if borbook i bookid borbook i 0 return 1 return 0 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 20 页 void disp cout setw 5 no setw 10 name 借书编号 for int i 0 i Maxbor i if borbook i 0 cout borbook i cout endl class RDatabase private int top Reader read Maxr public RDatabase Reader s top 1 fstream file reader txt ios in while 1 file read char if file break top read top s file close void clear 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 21 页 top 1 int addreader int n char na Reader p query n if p NULL top read top addreader n na return 1 return 0 Reader query int readerid for int i 0 i top i if read i getno readerid return NULL void disp for int i 0 i top i read i disp void readerdata RDatabase fstream file reader txt ios out for int i 0 i top i 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 22 页 if read i gettag 0 file write char file close void RDatabase readerdata char choice char rname 20 int readerid Reader r while choice 0 cout 欢迎使用图书销售管理系统终极版 choice switch choice case 1 cout readerid cout rname addreader readerid rname break case 2 cout readerid r query readerid if r NULL cout 顾客 endl break 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 23 页 cout rname r setname rname break case 3 cout readerid r query readerid if r NULL cout 该图书不存在 delbook break case 4 cout readerid r query readerid if r NULL cout 该图书不存在 disp break case 5 disp break case 6 clear break default cout 输入错误 请从新输入 break 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 24 页 class Book private int tag int no char name 20 int onshelf public Book char getname return name int getno return no int gettag return tag void setname char na strcpy name na void delbook tag 1 void addbook int n char na tag 0 no n strcpy name na onshelf 1 int borrowbook if onshelf 1 onshelf 0 return 1 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 25 页 return 0 void retbook onshelf 1 void disp cout setw 6 no setw 18 name setw 10 onshelf 1 缺货 endl class BDatabase private int top Book book Maxb public BDatabase Book b top 1 fstream file book txt ios in while 1 file read char if file break top book top b file close 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 26 页 void clear top 1 int addbook int n char na Book p query n if NULL p top book top addbook n na return 1 return 0 Book query int bookid for int i 0 i top i if book i getno bookid return NULL void bookdata void disp for int i 0 i top i if book i gettag 0 book i disp BDatabase fstream file book txt ios out 长 春 大 学 毕业设计 论文 纸 装 订 线 共 3 1 页 第 27 页 for int i 0 i top i if book i gettag 0 file write char file close void BDatabase bookdata char choice char bname 40 int bookid Book b while choice 0 cout n n n t t t 图 书 维 护 endl choice switch choice case 1 cout 输入图书编号 bookid cout 输入图书书名 bname addbook bookid bname break case 2 cout 输入图书编号 bookid b query bookid if b NULL cout 该图书缺货 endl break 长
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 培训课件 养老中心
- 车辆保养培训课件
- 心理健康在创业教育中的重要性
- 智能课堂打造高效学习新模式
- 探索教育心理学与现代科技在提升学习效果中的应用
- 教育心理学与创意课程的结合实践探索
- 中考语文写作专题《最动听的声音》范文6篇
- 抖音商户直播售后服务响应时限制度
- 全球教育变革中2025年跨文化交流能力培养的创新模式研究
- 八大城市教育行业教育培训机构市场调研与消费者需求分析报告
- 报废汽车回收拆解前景
- 2025年广东省中考生物试卷真题(含答案解析)
- 第10课+辽夏金元的统治(大概念教学课件)2024-2025学年高一历史上册教学课件(统编版2019)
- 中国聚丙烯酰胺行业市场发展分析及前景趋势与投资研究报告2025-2028版
- 青年教师教学工作坊组织计划
- 驻非洲员工管理制度
- 工程内业资料管理制度
- 摩托车协议过户协议书
- 四川省德阳市2025年七年级下学期语文期末试卷及答案
- 黎族文化课件
- 中华人民共和国民营经济促进法
评论
0/150
提交评论