C#实现商品信息的键盘输入并对输入内容进行异常处理(实验四)

news/2024/7/3 7:04:55

任务要求:

在进销存管理系统中,商品的库存信息有很多种类,比如商品型号、商品名称、商品库存量等。在面向对象编程中,这些商品的信息可以存储到属性中,然后当需要使用这些信息时,再从对应的属性中读取出来。这里要求定义库存商品结构,并输出库存商品的信息

整体框架:

实现步骤:

第一步:创建cstockInfo类,并设置如下变量:

第二步:按照如下内容定义商品的13个属性。

 

 

 

 

 

第三步:创建cstockInfo类构造函数,并对商品属性进行初始化

第四步:创建显示商品信息函数

第五步:Main函数中输出标题

第六步:创建商品对象,从键盘输入商品编号、单位全称、商品型号、库存数量四个数据,并显示商品信息(自行补充)

第九步:实现对商品输入内容的约束并进行异常处理。(自行补充)

1、库存数量:数字,区间范围:1-1000

2、商品规格:“字符”+“-”+“数字”组成。如:TYPE-3

第九步:实现对商品信息多次输入,并进行判断,输入“q”退出程序。(自行补充)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Title = "商品的库存信息显示";
            Console.WriteLine("库存盘点信息如下:");
            cStockInfo csi1 = new cStockInfo();
            csi1.TradeCode = "TJRA001";
            csi1.FullName = "空调";
            csi1.TradeType = "TYPE-1";
            csi1.Standard = "2匹";
            csi1.Unit = "台";
            csi1.Produce = "天津";
            csi1.Qty = 200;
            csi1.Price = 2000;
            csi1.AveragePrice = 2500;
            csi1.SalePrice = 3000;
            csi1.Check = 200;
            csi1.UpperLimit = 800;
            csi1.LowerLimit = 200;
            csi1.ShowInfo();
            cStockInfo csi2 = new cStockInfo();
            csi2.TradeCode = "TJRA002";
            csi2.FullName = "空调";
            csi2.TradeType = "TYPE-2";
            csi2.Standard = "1.5匹";
            csi2.Unit = "台";
            csi2.Produce = "天津";
            csi2.Qty = 300;
            csi2.Price = 3000;
            csi2.AveragePrice = 3500;
            csi2.SalePrice = 4000;
            csi2.Check = 290;
            csi2.ShowInfo();
            cStockInfo csi3 = new cStockInfo();
            csi3.TradeCode = "TJRA003";
            csi3.TradeType = "TYPE-3";
            int s;
            s = Convert.ToInt32(Console.ReadLine());
            csi3.Qty = s;
            csi3.ShowInfo();
            Console.ReadLine();
        }
    }
    public class cStockInfo
    {
        private string tradecode = "";
        private string fullname = "";
        private string tradetype = "";
        private string standard = "";
        private string tradeunit = "";
        private string produce = "";
        private float qty = 0;
        private float price = 0;
        private float averageprice = 0;
        private float saleprice = 0;
        private float check = 0;
        private float upperlimit = 0;
        private float lowerlimit = 0;
        public string TradeCode
        {
            get { return tradecode; }
            set { tradecode = value; }
        }
        public string FullName
        {
            get { return fullname; }
            set { fullname = value; }
        }
        public string TradeType
        {
            get { return tradetype; }
            set { tradetype = value; }
        }
        public string Standard
        {
            get { return standard; }
            set { standard = value; }
        }
        public string Unit
        {
            get { return tradeunit; }
            set { tradeunit = value; }
        }
        public string Produce
        {
            get { return produce; }
            set { produce = value; }
        }

        public float Price
        {
            get { return price; }
            set { price = value; }
        }
        public float Qty
        {
            get { return qty; }
            set { qty = value; }
        }
        public float AveragePrice
        {
            get { return averageprice; }
            set { averageprice = value; }
        }
        public float SalePrice
        {
            get { return saleprice; }
            set { saleprice = value; }
        }
        public float Check
        {
            get { return check; }
            set { check = value; }
        }
        public float UpperLimit
        {
            get { return upperlimit; }
            set { upperlimit = value; }
        }
        public float LowerLimit
        {
            get { return lowerlimit; }
            set { lowerlimit = value; }
        }
        public cStockInfo()
        {
            this.TradeCode = "TJRA001";
            this.FullName = "空调";
            this.TradeType = "TYPE-1";
            this.Standard = "2匹";
            this.Unit = "台";
            this.Produce = "天津";
            this.Qty = 200;
            this.Price = 2000;
            this.AveragePrice = 2500;
            this.SalePrice = 3000;
            this.Check = 200;
            this.UpperLimit = 900;
            this.LowerLimit = 100;
        }
        public void ShowInfo()
        {
            Console.Write("--------------------------------------------------");
            Console.WriteLine("显示商品信息");
            Console.WriteLine("");
            Console.Write("商品编号:{0,-15}", TradeCode);
            Console.Write("单位全称:{0,-15}", FullName);
            Console.Write("商品型号:{0,-15}", TradeType);
            Console.WriteLine("");
            Console.Write("商品规格:{0,-15}", Standard);
            Console.Write("单位单位:{0,-15}", Unit);
            Console.Write("商品产地:{0,-15}", Produce);
            Console.Write("库存数量:{0,-15}", Qty);
            Console.WriteLine("");
            Console.Write("最后一次价格:{0,-15}", Price);
            Console.Write("加权平均价格:{0,-15}", AveragePrice);
            Console.Write("最后一次销价:{0,-15}", SalePrice);
            Console.WriteLine("");
            Console.Write("盘点数量:{0,-15}", Check);
            Console.Write("库存报警上限:{0,-15}", UpperLimit);
            Console.Write("库存报警下限:{0,-15}", LowerLimit);
            Console.WriteLine("");
            Console.WriteLine("商品信息显示完毕");
            Console.WriteLine("-----------------------------------------------------");
        }
    }
}




暂未完成,请读者自行补充完善,感谢阅读。


http://lihuaxi.xjx100.cn/news/1026377.html

相关文章

Selenium Python 教程

Selenium Python 教程​​准备工作元素定位控制浏览器操作Webelement常用方法鼠标操作键盘事件获取断言信息等待页面加载完成隐式等待在不同的窗口和框架之间移动警告框处理下拉框选择文件上传cookie操作调用JavaScript代码窗口截图关闭浏览器准备工作 定义: Selen…

CSRF与SSRF比较

CSRF与SSRF比较 参考:简述CSRF、SSRF的区别 CSRF CSRF,全名 Cross-site requestforgery,也就是 跨站请求伪造。XSS是跨站脚本攻击。与XSS比较,XSS攻击是跨站脚本攻击,CSRF是跨站请求伪造,也就是说CSRF攻…

GPT-4要革程序员的命?智能开发的理想与现实 | 爱分析调研

“生成式人工智能(AIGC)将在三年内终结编程。” ——Matt Welsh,前哈佛大学计算机科学教授、Google 工程主管 GPT-4 也许还不完美,但智能开发时代真的来了 美国时间3月14日,OpenAI 正式发布 GPT-4,在 Chat…

【大数据Hadoop】HDFS3.3.1-Namenode-租约管理

租约管理前言LeaseManager.LeaseLeaseManager添加租约 - addLease租约检查 - FsNamesystem.checkLease租约更新 - renewLease删除租约 - removeLease租约检查 - Monitor 线程租约恢复 - Monitor 线程发起租约恢复 - 其他方式发起前言 我们知道 HDFS 文件是 write-once-read-man…

认识HTTPS以及了解HTTPS的加密过程

目录 简单认识HTTPS: 运营商劫持: 加密的理解: HTTPS的工作过程: 对称加密: 非对称加密: 中间人攻击 证书 简单认识HTTPS: HTTPS 也是一个应用层协议。是在 HTTP 协议的基础上引…

Web_python_template_injection(Python模块注入)

打开链接,提示是Python的模块注入 我们先了解一些基本概念: 模板引擎可以让(网站)程序实现界面与数据分离,业务代码与逻辑代码的分离,这大大提升了开发效率,良好的设计也使得代码重用变得更加容…

ChatGPT文本框再次升级,打造出新型操作系统

在ChatGPT到来之前,没有谁能够预见。但是,它最终还是来了,并引起了不小的轰动,甚至有可能颠覆整个行业。 从某种程度上说,ChatGPT可能是历史上增长最快的应用程序,仅在两个多月就拥有了1亿多活跃用户&…

【ROS实操1编码实现乌龟运动控制,让小乌龟做圆周运动。】

实现分析: 1.乌龟运动控制实现,关键节点有两个,一个是乌龟运动显示节点turtlesim_node,另一个是控制节点,二者是订阅发布模式实现通信的,乌龟运动显示节点直接调用即可,运动控制节点之前是使用的turtle_te…