超市现存货物管理.docVIP

  • 2
  • 0
  • 约4.63千字
  • 约 16页
  • 2018-06-08 发布于贵州
  • 举报
超市现存货物管理

课 程 设 计 题 目: 超市管理系统 学 生 姓 名: 学 院: 信息数理学院 专 业 班 级: 学 号: 指 导 教 师: 设 计 时 间: 2014年12月29日(2015年1月8日 目录 课程设计目的 课程设计的要求 设计思路及流程图 功能函数的作用 源代码 程序截图 心得总结 课程设计目的: 本课程设计是在大学本科二年级上学期,学完《面向对象程序设计(C++语言)》课程之后,进行的一项综合课程设计: 理解“面向对象程序设计”的思想方法和知识点 强化对于面向对象程序设计方法的理解与实践 巩固和加深学生对C++语言课程的基本知识的理解和掌握 掌握面向对象的抽象性、封装性、继承性和多态性等重要特点 二、课程设计要求: 1.基于面向对象的抽象性、封装性、继承性和多态性等重要特点,逐级设计相关超市货品的属性,包括:货号,货名,型号,进货价,库存量,经办人。例如超市货品分为生活用品、小家电、常见食品等等。 2. 具体要求: (1)主菜单设计 (2)记录输入:对每一个货物的货号、货名、型号、进货价、库存量、经办人,进行输入并存储在数据文件中。 (3)显示记录:以列表方式显示全部记录 (4)维护记录。能够实现添加、删除、修改货物记录,结果存储到文件中。修改纪录可以对任意记录的数据进行修改并在修改前后对记录内容进行显示;删除记录可以删除文件中的任意一个纪录。 (5)查询记录。根据货号、货名、型号、经办人等查询货物的信息。如:根据货号显示一种货物的记录;根据货名显示记录;根据经办人显示其所有经办的货物,可能有多种货物。 (6)统计记录。计算每种货物的总价值,并以列表的方式显示;计算某经办人的经办货物数量。 (7)设计货物数据记录,基本与实践情况相似,记录数不少于10条,能反应以上所有要求。 三、设计思路及流程图 首先,先建立一个超市的基类,在基类中定义一个公有的接口,稍后定义一个派生类并在派生类中对基类的虚函数进行功能实现。 在派生类中所具有的功能包括: 添加商品 查询商品 修改商品 统计商品 删除商品 各个功能划分的的子功能: 添加函数区分为不同类别储存 查询函数分为按查询码查询,和按操作人查询 修改函数可有多种修改方式 统计分为按查询码统计和按类别统计,以及全部输出 进行了+的重载 运用flag标识符来辨别类的区别 运用C++文件流进行文件存储 主流程图: 统计的流程图: 修改流程图: 四、源代码 基类 class Supmarket//定义纯虚函数接口 { public: virtual void Add()=0; //增加商品 virtual void Add_up()=0; //统计商品 virtual void Delete()=0; //删除商品 virtual void Change()=0; //修改商品 virtual void Search()=0; //查询商品 }; class Goods:public Supmarket//派生类 { protected: int flag; char goods_name[50]; //商品名称 double goods_number; //商品查询货号 char goods_type[50]; //商品型号 char person_name[30]; //经办人 int price; //进货价 double amount; //库存量 static int count; public: void setdata(); void ShowData(); void Add(); //增加商品 void Add_up(); //统计商品 void Delete(); //删除商品 void Change(); //修改商品 void Search(); //查询商品 friend double operator +(const double i,const Goods d);//重载+号 Goods() { flag=0; goods_name[0]=\0; goods_number=0; goods_type[0]=\0; person_name[0]=\0; price=0; amount=0; } }; int Goods::count=0; 加号的重载: double operator +(const double i, const Goods d) { return i+d.amount *d.p

文档评论(0)

1亿VIP精品文档

相关文档