项目1-水果超市管理系统-学生

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

友情提示:部分程序功能及相关内容要求等,会在后续进行适当调整,敬请关注每次实验最后一题的内容。

实验一程序结构

知识点

常量和变量,基本数据类型,输入输出,控制语句(顺序、分支、循环),简单源程序框架

背景

水果超市是近年来兴起的一种水果经营方式,在水果超市中购买水果就像在超市购物一样,可以任意挑选自己喜欢的水果,付账时电脑计费,统一打印小票,不满意的水果可以包退、包换。由于水果超市具有价格低廉、品种丰富、购买感觉较好、够档次、有品味、遍历、服务快捷的优势,越来越多的消费者喜欢在水果超市中购买水果。这种水果的经营方式逐渐被消费者接受,基本取代了传统的水果经营模式。

系统功能介绍

一个软件系统的设计和开发通常从用户需求分析开始,通过总体设计、详细设计和代码编写形成城乡,经过系统测试和调试、修改工作,最终完善系统并交付用户正式使用。

水果超市的管理流程比较简单,主要完成水果的进货和销售、实现销售情况的查询等。因为多数同学熟悉在水果超市购买水果的过程,因此这里将侧重于水果的销售过程,而简化水果的进货过程。作为水果超市管理系统的用户,他们希望系统能够向顾客展示超市水果的进步信息,如水果的名称、售价等;同时还希望系统为顾客提供方便的选购水果、退货以及结账的服务。另外,作为超市的业主,他们也希望实时了解超市的运营情况,每天的销售额以及获利情况。基于客户的这种需求,本系统主要实现3部分的功能,分别是记录简单进货情况的基本数据管理功能,顾客选购水果、退货和结账服务的日常业务活动的管理功能,以及超市经营情况的信息查询服务功能,如图所示。

基础数据部分完成水果基本信息的初始化,包括水果的编号、名称、进价和售价等信息的录入。本系统将水果分成两类,一类是正价水果,另一类是进行促销活动的特价水果。在水果基本信息初始化模块中要完成所有水果基本信息的录入,这些数据将为日后的日常销售和信息查询功能的实现提供必要的基础信息。

水果超市管理系统功能模块

日常业务管理部分包括选购水果、退货和结账3个模块功能,顾客进入超市后系统将系统将为其自动生成一个空的购物车,当顾客选到要买的水果后,系统将由选购水果功能模块将所选的水果编号、名称和数量信息加入顾客的购物车中。顾客对所选的某种水果不满意时可用退货模块,将购物车中的该商品删掉。当顾客完成水果的选购之后,系统进入结账功能模块,根据顾客购物车中的水果名称、数量和基础数据部分录入的水果售价计算出顾客应付的金额。顾客付完钱后系统将清空购物车,同时系统内部会降这笔水果销售的金额累加到销售总额中,并根据水果的进价计算出利润,也累加到利润总额中,为后面的信息查询模块提供数据。

信息查询模块提供了水果销售总额和利润总额的查询,以便于业主及时掌握超市的经营情况。

系统菜单的设计

菜单作为系统和用户之间进行沟通的桥梁具有方便、直接的特点,因此目前多数软件系统均采用菜单模式进行功能的选择。用户使用软件系统首先从菜单开始,一个友好的系统菜单能够比较容易地让用户接受系统,方便用户使用。菜单设计的目的就是向用户全面展示系统功能,同时方便用户对系统的操作。水果超市管理系统的菜单除了提供图中所示的所有功能外,为了便于用户的操作,还为每项功能提供了对应的字符表示。

使用水果超市管理系统的用户需要在系统提供的各项功能中进行反复选择,比如每个顾客购买水果都需要进行水果的选择和结账的服务,业主可能经常要查看销售信息等,因此菜单的设计综合使用了循环结构和多条件选择结构语句。

系统运行后,首先向用户展示系统菜单,列出各种功能,用户根据需要进行选择,系统自动完成所选功能的调用:每项功能执行完,用户可以根据自己的需求从系统菜单中再次选择其他操作。本次实验中只介绍系统菜单的设计和实现,因此和菜单对应的各功能仅通过示意性的函数调用来实现,而没有给出具体的函数。同学请注意,以下程序只能在VC6.0系统中编译通过,并不能连接形成可执行文件。通过这次实验,同学们应掌握使用程序开发的基本方法,程序的基本框架,在后面的实验过程中以此为基础,逐步完善程序功能。 水果超市管理系统

基础数据 日常业务 信息查询

水果

基本

信息

初始

化 选购水果 退货 结账 销售额查询 利润查询

水果超市管理系统菜单设计——程序

实验二数组和指针

知识点:

数组,指针,指针和引用在函数中的作用,结构体

分析:

水果超市要销售多种水果就必须保存水果的很多信息,那么如何保存这些水果的基本信息呢?我们自然会想到数组,因为数组是存放相同类型数据的最佳工具,便于信息的存放、查询和管理。本次实验就是用数组来存放超市中的水果信息,并进行水果信息的显示和查询。

设计:

在该例中我们定义了Fruit结构体,用来表示水果,记录水果的名称和售价:并定义数组FruitKind,用来存放超市中所有水果的信息。在水果信息的录入和显示中用数组的下标形式表示数组中的元素:在水果信息的查询函数中,通过指针fk的移动来表示数组中的各个元素。

实验三函数

知识点:

结构体,函数重载,全局变量和局部变量

1、分析:

一个水果超市管理系统和一个电子商务网站一样,购物车是必须的设计。购物车作为衔接商品和结账流程的中间桥梁,其重要性不言而喻。本次实验中只简单介绍购物车的实现方法和注意事项。

2、设计:

在考虑如何设计购物车时,首先要对购物车作功能的规划。作为购物车,最根本的功能是存储用户所购买商品的信息,另外,还应该有购买种类、数量以及金额等地统计,同时也少不了删除商品等方法。

在该例中,定义一个结构体FruitKind表示水果,每种水果都有名称和单价:用静态数组allfruitkind来存储水果超市中所有的水果信息;用数组car来表示购物车,购物车记录购

买水果的种类、数量以及价钱,其数组元素的类型为定义的结构体类型CartItem,该结构体包括水果的种类、重量和价钱。购物车具有的购买商品、统计金额和删除商品等功能,分别通过函数Add()、DeleteItem()和CheckOut()来实现。为了突出水果超市管理系统中购物车的主要功能,在这里简化了其他功能,如水果种类管理等。在我们的实验中只列举了购物车的3个主要功能——购买商品、统计金额和删除商品。

在本程序中对购物车购买商品、统计金额、删除商品等功能以及显示所购买商品信息分别编写了函数,并且为了使各项功能对当前同一个购物车进行操作,所有这些函数的参数分别选择指针类型和引用类型,从而使函数内的变化反映到主函数中的购物车中。

实验四类和对象

知识点:

类的声明,对象的定义和使用,全局变量和局部变量

介绍:

水果超市管理系统采用面向对象的程序设计方法,主要是封装和继承的使用。系统既然要对水果的销售进行管理,必然要在系统中设计若干个类以实现各种管理功能。其中,“水果类(Fruit)”是一个最基本的类,由此派生出“正价水果类(RegularFruit)”和“特价水果类(DiscountFruit)”等;为了实现系统的功能、完成对水果销售的管理,还需要设计“水果总类(FruitKind)”、“购买水果种类(CartItem)”和“购物车类(Cart)”等基本类。

“水果类”Fruit的设计:

在水果超市管理系统中要处理各种各样的水果(利润,正价水果、特价水果,苹果、橘子、香蕉等),无论是哪类水果都具备水果的基本特征,因此可以将各种水果的共性特征抽取出来,形成一个基本类,这就是水果类,包括水果编号、水果名称、水果进价等数据成员以及修改和输出这些数据成员的成员函数等,如表所示。

表“水果类”Fruit成员说明

数据成员成员函数

fruitNumber:水果编号Fruit():构造函数

fruitName:水果名称DispFruitNumber():显示水果编号

purchasePrice:水果进价SetFruitNumber():修改水果编号

GetFruitNumber():获取水果编号

DispFruitName():显示水果名称

SetFruitName():修改水果名称

GetFruitName():获取水果名称

DispPurchasePrice():显示水果进价

SetPurchasePrice():修改水果进价

GetPrice():获取水果进价

相关文档
最新文档