C#模拟实现输出进销存管理系统中的每月销售明细(实验五)

news2024/10/5 15:25:12

实验五:模拟实现输出进销存管理系统中的每月销售明细

任务要求:

运行程序,输入要查询的月份,如果输入的月份正确,则显示本月商品销售明细;如果输入的月份不存在,则提示“该月没有销售数据或者输入的月份有误!”信息;如果输入的月份不是数字,则显示异常信息。

 整体代码框架:

实现步骤:

第一步:创建控制台应用程序,命令为SaleManage。

第二步:定义一个Information接口,定义两个属性Code和Name分别表示商品编号和名称,定义一个ShowInfo方法,用来输出信息

第三步:定义一个Sale类,继承自Information接口,实现接口中的成员。

第四步:在Sale类中定义有两个参数的构造函数,用来为属性赋初始值;

第五步:在Sale类中定义一个ShowInfo重载方法,用来输出销售的商品信息

第六步:定义一个泛型方法CaleMoney<T>(T[] items),用来计算商品销售额。

 第七步:在Program类的Main方法中,创建Sale类型的数组,用来存储每月的商品销售明细;

 第八步:创建double类型的数组,用来存储每月的商品销售数据明细

 第九步:从键盘接受用户输入,调用Sale类中的方法,输出指定月份的商品销售明细及销售总额(自行补充2-3月份输出内容)

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

namespace SaleManage
{
    interface Information
    {
        string Code { get; set; }



        string Name { get; set; }
        void ShowInfo();

    }
    public class Sale: Information//继承接口,定义销售类
    {
        string code = " ";
        string name = " ";
        public string Code
        {
            get
            {
                return code;
            }
            set
            {
                code = value;
            }
        }

        public string Name
        {
            get
            {
                return code;
            }
            set
            {
                code = value;
            }
        }
        
        public Sale(string code,string name)
        {
            code = code;
            Name = name;
        }
        
        public void ShowInfo(){ }

        public static void ShowInfo(Sale[] sales) {
            foreach (Sale s in sales)
                Console.WriteLine("商品编号:" + s.Code + "商品名称 " + s.Name);
        }
        
        public static double CaleMoney<T>(T[] items)//定义范型方法
        {
            double sum = 0;
            foreach(T item in items)
            {
                sum += Convert.ToDouble(item);
            }
            return sum;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Sale[] salesJan = { new Sale("T0001","笔记本电脑"),new Sale ("T0002","手机"),
                                new Sale("T0003","平板电脑"),new Sale ("T0004","5G手机"),new Sale("T0005","台式电脑") };
            Sale[] salesFeb = { new Sale("T0006", "机箱"), new Sale("T0007", "显示器") };
            Sale[] salesMar = { new Sale("T0003", "平板电脑"), new Sale("T0004", "5G手机"),
                                new Sale("T0008", "组装电脑"), new Sale("T0009", "充电宝")};
            double[] dbJan = { 3500, 999, 3288, 1999, 12888 };
            double[] dbFeb = { 1499, 1699 };
            double[] dbMar = { 3288, 1999, 1999.9, 49 };
            while(true)
            {
                Console.Write("\n请输出要查询的月份(比如1、2、3等):");
                try
                {
                    int month= Convert.ToInt32(Console.ReadLine());
                    switch (month)
                    {
                        case 1:
                            Console.WriteLine("-------   1月的商品销售明细如下:");
                            Sale.ShowInfo(salesJan);//调用方法输出销售的商品信息
                            //调用范型方法计算出每月的总销售额,并输出
                            Console.WriteLine("\n1月商品总销售额:" + Sale.CaleMoney<double>(dbJan));
                            break;

                        case 2:
                            Console.WriteLine("-------   2月的商品销售明细如下:");
                            Sale.ShowInfo(salesJan);//调用方法输出销售的商品信息
                            //调用范型方法计算出每月的总销售额,并输出
                            Console.WriteLine("\n2月商品总销售额:" + Sale.CaleMoney<double>(dbFeb));
                            break;
                        case 3:
                            Console.WriteLine("-------   3月的商品销售明细如下:");
                            Sale.ShowInfo(salesJan);//调用方法输出销售的商品信息
                            //调用范型方法计算出每月的总销售额,并输出
                            Console.WriteLine("\n3月商品总销售额:" + Sale.CaleMoney<double>(dbMar));
                            break;

                        default:
                            Console.WriteLine("   该月每月销售数据或者输入的月份有误!");
                            break;
                    }
                }
                catch(Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }

        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/443937.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是企业数智化的创新加速器?

数智商业创新&#xff0c;使得企业的发展模式有了一个更大的跃升。在数智化转型热潮中&#xff0c;打造数据驱动的智慧企业&#xff0c;实现商业创新与转型升级&#xff0c;构建企业新的竞争优势成为这一阶段企业管理者的核心诉求。围绕这一核心诉求&#xff0c;企业关键要考虑…

javascript通过canvas实现不同时区的时钟绘制

这里使用Javascript的class和canvas技术实现时钟的绘制&#xff0c;并且通过类实例来实现不同时区的时间显示&#xff0c;增强复用性。 如下图&#xff1a; 一、基本知识 在绘制前&#xff0c;我们先熟悉下本次使用到的Canvas相关基础知识&#xff0c;以便后面更好理解并使用。…

Bill Gates 和 Linus Torvalds 同时推崇的编程语言,不可复制的经典

1 缘起 “我们为什么没有这样的东西&#xff1f;&#xff01;” -- Bill Gates 1988年春天&#xff0c;Alan Copper坐在微软的大会议室中&#xff0c;给Bill Gates和微软的十几名员工做了一次著名的演示。 这是个叫做Tripod的开发工具&#xff0c;控制面板上面是一些按钮&…

电视剧是大众文化娱乐的载体,情感、喜剧、悬疑,你钟爱哪种题材?

电视剧作为一种重要的文化娱乐产品&#xff0c;一直以来都受到了人们的热爱和关注。它们通过故事情节、角色塑造、美术设计等方面的表现&#xff0c;向观众展现了生活中的各种情感和经历&#xff0c;同时也传递了一些价值观和思想观念 做为低成本的的娱乐方式&#xff0c;能够为…

1. 数据结构与算法概述

1. 数据结构与算法概述 1.1 什么是数据结构&#xff1f; 官方解释&#xff1a; 数据结构是一门研究非数值计算的程序设计问题中的操作对象&#xff0c;以及他们之间的关系和操作等相关问题的学科。 大白话&#xff1a; 数据结构就是把数据元素按照一定的关系组织起来的集合…

讲真的,我哭死,搞了一个画图软件

文章目录 &#x1f475;回来咯&#x1f474;一起画图吧&#x1f471;画图软件&#x1f47c;项目地址 专栏Python零基础入门篇&#x1f525;Python网络蜘蛛&#x1f525;Python数据分析Django基础入门宝典&#x1f525;小玩意儿&#x1f525;Web前端学习tkinter学习笔记Excel自动…

数据结构——堆和优先队列

文章目录 前言堆堆的引入堆的定义堆的储存结构 优先队列优先队列简介优先队列的基础操作入队出队 优先队列的实现 堆的应用堆排序TOP-K问题什么是TOP-K问题TOP-K问题的排序解法TOP-K问题的堆解法 总结 前言 堆是一个比较基础&#xff0c;且实现起来难度也不算太大的一个数据结…

高性能RPC框架:TARS简介、设计思想、架构、特性学习

文章目录 一、TARS简介二、设计思想三、整体架构3.1 架构拓扑3.2 服务交互流程3.3 Web管理系统3.4 服务结构 四、Tars特性4.1 Tars协议4.2 调用方式4.3 负载均衡4.4 容错保护4.5 过载保护4.6 消息染色4.7 IDC分组4.8 SET分组4.9 数据监控4.10 集中配置 声明&#xff1a;以下内容…

文心一言 vs GPT-4 —— 全面横向比较

文心一言 vs GPT-4 —— 全面横向比较 3月15日凌晨&#xff0c;OpenAI发布“迄今为止功能最强大的模型”——GPT-4。我第一时间为大家奉上了体验报告《OpenAI 发布GPT-4——全网抢先体验》。 时隔一日&#xff0c;3月16日下午百度发布大语言模型——文心一言。发布会上&#…

开放式蓝牙耳机推荐,列举出几款值得入手的开放式蓝牙耳机

随着耳机市场的发展&#xff0c;骨传导耳机的出现也逐渐受到了市场的认可&#xff0c;骨传导耳机&#xff0c;是通过颅骨来进行声音传导的一种耳机。与传统的入耳式耳机不同&#xff0c;骨传导耳机不需要将耳朵堵上&#xff0c;而是通过颅骨震动将声音传到内耳&#xff0c;所以…

IDEA快速部署Spring Boot 项目到Docker

IDEA快速部署Spring Boot 项目到Docker 文章目录 IDEA快速部署Spring Boot 项目到Docker一、IDEA 连接 Docker自己的虚拟机远程服务器 二、Maven插件与Dockerfiledocker-maven-pluginDockerfile 三、项目打包上传镜像四、容器的创建与运行容器的创建环境的检查访问项目检验 一、…

4月18日第壹简报,星期二,农历闰二月廿八

4月18日第壹简报&#xff0c;星期二&#xff0c;农历闰二月廿八坚持阅读&#xff0c;静待花开1. 《中国卫生健康发展评价报告&#xff08;2022&#xff09;》蓝皮书发布&#xff0c;排名前十依次为&#xff1a;北京、深圳、杭州、上海、青岛、武汉、昆明、广州、厦门和宁波。2.…

【Docker学习三部曲】——进阶篇

Compose 1️⃣ 什么是 Docker-Compose ? Docker Compose 是Docker官方提供的一个用于定义和运行多个容器的工具&#xff0c;它采用了声明式的语法定义单个应用程序的多个容器以及它们之间的相互关系和依赖关系。 使用Docker Compose&#xff0c;您可以通过一个配置文件来管…

消防规范图集大全

总说明 A-800X650 (1)箱体长.煌尺寸代号(尺寸单位:mm) B-1000X700; C-1200X750 D-带灭火器箱组合式消防柜; E-非标准箱。 1本图集是依据现行有关国家标准和规范 在1999年编制的《室内消火栓安装》 (2)水带安置方式代号 (99S202)全国通用给水排水标准图集的基础上重新编制的。 P…

理解TreeMap结构及其实现

TreeMap是基于红黑树&#xff08;Red-Black tree&#xff09;的 NavigableMap 实现(是自平衡的二叉树)。该映射根据其键的自然顺序进行排序&#xff0c;或者根据创建映射时提供的 Comparator 进行排序&#xff0c;具体取决于使用的构造方法。 一、对外开放API TreeMap提供了保证…

GPT模型支持下的Python-GEE遥感云大数据分析、管理与可视化技术及多领域案例实践

随着航空、航天、近地空间等多个遥感平台的不断发展&#xff0c;近年来遥感技术突飞猛进。由此&#xff0c;遥感数据的空间、时间、光谱分辨率不断提高&#xff0c;数据量也大幅增长&#xff0c;使其越来越具有大数据特征。对于相关研究而言&#xff0c;遥感大数据的出现为其提…

全网最全的快速排序方法--Hoare快排 挖坑法快排 二路快排 三路快排 非递归快排

目录 一.快速排序 1.基本介绍 2.基本思想 二.Hoare快排 0.前情知识 1.交换数组中的两个元素 2.指定范围的插入排序 1.基本思路 2.代码实现 3.优化思路 三.挖坑法快排(校招中适用) 1.基本思路 2.代码实现 四.二路快排 1.基本思路 2.代码实现 3.优化思路 五.三…

浅谈ChatGPT(人工智能)

带你了解ChatGPT 1.ChatGPT是什么2.ChatGPT的特点3.ChatGPT的用途4.ChatGPT出现给社会带来的影响5.ChatGPT存在的问题6.ChatGPT的未来发展趋势7.总结 1.ChatGPT是什么 ChatGPT&#xff08;全名&#xff1a;Chat Generative Pre-trained Transformer&#xff09;&#xff0c;是美…

如何通过开源项目搭建私有云平台--第三步:部署镜像仓库

第三步 部署镜像仓库 采用开源的harbor来进行部署&#xff0c;分别在两台服务器进行部署&#xff0c;然后实现两个镜像仓库数据同步 具体部署环境如下&#xff1a; 10.10.10.3 主harbor 操作系统&#xff1a; centos 8 10.10.10.4 备用harbor 操作系统&#xff1a;cen…

【使用者手册】手动改善IntelliJ IDEA和Scala插件性能

IntelliJ IDEA&#xff0c;是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具&#xff0c;尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。 在…