2022年c++简单的商场销售管理系统 .pdf

上传人:Che****ry 文档编号:34883075 上传时间:2022-08-19 格式:PDF 页数:16 大小:247.25KB
返回 下载 相关 举报
2022年c++简单的商场销售管理系统 .pdf_第1页
第1页 / 共16页
2022年c++简单的商场销售管理系统 .pdf_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《2022年c++简单的商场销售管理系统 .pdf》由会员分享,可在线阅读,更多相关《2022年c++简单的商场销售管理系统 .pdf(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、湖南工业职业技术学院C+ 程序设计实训报告姓名 : * 松学号 : 3 4 专业班级:电商 S09-2 系别 :经济管理系指导老师:张 * 设计时间:第 14 周设计地点: 5 - 408 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 16 页 - - - - - - - - - 目录一、实训目的 . 3二、设计内容 . 3三、设计步骤 . 4(1)员工类图 . 4 (2)商品类图 . 5 (3)销售记录类图 . 6 四、工程设计 . 7(1) 、工程代码 . 7 (2

2、)运行结果 . 12 五、实训难点: . 13六、实训心得 . 15名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 16 页 - - - - - - - - - 一、实训目的1、能熟练使用条件判断、循环语句实现编程逻辑。2、能初步用面向对象的思想分析问题域,了解面向对象的分析和面向对象的设计,能确定系统要使用的对象、类、方法、和属性。3、熟练的使用C+编译器实现用户界面、编程逻辑。二、设计内容建立一个简单的商场销售管理系统,主要实现两个方面的功能:人事管理和商品管理。该商

3、场员工有经理一名,仓库管理员一名和售货员若干名。在人事管理方面,该系统可以实现员工信息的输入、输出,当员工职位发生变化时,可以修改员工的记录。此外,还要求系统可以计算员工的工资并存档,并且可以查询员工的工资记录。员工工资的计算方法也分为3 种。对于售货员,他的工资由两部分构成,即固定工资加提成,售货员的固定工资为2000 元,提成为个人当月销售额乘以提成比率5%;经理的工资也由固定工资加提成构成,经理的固定工资为4000 元,提成为当月所在柜组的总营业额科以提成比率千分之五;对应库管,他的工资由固定工资和奖金构成,库管的固定工资为 3000 元,奖金由其当月表现确定,即用户可以自由输入。名师资

4、料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 16 页 - - - - - - - - - 在商品管理方面,要求系统可以实现商品信息的输入、输出。三、设计步骤(1)员工类图Class staff private: int Staffno; char Staffname8; char Staffposition; float Fix,Floatsalary,Sum; public: void Input() void Display(void) void WriteFloats

5、alary() void Count() int Getstaffno() char Getstaffposition() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 16 页 - - - - - - - - - (2)商品类图Class goods private:int Goodsno; char Goodsname8; float Price; public:void Input() float Getprice() int Getgoodsno() 名师资料总

6、结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 16 页 - - - - - - - - - (3)销售记录类图Class salesrecord private:int Staffno,Goodsno; int Amout; public:void Input() int Getstaffno() int Getgoodsno() int Getamout() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精

7、心整理 - - - - - - - 第 6 页,共 16 页 - - - - - - - - - 四、工程设计(1) 、工程代码#include #include / 调用头文件 、#define StaffAmount 3 #define GoodsAmount 2 #define SalesRecordAmount 3 #define Gpercent 0.05 #define Mpercent 0.005 / 分别定义需要输入的员工个数、商品个数、销售记录个数以及提成比率/ class goods / 商品类 goods private: int Goodsno; char Goodsn

8、ame8; float Price; /Goodsno、Goodsname 、Price 分别代表商品编号、名称、销售单价public: void Input(int goodsno,char goodsname,float price); / 定义商品参数函数float Getprice() return Price; / 返回值Price int Getgoodsno() return Goodsno; / 返回值Goodson ; void goods:Input(int goodsno,char goodsname,float price) Goodsno = goodsno; / 商

9、品编号 =goodsno, 通过 Input 函数输入记录strcpy(Goodsname,goodsname); / 将 goodsname的值复制给商品名称名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 16 页 - - - - - - - - - Price = price; / 销售单价 =price, 通过 Input函数输入记录 / class staff / 员工类 staff private: int Staffno; char Staffname8; c

10、har Staffposition; /Staffno、Staffname 、Staffposition 分别是员工编号、姓名、职称float Fix,Floatsalary,Sum; /Fix 、 Floatsalary 、 Sum分别是固定工资,提成和工资总额public: void Input(int staffno,char staffname,char staffposition,float fix,float floatsalary); / 定义员工参数函数void Display(void) / 输出函数(输出员工的编号、姓名、职位、固定工资、提成工资和工资总额) coutSta

11、ffnotStaffnametStaffpositiont; coutFixtFloatsalarytSumn; void WriteFloatsalary(float floatsalary) Floatsalary = floatsalary; / 提成 void Count() Sum = Fix + Floatsalary; / 工资总额 =固定工资 +提成 int Getstaffno() return Staffno; / 返回值 Staffno char Getstaffposition() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -

12、 - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 16 页 - - - - - - - - - return Staffposition; / 返回值 Staffposition ; void staff:Input(int staffno,char staffname,char staffposition,float fix,float floatsalary) Staffno = staffno; strcpy(Staffname,staffname); Staffposition = staffposition; Fix = fix; Floatsala

13、ry = floatsalary; / class salesrecord / 销售记录类 salesrecord private: int Staffno,Goodsno; int Amout; /Amout 是销售数量public: void Input(int staffno,int goodsno,int amout); int Getstaffno() return Staffno; int Getgoodsno() return Goodsno; int Getamout() return Amout; ; void salesrecord:Input(int staffno,in

14、t goodsno,int amout) Staffno = staffno; Goodsno = goodsno; Amout = amout; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 16 页 - - - - - - - - - / void main() staff staff1StaffAmount; goods goods1GoodsAmount; salesrecord salesrecord1SalesRecordAmount; int goodsn

15、o; char goodsname8; float price; int staffno; char staffname8; char staffposition; float fix; float floatsalary; int amout; int i,j,k; cout请输入GoodsAmount 个商品的 编号、 名称以及 销售单 价: n; for(i=0;igoodsnogoodsnameprice; / 写入商品的编号、名称以及销售单价goods1i.Input(goodsno,goodsname,price); cout请输入 StaffAmount 个员工编号、姓名、职位(

16、 ABC分别代表营业员、经理、库管) ; cout固定工资 ,库管的提成工资 : n; for(i=0;istaffnostaffnamestaffpositionfixfloatsalary; / 写入员工编号、姓名、职位staff1i.Input(staffno,staffname,staffposition,fix,floatsalary); cout请输入 SalesRecordAmount 个销售记录, 包括员工编号、 商品编号以及销售数量 : n; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -

17、 - - - - - 第 10 页,共 16 页 - - - - - - - - - for(i=0;istaffnogoodsnoamout; / 写入员工编号、商品编号、销售数量、固定工资和提成工资salesrecord1i.Input(staffno,goodsno,amout); float salesamout; for(i=0;iStaffAmount;i+) / 建立循环,通过循环实现员工职位不同时提成的计算 salesamout = 0; if(staff1i.Getstaffposition() = A) for(j=0;jSalesRecordAmount;j+) if(s

18、taff1i.Getstaffno() = salesrecord1j.Getstaffno() for(k=0;kGoodsAmount;k+) if(salesrecord1j.Getgoodsno() = goods1k.Getgoodsno() salesamout += salesrecord1j.Getamout() * goods1k.Getprice(); break; else continue; staff1i.WriteFloatsalary(salesamout * Gpercent); else if(staff1i.Getstaffposition() = B) f

19、or(j=0;jSalesRecordAmount;j+) for(k=0;kGoodsAmount;k+) if(salesrecord1j.Getgoodsno() = goods1k.Getgoodsno() salesamout += salesrecord1j.Getamout() * 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 16 页 - - - - - - - - - goods1k.Getprice(); break; staff1i.WriteF

20、loatsalary(salesamout * Mpercent); staff1i.Count(); / 调用 Count函数计算工资总额 cout输出StaffAmount个员工的编号、姓名、职位、固定工资、提成工资和工资总额 : n; for(i=0;iStaffAmount;i+) staff1i.Display(); / 通过调用函数 Display输出数据 (2)运行结果名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 16 页 - - - - - - - -

21、 - 五、实训难点:本次实训工程主要通过面向对象中的类与对象实现,通过题目要求找出需要使用的对象和类,其中使用了三个类分别是商品类( class goods)员工类( class staff)销售记录类(class salesrecord) 。其中商品类定义的对象是goods1,员工类定义的对象是staff1,销售类定义的对象是salesrecord1。在商品类中,在主函数中输入商品编号、名称和单价,并调用Input()输入到数据成员Goodsno,Goodsname,Price 中。在销售记录类中需要提供写入销售数量(Amout )并写获得员工编号和商品编号的返回值。在员工类中,在主函数中输

22、入员工编号,姓名,职称,固定工资,提成,并调用Input() 输入到数据成员Staffno,Staffname,Staffposition,Fix中。难点是提成(Floatsalary)是与商品销售额相关联的,商品销售额等于商品销售单价乘数量,因为提成与商品单价和数量间接关联的因此不能直接从键盘上取得数据。接下来因为要计算提成就的算出商品销售额(salesamount),计算商品销售额时用到了条件判断和循环语句:当职称等于A 并且销售记录中的员工编号及商品编号分别和员工类中员工的编号及商品类中 的 商 品 编 号 一 致 时 商 品 销 售 额 公 式 : “ salesamout += sa

23、lesrecord1j.Getamout() * goods1k.Getprice() ” , 提 成 :“ staff1i.WriteFloatsalary(salesamout * Gpercent) ” 其 中名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 16 页 - - - - - - - - - Gpercent=5% 。 同 理 算 出 职 称 为 B 的 员 工 的 提 成“ staff1i.WriteFloatsalary(salesamout * M

24、percent) ” 其 中Mpercent=0.5%。算出提成后就可以算出工资总额:Sum = Fix + Floatsalary。 因为库管的提成 C 是直接输入的, 不需要计算,所以库管的工资总额可以直接用公式:Sum = Fix + Floatsalary计算。最后在进行所有数据输出时用到了Display,首先在 staff类中的公有数据中写入如下代码:void Display(void) coutStaffnotStaffnametStaffpositiont; coutFixtFloatsalarytSumn; 然后在 void main()里面调用:For(i=0;iStaffA

25、mount;i+) Staff1i.Display(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 16 页 - - - - - - - - - 六、实训心得通过这次实训,我清楚的认识到了c+是一门很庞大的学科,同时也是一种非常简洁高效的语言,它能使程序中各个模块独立,当需要用到某个函数时再进行调用,这样程序的可读性就增强了,而且代码也更加合理,合理的结构同时也方便学习其它优秀的作品。就拿这次实训来说, 三个类(商品类,员工类,销售记录类)是至关重要的,它们可以写

26、在一个 .cpp 文件里面同时也可以另外写到一个.h 的头文件里面,在写程序的时候再进行调用。实训真的很能锻炼人,平时上课都是讲的基础知识,上机也只是编写的小程序,不能把知识融会贯通。然而实训的时候是编写的一个小系统,把所学的知识都联系起来了,所以刚刚看到要求时是觉得有很大的难度的,毕竟是第一次编写一个商场销售管理系统。但是想到有志者事竞成,只要敢于思考敢于尝试,按步骤一步一步来也是能编写出程序的。于是我首先把程序类图先画了出来,把程序基本结构勾勒出来,而后编写主函数,在主函数里面定义了三个对象,然后考虑提成的代码怎么写。然而这里我就遇到了困难,提成的计算是要与员工编号和商品编号关联起来的,因

27、此就用到了for 语句和循环语句,因为我刚刚入门c+,基本工还不足,能力还很弱,所以良久没有写出循环语句,最后还是在老师名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 16 页 - - - - - - - - - 的代码帮助下学习到了代码的写法继而完成了程序的编写。由于自己的不足,我意识到以后学习还要更加努力,不懂时多问老师多向同学学习。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 16 页 - - - - - - - - -

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

当前位置:首页 > 教育专区 > 高考资料

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

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