落后的无策略模式收费系统案例

简介: 一、案例需求: 使用面向对象方法设计一个商店收银系统。完成最基本的商品买卖收费统计问题。   1、最落后、原始写法 点击(此处)折叠或打开using System; using System.

一、案例需求:

使用面向对象方法设计一个商店收银系统。完成最基本的商品买卖收费统计问题。

 

1、最落后、原始写法


点击(此处)折叠或打开

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;

  9. namespace Sale
  10. {
  11.     public partial class Form1 : Form
  12.     {
  13.         public double total = 0;

  14.         public Form1()
  15.         {
  16.             InitializeComponent();
  17.         }

  18.         private void button1_Click(object sender, EventArgs e)
  19.         {
  20.             double astract_total = Convert.ToDouble(textBox1.Text) * \
  21.    Convert.ToDouble(textBox2.Text);
  22.             listBox1.Items.Add(textBox3.Text + ": 单价 " + textBox1.Text \
  23. + ",数量 " + textBox2.Text);
  24.             total += count_1_actual_total(astract_total, \
  25.   Convert.ToDouble(textBox4.Text), \
  26.   Convert.ToDouble(textBox5.Text), \
  27.   Convert.ToDouble(textBox6.Text));

  28.             label4.Text = Convert.ToString(total) + "元";
  29.         }

  30.         private void button2_Click(object sender, EventArgs e)
  31.         {
  32.             textBox1.Text = "";
  33.             textBox2.Text = "";
  34.             textBox3.Text = "";
  35.         }

  36.         private double count_1_actual_total(double astract_total,\
  37.     double discount, \
  38.                                             double number_a, \
  39.       double number_b)
  40.         {
  41.             double actual_total = 0;
  42.             double tmp_total = astract_total * (discount / (double)10.0);

  43.             if (tmp_total >= number_a)
  44.             {
  45.                 actual_total = tmp_total - number_b;
  46.             }
  47.             else
  48.             {
  49.                 actual_total = tmp_total;
  50.             }

  51.             return actual_total;
  52.         }

  53.     }
  54. }


 2、运行效果

image


3、案例代码

zip.gif Sale.zip   


二、本实现方法存在问题分析


这种基本是最原始的面向过程式的写法,没有充分利用面向对象的强大功能。它存在几个弊端:这时基本没有面向对象的概念。其他问题保留,因为貌似也基本实现了需求。

相关文章
|
机器学习/深度学习 人工智能 算法
人工智能的伦理困境与未来挑战
【8月更文挑战第13天】 本文旨在探讨人工智能技术发展过程中所面临的伦理问题和未来的挑战。随着AI技术的不断进步,其在社会中的作用日益重要,但同时也引发了一系列伦理问题,如隐私保护、自动化失业、算法偏见等。文章将分析这些伦理问题的具体表现,并讨论如何在技术创新的同时,确保AI的发展能够符合社会伦理标准,促进人类社会的和谐发展。
213 0
|
7月前
|
人工智能 自然语言处理 搜索推荐
告别加班!用DeepSeek搭建全自动爆款图文工厂
随着人工智能技术的飞速发展,图文创作迎来了革命性飞跃。DeepSeek作为强大的AI工具,可批量生成高质量图文笔记,精准适配小红书、抖音、B站等平台。通过明确选题、撰写提示词,用户能轻松定制内容风格,涵盖字体、背景、颜色等多方面细节。从注册登录到生成HTML代码,再到优化处理图片,DeepSeek为创作者提供了全流程支持,助力打造爆款内容。无论是分析爆款笔记还是二次创作,DeepSeek都能大幅提升效率,引领潮流风向标。
316 25
|
11月前
|
安全 前端开发 Java
SpringBoot之HiddenHttpMethodFilter
`HiddenHttpMethodFilter`在SpringBoot中的应用,极大地方便了开发者在HTML表单中使用PUT、DELETE等方法。通过本文的介绍,希望能够帮助开发者理解和配置 `HiddenHttpMethodFilter`,从而更好地利用SpringBoot的功能来实现复杂的HTTP请求操作。在实际应用中,注意安全性防护,确保系统的稳定和安全。
152 2
|
11月前
|
设计模式 安全 Java
Java 多线程并发编程
Java多线程并发编程是指在Java程序中使用多个线程同时执行,以提高程序的运行效率和响应速度。通过合理管理和调度线程,可以充分利用多核处理器资源,实现高效的任务处理。本内容将介绍Java多线程的基础概念、实现方式及常见问题解决方法。
364 1
|
机器学习/深度学习 Serverless API
函数计算操作报错合集之调用SDK报错 "InvalidAction.Mismatch",该怎么办
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
174 1
|
图形学 C# 开发者
全面掌握Unity游戏开发核心技术:C#脚本编程从入门到精通——详解生命周期方法、事件处理与面向对象设计,助你打造高效稳定的互动娱乐体验
【8月更文挑战第31天】Unity 是一款强大的游戏开发平台,支持多种编程语言,其中 C# 最为常用。本文介绍 C# 在 Unity 中的应用,涵盖脚本生命周期、常用函数、事件处理及面向对象编程等核心概念。通过具体示例,展示如何编写有效的 C# 脚本,包括 Start、Update 和 LateUpdate 等生命周期方法,以及碰撞检测和类继承等高级技巧,帮助开发者掌握 Unity 脚本编程基础,提升游戏开发效率。
555 0
|
数据采集 机器学习/深度学习 文字识别
OCR -- 文本检测 - 训练DB文字检测模型
OCR -- 文本检测 - 训练DB文字检测模型
352 0
|
机器学习/深度学习 算法 数据可视化
【Python机器学习】实验08 K-means无监督聚类 2
【Python机器学习】实验08 K-means无监督聚类
381 0
|
机器学习/深度学习 数据采集 PyTorch
Pytorch贝叶斯深度学习库BLiTZ实现LSTM预测时序数据(一)
Pytorch贝叶斯深度学习库BLiTZ实现LSTM预测时序数据(一)
788 1
Pytorch贝叶斯深度学习库BLiTZ实现LSTM预测时序数据(一)
|
域名解析 XML 网络协议
freeswitch conf/sip_profiles/internal.xml 说明(上)
conf/sip_profiles/internal.xml说明 internal.xml
1293 0