zoukankan      html  css  js  c++  java
  • C#简易商城收银系统v1.0(2-1)

    C#简易商城收银系统v1.0(2-1)

    1. 当初:

      • 面向编程对象的好处及应用简单工厂模式(继承,多态)
    2. 现在:

      • 制作一个简易的收银窗体应用程序


    可以参考之前的 计算器 随笔

    创建窗体程序

    
    

    客户端代码

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    namespace 商城收银软件
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            double total = 0.0d;//声明一个double变量,用total来计算总计
            private void button1_Click(object sender, EventArgs e)
            {
                double totalPrices = Convert.ToDouble(txtPrice.Text) * Convert.ToDouble(txtNum.Text);
    total = total + totalPrices;//将每个商品合计计算出来
    lbxList.Text = "单价:" + txtPrice.Text + "数量:" + txtNum.Text + "合计:" + totalPrices.ToString();  //显示信息
                lblResult.Text = total.ToString();//显示总计数
             }
    }
    }

    实现效果

    现在增加一个打折功能

     

    客户端代码

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace 商城收银软件
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            double total = 0.0d;//声明一个double变量,用total来计算总计
            private void button1_Click(object sender, EventArgs e)
            {
                double totalPrices = 0d;
                switch (cbxType.SelectedIndex)
                {
                    case 0:
                        totalPrices = Convert.ToDouble(txtPrice.Text) * Convert.ToDouble(txtNum.Text);
                        break;
                    case 1:
                        totalPrices = Convert.ToDouble(txtPrice.Text) * Convert.ToDouble(txtNum.Text)*0.8;
                        break;
                    case 2:
                        totalPrices = Convert.ToDouble(txtPrice.Text) * Convert.ToDouble(txtNum.Text)*0.7;
                        break;
                    case 3:
                        totalPrices = Convert.ToDouble(txtPrice.Text) * Convert.ToDouble(txtNum.Text)*0.5;
                        break;
                }
                total = total + totalPrices;
                lbxList.Text = "单价:" + txtPrice.Text + "数量:" + txtNum.Text + " " + cbxType.SelectedItem + "合计:" + totalPrices.ToString();  
                lblResult.Text = total.ToString();
    
    
            }
            private void Form1_Load(object sender, EventArgs e)
            {
                cbxType.Items.AddRange(new object[] { "正常收费", "打八折", "打七折", "打五折" });
                cbxType.SelectedIndex = 0;
            }
    }

    总结

    像Convert.ToDouble()很多这样重复的

    打折的分支可以考虑重构

    客户端实例化出来 只需要更改运算

    可以尝试使用简单工厂实现

    下一篇随笔就用简单工厂来实现商城收银系统v1.0

  • 相关阅读:
    [Windows] 使用SC 命令管理与配置服务
    [SharePoint 2010] SharePoint 2010 部署、收回和删除解决方案----STSADM和PowerShell
    [SharePoint 2010] SharePoint 2010 FBA 配置以及自定义首页
    [Log]ASP.NET之HttpModule 事件执行顺序
    [SQL] 命令远程恢复数据库
    [工具] 各种主流 SQLServer 迁移到 MySQL 工具对比
    [工具] TreeSizeFree 查看每个文件夹的大小
    [APP] Android 开发笔记 006-使用短信验证SDK进行短信验证
    [APP] Android 开发笔记 004-Android常用基本控件使用说明
    [APP] Android 开发笔记 003-使用Ant Release 打包与keystore加密说明
  • 原文地址:https://www.cnblogs.com/zaohuojian/p/11494997.html
Copyright © 2011-2022 走看看