题目
模拟超市收银系统
内容要求:使用文本命令行窗口设计模拟超市收银系统。要求由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。从文件中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交文件存储以供查询。另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个未持卡顾客一次性购物满200元,可为其发放一张会员卡,以后在该商场购物可获得9折优惠。
目的
通过设置实际问题情境,培养学生应用面向对象思维与分析设计方法解决问题、并运用集成化开发工具进行面向对象设计的能力。并且初步具备编写项目文档的能力。学生根据所选题目要求设计代码,培养学生的独立完成代码的能力,并为以后做准备,学生可以通过这次课程设计,总结课程设计的问题和经验。
进度安排及主要内容:
需求分析:程序中应实现输入会员卡号(若有卡)输入商品信息,并计算该收银台的销售总量和顾客的消费情况,对于没有会员卡的顾客,不记录顾客的消费信息,但可以输出订单信息,若消费超过200元,为其发放会员卡等功能。
- 建立三个类
- Order类:定义String name,number,price,total,方法Order,toString.
- Product类:定义:String no,name,price,number方法Product,toString
- Menu类:首先初始化会员卡,然后为会员卡增加编号,输入商品的编号,名称,价格,剩余量等信息。利用while循化,输出收银系统的各个功能,利用try-catch语句,以防输入错误,并可以重新输入。当输入1时,用if语句当输入正确的卡号,继续执行,否则重新输入。当输入2时,用while和if语句输入购买商品的信息,并计算价格,添加到订单中。输入3,结算,打印订单并查看是否有会员卡,若没有查看金额是否超过200,超过发放一张会员卡。输入4结束。
- 程序调试及结果
有会员卡的顾客:
无会员卡的顾客:
总结:本次课程设计让我深刻认识到了自己的不足,在写代码的时候错误百出。尤其是这是我第一次书写这么长的程序,在开始并没有想好具体怎么实现这些功能。在今后的学习中,我要改正自己在这次课程设计中犯下的错误,在重要的地方书写注释。总之这次课程设计是我java这一门语言认识更深。