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

整体框架:

实现步骤:
第一步:创建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.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";csi3.ShowInfo();Console.ReadLine(); ConsoleKey Key;do{Key = Console.ReadKey().Key;} while (Key != ConsoleKey.Q);}}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 Qty{get { return qty; }set { qty = value; }}public float Price{get { return price; }set { price = 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-2";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.WriteLine("------------------------------------------");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:C}", Price);Console.Write("加权平均价格:{0,-15:C}", AveragePrice);Console.Write("最后一次销售:{0,-15:C}", SalePrice);Console.WriteLine("");Console.Write("盘点数量:{0,-15}", Check);Console.Write("库存报警上限:{0,-15}", UpperLimit);Console.Write("库存报警下限:{0,-15}", LowerLimit);Console.WriteLine("");Console.WriteLine("商品信息显示完毕");Console.WriteLine("------------------------------------------");}}}
相关文章:
C#实现商品信息的显示异常处理
实验四:C#实现商品信息的显示异常处理 任务要求: 在进销存管理系统中,商品的库存信息有很多种类,比如商品型号、商品名称、商品库存量等。在面向对象编程中,这些商品的信息可以存储到属性中,然后当需要使…...
细数N个获取天气信息的免费 API ,附超多免费可用API 推荐(三)
前言 市面上有 N 多个查询天气信息的软件、小程序以及网页入口,基本都是通过调用天气查询 API 去实现的。 今天整理了一下多种场景的天气预报API 接口分享给大家,有需要赶紧收藏起来。 天气预报查询 天气预报查询支持全国以及全球多个城市的天气查询…...
20230404英语学习
今日单词 decade n.十年 allocate vt.分配,分派,把…拨给 compress v.压缩;缩短;浓缩 regenerate v.(使)复兴,(使)振兴;(使)再生 …...
冒泡排序 快排(hoare递归)
今天要讲一个是冒泡排序,进一个是快排,首先是冒泡排序,我相信大家接触的第一个排序并且比较有用的算法就是冒泡排序了,冒泡排序是算法里面比较简单的一种,所以我们先看看一下冒泡排序 还是个前面一样,我们…...
49天精通Java,第24天,Java链表、散列表、HashSet、TreeSet
目录一、链表二、散列表三、HashSet四、TreeSet五、TreeSet常用方法大家好,我是哪吒。 一、链表 从数组中间删除一个元素开销很大,其原因是向数组中插入元素时,此元素之后的所有元素都要向后端移动,删除时也是,数组中…...
HashMap源码分析小结
HashMap相关问题 HashMap实现原理 HashMap是以键值对的形式存储数据,内部是通过数组链表结构实现,在1.7之后的版本,链表结构可以升级为红黑树,提高查询效率 key和value都支持为null;key为null时hash值是0࿰…...
太奇怪了!小公司面试全挂,大厂面试全过,为什么小公司要求比大厂还高?...
大厂的人才去小公司面试,一定是降维打击吗?还真未必。一位网友很困惑:真的奇怪,小公司面试全挂,大厂面试10个过了9个,感觉小公司要求比大厂还高,这是怎么了?来看看网友们的看法。有人…...
Java开发环境配置
Java开发环境配置 Java是目前世界上最流行的编程语言之一,它的使用范围广泛,从Web应用程序到桌面应用程序再到移动应用程序,Java都是一种非常有用的语言。想要进行Java开发,首先需要在计算机上配置Java开发环境。 在本文中&…...
大学英语视听说教程(陈向京版本)
词汇题(55道) 1. You should carefully think over_____ the manager said at the meeting. A. that B. which C. what D. whose 1.选C,考察宾语从句连接词,主句谓语动词think over后面缺宾语,后面的宾语从句谓语动…...
nginx--开源免费
nginx开源免费,支持高性能,高并发的web服务和代理服务软件。 apache,nodejs nginx可以提供的服务: 1、web服务 2、负载均衡(反向代理)(动静分离) 3、web cache(web缓存) nginx…...
阿里云OSS对象存储
目录 1:OSS 1.1:开通OSS服务 1.2:搭建OSS环境 1.2.1:创建Bucket存储空间 1.2.2:创建文件夹上传图片 1.2.3:RAM访问控制 1.3:快速入门 1.3.1:下载SDK 1.3.2:搭建环…...
基于VHDL语言的汽车测速系统设计_kaic
摘 要 汽车是现代交通工具。车速是一项至关重要的指标。既影响着汽车运输的生产率,又关乎着汽车行驶有没有超速违章,还影响着汽车行驶时人们的人身安全。而伴随着我国国民的安全防范意识的逐步增强,人们也开始越来越关心因为汽车的超速而带来的极其严重…...
【数据结构】单链表(笔记总结)
👦个人主页:Weraphael ✍🏻作者简介:目前学习C和算法 ✈️专栏:数据结构 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&…...
Git操作之 git add 撤销、git commit 撤销
1、git add 添加多余文件 撤销操作 git reset HEAD 后面什么都不跟的,就是上一次add 里面的内容全部撤销 git reset HEAD XXX 后面跟文件名,就是对某个文件进行撤销 2、git commit 撤销操作 git reset --soft HEAD^ 这样就成功的撤销了commit操作 注…...
用PyTorch实现MNIST数据集手写数字识别
资源下载:用Pytorch实现MNIST数据集的手写数字识别介绍资源-CSDN文库 手写数字识别是一项相当普遍的应用,因为在现实生活中,我们经常需要对手写数字进行识别,例如在邮政服务中,我们需要对邮件上的邮政编码进行识别&am…...
leetcode3:无重复字符的最长子串
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: s “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “…...
ChatGPT让现在的软件都土掉渣了
我们家有两个娃,每次我们想要出去时订个酒店时都好麻烦。我在某程上找,我先看有没有家庭房,但家庭房很少,而且有些家庭房实际上只能睡得下两大一小。普通房间能不能睡得下四个人,那可是得查看很多信息,如床…...
IU5708D低静态电流同步升压DC-DC 控制器
IU5708D是高性能宽输入范围 (4.5V~40V) 同步升压控制器,支持高达52V的输出电压。输出电压采用恒定频率电流模式脉宽调制(PWM) 控制来实现调节。 芯片通过外部定时电阻器或通过与外部时钟信号同步来设置开关频率。在电阻编程模式下,开关频率可从50KHz编程…...
ubuntu查看软件安装路径
ubuntu怎么查看软件安装位置在哪 - 服务器 - 亿速云 1、执行程序查看 在终端使用type执行软件程序查看。 type google-chrome 2、通过进程查看对应的软件程序 在终端使用以下命令查看所有进程名。 ps -e 再使用以下过滤命令查看对应的进程信息即可。 ps aux|grep 软件名 …...
动态规划总结
1,01背包dp(每件物品最多选一次): 因为背包为0 的时候,什么都装不了,所以为零 ,就是他们的最优解。 最后一个单元格为最后的答案。 01背包模板 public class Knapsack {public static int kn…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...
给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving
地址:LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂,正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...
