欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    北大青鸟第一单元超市收银管理系统.doc

    • 资源ID:3447437       资源大小:194KB        全文页数:39页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    北大青鸟第一单元超市收银管理系统.doc

    包结构四个包,九个类,一个资源文件客户端类package com.supermarket.Client;/* * 客户端界面 */import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.Scanner;import com.supermarket.Tools.Datas;import com.supermarket.Tools.SysConstans;import com.supermarket.entity.Goods;public class Client /定义扫描器,用于键盘输入public static Scanner input=new Scanner(System.in);/创建客户端业务类对象,调用方法public static ClientB cb=new ClientB();public static void main(String args) doSystem.out.println("*欢迎使用青鸟超市系统*");System.out.println("1.登录"+"n2.退出");System.out.println("*请选择1/2*");String choice=input.next();if(choice.equals("1")/登录视图createLoginView();break;else if(choice.equals("2")/退出System.exit(0);else/输入有误,报错System.out.println("无此选项!");while(true);System.out.println("*谢谢使用青鸟超市系统*");/* * 登录视图 * 通过输入的用户名与密码验证用户身份,管理员则进入管理界面,收银员则进入收银界面,都不是则提示错误,并重新进行输入 */public static void createLoginView()do /提示登录信息System.out.println("请输入用户名:");String name = input.next();System.out.println("请输入密码:");String password = input.next();/调用客户端登录方法,接收返回值,判断登录者的身份Datas datas = cb.doLogin(name, password); /判断是管理员还是收银员if (datas.getFlag().equals(SysConstans.SYS_ADMIN) createAdminView();break; else if (datas.getFlag().equals(SysConstans.SYS_CASHIER) createCashierView();break; else System.out.println("用户名或密码有误,请重新输入"); while (true);/* * 管理员菜单 * 实现管理员功能: * 1.商品入库2.商品出库3.新增商品4.查询全部商品5.按编号查询商品6.退出 */private static void createAdminView() /循环操作/ 管理员菜单System.out.println("管理员登录成功,进入管理员界面");doSystem.out.println("*欢迎进入青鸟超市库存管理系统*");System.out.println("1.商品入库t2.商品出库t3.新增商品t4.查询全部商品t5.按序号查询商品t6.退出");/提示用户选择System.out.println("请输入您的选择");int choice=input.nextInt();switch(choice)/商品入库,调入库方法case 1:/提示输入要入库的编号System.out.println("请输入入库商品编号:");/定义变量接收输入的编号String goodnum=input.next();/调用方法判断库存中是否有要入库的商品if(cb.Find(goodnum).getFlag().equals(SysConstans.SYS_SUCCESS)System.out.println("请输入入库数量:");int count=input.nextInt();if(count>=0)Datas datas=cb.RuKu(goodnum,count);if(datas.getFlag().equals(SysConstans.SYS_SUCCESS)System.out.println("入库成功!");showList(cb.FindAll();elseSystem.out.println("入库数量必须大于0");elseSystem.out.println("无此商品,请选择3新增");break;/商品出库,调出库方法case 2:do/提示输入出库商品编号System.out.println("请选择出库商品编号:");/定义变量接收编号String goodid=input.next();/先查询是否由此商品if(cb.Find(goodid).getFlag().equals(SysConstans.SYS_SUCCESS)/提示输入出库数量System.out.println("请输入出库数量:");int count=input.nextInt();if(count>0)Datas datas=cb.ChuKu(goodid,count);if(datas.getFlag().equals(SysConstans.SYS_LACK)System.out.println("库存不足!");showGood(datas);break;elseSystem.out.println("出库成功!");showList(datas);break;elseSystem.out.println("出库数量必须大于0!");elseSystem.out.println("库存中无此商品,请选择3新增");break;while(true);break;case 3:/新增商品,调新增方法do/提示输入新增商品编号System.out.println("请输入新增商品的编号:");String newgoodid=input.next();if(cb.Find(newgoodid).getFlag().equals(SysConstans.SYS_SUCCESS)System.out.println("商品已存在");break;elseSystem.out.println("请输入商品名称:");String name=input.next();System.out.println("请输入商品单价:");double price=input.nextDouble();System.out.println("请输入商品单位:");String unit=input.next();System.out.println("请输入商品数量:");int count=input.nextInt();Goods good=new Goods(newgoodid,(name+"t"),price,unit,count);/把要新增的商品通过调用方法传给业务类,并接收返回值Datas datas=cb.Add(good);System.out.println("新增商品成功!");/打印商品列表showList(cb.FindAll();break;while(true);break;/查询全部商品的方法case 4:/查询商品,调用showList方法参数为Datas类型,是FindAll传回来的showList(cb.FindAll();break;/按编号查询商品,调按编号查询方法case 5:/提示输入编号System.out.println("请输入要查询的编号:");/定义变量接收输入String id=input.next(); /判断库存中是否存在编号为goodid的商品Datas datas=cb.Find(id); /如果存在,调用方法,打印商品 if(datas.getFlag().equals(SysConstans.SYS_SUCCESS) showGood(datas); else System.out.println("没有此商品"); break;case 6:/退出System.out.println("管理员退出成功!");System.exit(0);default :/提示无此选项System.out.println("无此选项,请重新输入:");while(true);/* * 收银员管理界面. * 实现收银员的功能: * 1.扫描商品2.修改购买商品的数量3.结账4.退出 */收银员管理界面private static void createCashierView() /循环操作收银界面while(true)System.out.println("收银员登录成功,进入收银员界面");System.out.println("*欢迎进入青鸟超市收银管理系统*");System.out.println("1.扫描商品t2.修改数量t3.结账t4.退出");/提示用户输入操作选项System.out.println("请输入您的选择:");int choice=input.nextInt();switch(choice)case 1:/调用扫描方法do/提示输入扫描编号System.out.println("请输入要扫描的商品编号:");String scannum=input.next();/如果查询到编号,说明商品存在,否则商品不存在if(cb.Find(scannum).getFlag().equals(SysConstans.SYS_SUCCESS)/如果商品存在,调用扫描的方法Datas datas=cb.scan(scannum);/判断返回的标识if(datas.getFlag().equals(SysConstans.SYS_SUCCESS)System.out.println("扫描成功");showScan(datas);break;elseSystem.out.println("扫描失败");/showScan(datas);break;elseSystem.out.println("商品不存在!");break;while(true);break;case 2:/修改数量的方法/判断购买列表是否为空if(cb.result().getFlag().equals(SysConstans.SYS_ERROR)System.out.println("购买列表中还没有购买物品!");continue;/循环操作数据do/提示用户输入要修改的编号,并判断购买列表中是否存在此编号System.out.println("请输入要修改的商品编号:");String changeid=input.next();Datas datas=new Datas();/调用方法判断是否存在商品编号if(hasid(changeid)/存在,提示修改数量System.out.println("请输入修改后的数量");int changenum=input.nextInt();if(changenum>1) datas=cb.ChangeCount(changeid,changenum);if(datas.getFlag().equals(SysConstans.SYS_LACK)System.out.println("数量不足,请确认!");showGood(cb.Find(changeid);continue;elseSystem.out.println("修改成功!");showScan(cb.result();break;elseSystem.out.println("购买数量必须大于0!");break;/如果包含,提示修改数量System.out.println("购买列表中无此商品,请核实");continue;while(true);break;case 3:/调用结账方法creatOver();break;case 4:/退出System.out.println("收银员退出系统成功!");System.exit(0);default:/错误提示System.out.println("输入有问题,请重新输入:");/* * 打印商品列表的方法,参数是Datas类型,无返回值 * 通过调用客户端业务类的方法得到返回值,打印商品列表 * param datas */打印商品列表private static void showList(Datas datas)System.out.println("-");System.out.println("商品编号tt商品名称tttt商品单价tt单位tt数量");for(Goods good:datas.getGoodslist()System.out.println(good.getGoodid()+"tt"+good.getGoodname()+"tt"+good.getGoodprice()+"tt"+good.getGoodunit()+"tt"+good.getGoodcount();System.out.println("-");/* * 按编号查询商品的方法.得到返回值,直接打印返回值中的商品 * param datas */打印单个商品private static void showGood(Datas datas)System.out.println("-");System.out.println("商品编号tt商品名称tttt商品单价tt单位tt数量");System.out.println(datas.getGood().getGoodid()+"tt"+datas.getGood().getGoodname()+"tt"+datas.getGood().getGoodprice()+"tt"+datas.getGood().getGoodunit()+"tt"+datas.getGood().getGoodcount();System.out.println("-");/* * 收银员菜单中的扫描商品的方法后打印扫描商品列表的方法 * * param datas */打印扫描商品列表private static void showScan(Datas datas)if(datas.getFlag().equals(SysConstans.SYS_SUCCESS)/定义列表接收扫描后的购买列表ArrayList<Goods> scanlist=datas.getBuylist();/输出商品列表System.out.println("商品编号t商品名称tttt数量tt单价tt金额");System.out.println("-");for(Goods good:scanlist)System.out.println(good.getGoodid()+"t"+good.getGoodname()+"tt"+good.getGoodcount()+"tt"+good.getGoodprice()+"tt"+(good.getGoodprice()*good.getGoodcount();System.out.println("-");/* * 查询购买列表中是否存在要修改数量的商品 * 参数为商品编号,如果存在,返回true.不存在则返回false * param id * return */查询购买列表中是否存在要修改数量商品的编号private static boolean hasid(String id)Datas datas=new Datas();datas.setBuylist(cb.result().getBuylist();for(Goods good:datas.getBuylist()if(good.getGoodid().equals(id)return true;return false;/* * 结账方法,分为普通结账和会员结账 * 普通结账和会员结账,分别调用普通结账方法和会员结账方法 */结账方法private static void creatOver() /首先打印购买列表,算出总金额.调用普通结账,或vip结账double money=sum(cb.result();/System.out.println("您的消费金额是:"+money);/提示选择结账方法if(money!=0)System.out.println("请选择结账方法:");System.out.println("1.普通结账t2.会员结账");int choice=input.nextInt();if(choice=1)/普通会员结账方法System.out.println("您的消费金额是:"+money);doSystem.out.println("请输入金额:");int pay=input.nextInt();if(pay<0)System.out.println("请输入正确金额!");else if(pay<money)System.out.println("金额不足,请确认!");else if(pay>=money)/System.out.println();/结账成功.调用结账方法,打印小票,并跳出结账.Over(money, pay);break;elseSystem.out.println("请输入正确格式:");while(true);else if(choice=2)/vip会员结账方法,会员卡号2011.System.out.println("您的消费金额是:"+money);System.out.print("请输入您的会员卡号:");doint vip = input.nextInt();if(vip=2013)System.out.print("会员卡号正确,请输入您要支付的金额:");int vippay=input.nextInt();if(vippay>0)if(vippay>money)/金额足够时调用vip结账方法VipOver(money, vippay);break;elseSystem.out.println("付款金额不足");elseSystem.out.println("付款金额必须大于0!");elseSystem.out.println("您的会员卡号不正确:");while(true);elseSystem.out.println("无此结账方法");else System.out.println("您还没有扫描商品");/* * 结账时用到的计算购买金额的方法,如果buylist不为空,则返回购买金额.否则返回0. * * param result * return */算出购买总金额的方法private static double sum(Datas result)/首先判断购买列表是否为空,不为空则算出购买金额if(cb.result().getFlag().equals(SysConstans.SYS_SUCCESS)ArrayList <Goods> list=cb.result().getBuylist();double sum=0;/购买总额for(int i=0;i<list.size();i+)sum+=list.get(i).getGoodprice()*list.get(i).getGoodcount();return sum;elsereturn 0;/计算购买数量的方法private static int sumBuyListCount(Datas result)if(cb.result().getFlag().equals(SysConstans.SYS_SUCCESS)ArrayList<Goods> list=cb.result().getBuylist();int goodscount=0;for(int i=0;i<list.size();i+)goodscount+=list.get(i).getGoodcount();return goodscount;elsereturn 0;/* * 普通结账方法.返回结账视图,并清空购买菜单 * param money * param pay */普通用户结账的方法private static void Over(double money,int pay)/首先打印,小票的表头System.out.println("*");System.out.println("tttt青鸟超市");System.out.println("收银员:1001t小票号:" + ticket();/显示购买列表showbuylist();/显示购买金额和购买的数量,结账提示System.out.println("总数量:" + sumBuyListCount(cb.result()+ "ttt应收: " + money);System.out.println("实收: " + pay + "tt找零: " + (pay-money);System.out.println(Date();System.out.println("此小票是您退换货及核对积分的凭证,请妥善保存!");System.out.println("*");/购买列表清空cb.clear();/* * Vip会员结账方法.返回结账视图,累计会员积分,并清空购买菜单 * param money * param pay */vip用户结账方法private static void VipOver(double money,int vippay)/首先打印,小票的表头System.out.println("*");System.out.println("tttt青鸟超市");System.out.println("收银员:1001t小票号:" + ticket();/显示购买列表showbuylist();/显示购买金额和购买的数量,结账提示System.out.println("总数量:" +sumBuyListCount(cb.result() + "ttt应收: " + money);System.out.println("实收: " + vippay + "tt找零: " + (vippay-money);/Vip积分提示System.out.println("本次累计积分成功tt卡号:2011");System.out.println("消费前积分 + 本次消费积分 = 消费后积分");System.out.println(2000+"+"+(int)money+"="+(2000+(int)money);System.out.println(Date();System.out.println("此小票是您退换货及核对积分的凭证,请妥善保存!");System.out.println("*");/购买列表清空cb.clear();/* * 打印购买菜单的方法. */打印购买列表的方法private static void showbuylist()ArrayList <Goods> buylist=cb.result().getBuylist();System.out.println("序tt商品名称(单位)tttt数量tt单价tt金额");System.out.println("-");for(int i=0;i<buylist.size();i+)System.out.println(i+1)+"tt("+buylist.get(i).getGoodid()+")"+buylist.get(i).getGoodname()+buylist.get(i).getGoodunit()+"ttt"+buylist.get(i).getGoodcount()+"tt"+buylist.get(i).getGoodprice()+"tt"+buylist.get(i).getGoodcount()*buylist.get(i).getGoodprice();System.out.println("-");/* * 得到日期的方法,在结账时显示日期用 * return */显示日期的方法private static String Date()Date date=new Date();SimpleDateFormat sdf=new SimpleDateF

    注意事项

    本文(北大青鸟第一单元超市收银管理系统.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开