当前位置: 首页 > news >正文

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&#xff0…...

太奇怪了!小公司面试全挂,大厂面试全过,为什么小公司要求比大厂还高?...

大厂的人才去小公司面试,一定是降维打击吗?还真未必。一位网友很困惑:真的奇怪,小公司面试全挂,大厂面试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…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

NPOI Excel用OLE对象的形式插入文件附件以及插入图片

static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

GraphQL 实战篇:Apollo Client 配置与缓存

GraphQL 实战篇:Apollo Client 配置与缓存 上一篇:GraphQL 入门篇:基础查询语法 依旧和上一篇的笔记一样,主实操,没啥过多的细节讲解,代码具体在: https://github.com/GoldenaArcher/graphql…...

Vue3 PC端 UI组件库我更推荐Naive UI

一、Vue3生态现状与UI库选择的重要性 随着Vue3的稳定发布和Composition API的广泛采用,前端开发者面临着UI组件库的重新选择。一个好的UI库不仅能提升开发效率,还能确保项目的长期可维护性。本文将对比三大主流Vue3 UI库(Naive UI、Element …...