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

该文章描述了一个模拟的进销存管理系统,通过控制台应用程序实现查询每月销售明细的功能。程序包括创建Information接口,Sale类来存储商品信息,以及使用泛型方法计算销售额。在Main方法中,通过用户输入查询月份,显示对应月份的商品销售明细和总额。
摘要由CSDN通过智能技术生成

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

任务要求:

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

 整体代码框架:

实现步骤:

第一步:创建控制台应用程序,命令为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);
                }
            }

        }
    }
}

在使用本系统时,请按照以下流程进行操作: (1)在“系统维护”菜单的“数据清理”模块清空原始数据。 (2)在“系统维护”菜单的“系统管理设置”模块设置本单位的操作员。 (3)在“系统维护”菜单的“本单位信息”模块设置本单位信息。 (4)在“基础数据”菜单设置基本信息。 (5)在“库存管理”菜单的“库存状况”模块设置商品的库存上下限。 (6)在“进货管理”菜单的“进货单”模块添加商品的进货信息。 (7)在“进货管理”菜单的“进货退货单”模块可以添加进货退货信息。 (8)在“进货管理”菜单的“进货分析”模块和“进货统计(含退货)”模块可以查看到所有的进货信息和进货退货信息。 (9)在“销售管理”菜单的“销售单”模块添加销售信息。 (10)在“销售管理”菜单的“销售退货单”模块添加销售退货信息。 (11)在“销售管理”菜单的“销售统计(不含退货)”模块和“月销售状况”模块查看销售记录和销售退货记录。 (12)在“销售管理”菜单的“商品销售排行”模块可以查看某一时间段的销售排行榜。 (13)在“销售管理”菜单的“销售成本表”模块可以查看商品的成本及毛利。 (14)在“销售管理”菜单或“进货管理”菜单的“往来对账”模块查看与某单位间的账目情况。 (15)在“库存管理”菜单的“库存上限报警”、“库存下限报警”模块查看商品的库存数量。 (16)在“库存管理”菜单的“库存盘点”模块设置盘点数量。 (17)在“系统维护”菜单可以对系统数据进行清理及备份。 (18)“辅助工具”和“系统信息”菜单提供了一些辅助功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值