面向对象程序设计C#(3)——设计一个简单的商场收银台程序

通过上机操作掌握C#中流程控制语句的基本使用方法;掌握if…else、switch 等常用流程控制语句的使用方法。

  • 要求

假设某商场共提供6种商品(编号为001006,单价可自行设置),且规定一次购物满100元可享受9折优惠;一次购物满 300 元可享受 8.5 折优惠;一次购物在 300 元以上可享受8 折优惠。客户购物付款时仅需要连续输入所购商品的编号和数量,程序将自动显示购物清单、折扣率和应付金额。

具体要求如下:

1)若没有输入商品数量,则默认为1。

2)若没有输入商品的编号,直接单击“确定”按钮,则表示统计完毕,屏幕上显示购物金额、折扣率和应付金额。

3)为了防止因用户误单击“确定”按钮导致结算数据重复出现,在显示了结算数据后“确定”按钮呈灰色显示(不可用)。

4)单击“返回”按钮,则清除上次购物详细清单及结算数醒 商场收银程据,将程序恢复到初始状态。

程序运行后显示如图 3-21 所示的页面,在输入了商品编号和数量后单击“确定”按钮,在屏幕上将显示包含有“品名”“单价”“数量”和“小计”的购物详细清单。如果没有输入商品编号直接单击“确定”按钮,在购物清单下方将显示包含有“购物金额”“折扣率”和“应付款”的结算数据,如图 3-22 所示。

5)要求“确定”按钮能响应〈Enter)键,“返回”按钮能响应(Esc〉键。

  • 步骤和内容

1.问题分析

用户输入商品“编号”及“数量”值后,使用 switch 语句对商品“编号”进行判断,从而得到相应的商品名称和单价,根据“数量”计算出小计值并将结果显示到标签控件中。为了得到总购物金额,还需要将小计值累加到内存变量中。

用户未输入编号直接单击“确定”按钮,意味着要求执行结算操作。程序根据累加的小计值得到购物总金额,再根据购物总金额判断出相应的折扣率,最后根据总金额和折扣率计算出应付款值,并将结算数据显示到标签控件中。如果用户输入了不存在的商品编号,则屏幕上显示出错提示信息。

2.设计程序界面

新建一个 Windows 窗体应用程序项目,向窗体中添加3 个标签、2 个文本框和 2 个按钮控件,适当调整各控件的大小及位置。

3.设置对象属性

页面中各控件的初始属性设置如表 3-11所示。

控件的其他初始属性在窗体的装入事件中通过代码进行设置。

4.编写程序代码

代码在后文给出

结果:

  • 总结

本次主要目的是通过设计一个简单的商场收银台程序,加深对面向对象编程的理解,掌握类与对象的设计、创建与使用方法,以及了解实际场景中程序设计的流程与技巧。

在编程实现过程中,我首先创建了商品类,并为其定义了相应的属性和方法。然后,我创建了收银台类,并在其中实现了商品录入、查询和结算等功能。

在测试阶段,我编写了一些测试用例来验证程序的正确性。我模拟了用户购买商品的过程,包括选择商品、修改数量、查询总价以及最终结算等步骤。通过测试,我发现程序能够正确地完成这些操作,并输出正确的结果。

通过本次实验,我深刻体会到了面向对象编程的优势和魅力。通过将现实世界中的事物抽象为类和对象,并使用类之间的关系来描述它们之间的交互,可以使得程序更加易于理解和维护。同时,我也学会了如何使用类和对象来实现复杂的功能,并提高了自己的编程能力。

此外,我还意识到在程序设计中需要注意的一些问题。例如,在定义类和对象时,需要充分考虑其属性和方法的合理性和完整性;在实现功能时,需要注重代码的健壮性和可读性;在测试时,需要尽可能覆盖所有的情况以确保程序的正确性。

通过设计一个简单的商场收银台程序,我不仅加深了对面向对象编程的理解,还提高了自己的编程实践能力。同时,我也认识到了自己在程序设计方面还存在一些不足之处,需要继续努力学习和提高。

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gluu算法大师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值