我的编程空间,编程开发者的网络收藏夹
学习永远不晚

C#面向对象之模拟实现商城购物功能

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

C#面向对象之模拟实现商城购物功能

本文实例为大家分享了C#实现商城购物功能的具体代码,供大家参考,具体内容如下

商品类

namespace ShoppingSystem
{
    

    /// <summary>
    /// 商品类
    /// </summary>
    class Goods
    {
        /// <summary>
        /// 商品名称
        /// </summary>
        private string goodName;

        /// <summary>
        /// 商品价格
        /// </summary>
        private float goodPrice;

        /// <summary>
        /// 商品型号
        /// </summary>
        private string[] goodModel = new string[2];

        /// <summary>
        /// 商品类别
        /// </summary>
        private string goodType;

        /// <summary>
        /// 商品描述
        /// </summary>
        private string goodDescribe;


        /// <summary>
        /// 卖家
        /// </summary>
        private Seller seller;

        public Seller Seller
        {
            get
            {
                return seller;
            }
            set
            {
                seller = value;
            }
        }


        public string GoodName
        {
            get
            {
                return goodName;
            }
            set
            {
                goodName = value;
            }
        }

        public float GoodPrice
        {
            get
            {
                return goodPrice;
            }
            set
            {
                goodPrice = value;
            }
        }

        public string[] GoodModel
        {
            get
            {
                return goodModel;
            }
            set
            {
                goodModel = value;
            }
        }

        public string GoodType
        {
            get
            {
                return goodType;
            }
            set
            {
                goodType = value;
            }
        }

        public string GoodDescribe
        {
            get
            {
                return goodDescribe;
            }
            set
            {
                goodDescribe = value;
            }
        }

        /// <summary>
        /// 构造函数,对各个变量赋值并添加商品描述
        /// </summary>
        /// <param name="goodName">商品名</param>
        /// <param name="goodPrice">商品价格</param>
        /// <param name="goodId">商品编号</param>
        /// <param name="goodModel">商品型号</param>
        /// <param name="goodType">商品类别</param>
        public Goods(string goodName, float goodPrice, string[] goodModel, string goodType)
        {
            this.goodName = goodName;
            this.goodPrice = goodPrice;
            this.goodModel = goodModel;
            this.goodType = goodType;

            goodDescribe = goodName + goodModel[0] + "|" + goodModel[1] + "|" + goodPrice + "|";

        }
    }
}

商品总库

namespace ShoppingSystem
{
    class GoodsSql
    {
        /// <summary>
        /// 商品总库
        /// </summary>
        private Goods[] good = new Goods[20];

        public Goods[] Good
        {
            get
            {
                return good;
            }
            set
            {
                good = value;
            }
        }
    }
}

用户类

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

namespace ShoppingSystem
{
    /// <summary>
    /// 用户类
    /// </summary>
    class User
    {
        /// <summary>
        /// 用户名
        /// </summary>
        private string username;

        /// <summary>
        /// 用户余额
        /// </summary>
        private float userBalance;

        /// <summary>
        /// 购物车
        /// </summary>
        private ShoppingCart cart = new ShoppingCart();

        public User(string username, float userBalance)
        {
            this.username = username;
            this.userBalance = userBalance;
            cart.User = this;
        }

        public string Username
        {
            get
            {
                return username;
            }
            set
            {
                username = value;
            }
        }

        public float UserBalance
        {
            get
            {
                return userBalance;
            }
            set
            {
                userBalance = value;
            }
        }

        public ShoppingCart Cart
        {
            get
            {
                return cart;
            }
            set
            {
                cart = value;
            }
        }


        /// <summary>
        /// 加入购物车
        /// </summary>
        /// <param name="good">要加入的商品</param>
        /// <param name="goodsNum">要买的数量</param>
        public void BuyGoods(Goods good, int goodsNum)
        {
            
            cart.AddGoods(good, goodsNum);

            //TODO

        }

        /// <summary>
        /// 结算并清空购物车
        /// </summary>
        public void CheckoutCart()
        {
            cart.CheckoutCart();
        }


    }
}

卖家类

using System;

namespace ShoppingSystem
{
    /// <summary>
    /// 卖家类
    /// </summary>
    class Seller
    {
        /// <summary>
        /// 卖家姓名
        /// </summary>
        private string sellerName;

        /// <summary>
        /// 卖家余额
        /// </summary>
        private float sellerBalance;

        /// <summary>
        /// 卖家商品数组
        /// </summary>
        private Goods[] sellerGoods = new Goods[5]; 

        public Seller(string sellerName, float sellerBalance)
        {
            this.sellerName = sellerName;
            this.sellerBalance = sellerBalance;
        }
        public string SellerName
        {
            get
            {
                return sellerName;
            }
            set
            {
                sellerName = value;
            }
        }

        public float SellerBalance
        {
            get
            {
                return sellerBalance;
            }
            set
            {
                sellerBalance = value;
            }
        }

        public Goods[] SellerGoods
        {
            get
            {
                return sellerGoods;
            }
            set
            {
                sellerGoods = value;
            }
        }

        /// <summary>
        /// 上架新商品
        /// </summary>
        /// <param name="good"></param>
        public void AddGood(Goods good,GoodsSql goods)
        {
            for (int i = 0; i < sellerGoods.Length; i++)
            {
                if (sellerGoods[i] == null)
                {
                    sellerGoods[i] = good;
                    good.Seller = this;
                    for (int j = 0; j < goods.Good.Length; j++)
                    {
                        if (goods.Good[j] == null)
                        {
                            goods.Good[j] = good;
                            break;
                        }
                    }
                    Console.WriteLine("添加商品成功!");
                    break;
                }
                if (i == sellerGoods.Length - 1)
                {
                    Console.WriteLine("添加商品失败!已达到可上架商品的上限!");
                    return;
                }
            }
        }

        /// <summary>
        /// 更新商品信息
        /// </summary>
        /// <param name="good">要更新的商品</param>
        /// <param name="goodName">商品名称</param>
        /// <param name="goodPrice">商品价格</param>
        /// <param name="goodId">商品编号</param>
        /// <param name="goodModel">商品型号</param>
        /// <param name="goodType">商品种类</param>
        public void UpdateGoodInfo(Goods good, string goodName, float goodPrice, string[] goodModel, string goodType)
        {
            if (good != null)
            {
                good.GoodName = goodName;
                good.GoodModel = goodModel;
                good.GoodType = goodType;
                good.GoodDescribe = goodName + goodModel[0] + "|" + goodModel[1] + "|" + goodPrice + "|";
                Console.WriteLine("更新商品信息成功!");
                return;
            }
            Console.WriteLine("更新商品信息失败!");

        }
    }
}

服务类

namespace ShoppingSystem
{
    class Service
    {

        private Goods[] goods = new Goods[20];

        public Goods[] Goods
        {
            get
            {
                return goods;
            }
            set
            {
                goods = value;
            }
        }

        /// <summary>
        /// 按类型搜索商品
        /// </summary>
        /// <param name="goodType"></param>
        /// <param name="goods"></param>
        public void Search(string goodType, GoodsSql goods)
        {
            this.goods = new Goods[20];
            int count = 0;

            for (int i = 0; i < goods.Good.Length; i++)
            {

                if (goods.Good[i] != null && goods.Good[i].GoodType.Equals(goodType))
                {
                    this.goods[count++] = goods.Good[i];
                }
            }

        }
    }
}

购物车类

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

namespace ShoppingSystem
{
    /// <summary>
    /// 购物车类
    /// </summary>
    class ShoppingCart
    {
        /// <summary>
        /// 购物条目数组
        /// </summary>
        private ShoppingItems[] items;

        /// <summary>
        /// 购物费用总计
        /// </summary>
        private float totalPrice = 0.00f;

        /// <summary>
        /// 购物车所属用户
        /// </summary>
        private User user;

        public ShoppingItems[] Items
        {
            get
            {
                return items;
            }
            set
            {
                items = value;
            }
        }

        public float TotalPrice
        {
            get
            {
                return totalPrice;
            }
            set
            {
                totalPrice = value;
            }
        }

        public User User
        {
            get
            {
                return user;
            }
            set
            {
                user = value;
            }
        }

        /// <summary>
        /// 添加商品到购物车
        /// </summary>
        /// <param name="good">要加入的商品</param>
        /// <param name="goodsNum">要买的数量</param>
        public void AddGoods(Goods good, int goodsNum)
        {
            //若购物车条目为空,实例化购物车条目数组
            if (items == null)
            {
                items = new ShoppingItems[10];
            }

            //加入商品条目到购物条目数组
            for (int i = 0; i < items.Length; i++)
            {
                if (items[i] == null)
                {
                    items[i] = new ShoppingItems();
                    items[i].Good = good;
                    items[i].GoodsNum = goodsNum;
                    totalPrice += good.GoodPrice * goodsNum;
                    Console.WriteLine($"已将{good.GoodDescribe}数量:{goodsNum},加入购物车");
                    break;
                }

                if (i == items.Length - 1)
                {
                    Console.WriteLine("购物车已满!");
                }
            }
        }
        
        /// <summary>
        /// 结算并清空购物车
        /// </summary>
        public void CheckoutCart()
        {
            //判断购物车是否为空
            if (items == null)
            {
                Console.WriteLine("您的购物车中没有商品!");
                return;
            }

            foreach (var item in items)
            {
                if (item != null)
                {
                    item.Good.Seller.SellerBalance += item.Good.GoodPrice * item.GoodsNum;
                    Console.WriteLine($"商品名称:{item.Good.GoodName}");
                }
            }

            Console.WriteLine($"{user.Username}已经清空了购物车,共计花费{totalPrice}元");
            user.UserBalance -= totalPrice;
            items = null;

            //TODO

        }


        public void selectCart()
        {
            if (items == null)
            {
                Console.WriteLine("您的购物车是空的!");
                return;
            }

            foreach (var item in items)
            {
                Console.WriteLine($"{item.Good.GoodDescribe}数量:{item.GoodsNum}");
            }
        }
    }
}

购物车条目类

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

namespace ShoppingSystem
{
    /// <summary>
    /// 购物车中的商品条目类
    /// </summary>
    class ShoppingItems
    {
        /// <summary>
        /// 商品
        /// </summary>
        private Goods good;

        /// <summary>
        /// 要买的数量
        /// </summary>
        private int goodsNum;


        public Goods Good
        {
            get
            {
                return good;
            }
            set
            {
                good = value;
            }
        }

        public int GoodsNum
        {
            get
            {
                return goodsNum;
            }
            set
            {
                goodsNum = value;
            }
        }

    }
}

服务台

这里其实应该封装不少东西,我偷懒了,不搞了

using System;

namespace ShoppingSystem
{
    /// <summary>
    /// 软件使用类
    /// </summary>
    class SoftwareUsage
    {
        /// <summary>
        /// 获取用户指令
        /// </summary>
        /// <returns></returns>
        public string Order()
        {
            Console.WriteLine("请先输入指令:");
            Console.WriteLine("0-退出,1-搜索,2-购买,3-清空并结算购物车,4-查询购物车");
            return Console.ReadLine();
        }
    }
}

程序入口main函数:

using System;

namespace ShoppingSystem
{
    class Program
    {
        static void Main(string[] args)
        {
            GoodsSql goodsSql = new GoodsSql();

            Service service = new Service();

            User user = new User("岳翔", 10000000.00f);

            SoftwareUsage use = new SoftwareUsage();

            Seller seller01 = new Seller("卖家1", 10000.00f);
            Seller seller02 = new Seller("卖家2", 10000.00f);
            Seller seller03 = new Seller("卖家3", 10000.00f);

            Goods good01 = new Goods("编程之美(图书)", 120.00f, new string[]{ "质量", "普通版" }, "图书");
            Goods good02 = new Goods("编程之美(图书)", 145.00f, new string[]{ "质量", "精装版" }, "图书");
            Goods good03 = new Goods("三毛流浪记(图书)", 20.00f, new string[]{ "质量", "普通版" }, "图书");
            Goods good04 = new Goods("三毛流浪记(图书)", 25.00f, new string[]{ "质量", "精装版" }, "图书");

            Goods good05 = new Goods("iPhone 100(手机)", 6000.00f, new string[]{ "RAM", "64GB" }, "手机");
            Goods good06 = new Goods("iPhone 100(手机)", 7000.00f, new string[]{ "RAM", "128GB" }, "手机");
            Goods good07 = new Goods("iPhone 100(手机)", 9000.00f, new string[]{ "RAM", "512GB" }, "手机");
            Goods good08 = new Goods("Nokia(手机)", 1000.00f, new string[]{ "型号", "E63" }, "手机");
            Goods good09 = new Goods("Nokia(手机)", 2000.00f, new string[]{ "型号", "N95" }, "手机");
            Goods good10 = new Goods("Nokia(手机)", 2300.00f, new string[]{ "型号", "N97" }, "手机");

            Goods good11 = new Goods("Mac Book Pro(电脑)", 18000.00f, new string[]{ "配置", "低配版" }, "电脑");
            Goods good12 = new Goods("Mac Book Pro(电脑)", 20000.00f, new string[]{ "配置", "中配版" }, "电脑");
            Goods good13 = new Goods("Mac Book Pro(电脑)", 22000.00f, new string[]{ "配置", "⾼配版" }, "电脑");

            seller01.AddGood(good01, goodsSql);
            seller01.AddGood(good02, goodsSql);
            seller01.AddGood(good03, goodsSql);
            seller01.AddGood(good04, goodsSql);
            seller01.AddGood(good05, goodsSql);

            seller02.AddGood(good06, goodsSql);
            seller02.AddGood(good07, goodsSql);
            seller02.AddGood(good08, goodsSql);
            seller02.AddGood(good09, goodsSql);
            seller02.AddGood(good10, goodsSql);

            seller03.AddGood(good11, goodsSql);
            seller03.AddGood(good12, goodsSql);
            seller03.AddGood(good13, goodsSql);

            Console.Clear();

            while (true)
            {
                string order = use.Order();

                switch (order)
                {
                    case "0":
                        Console.WriteLine("购物结束!");
                        return;

                    case "1":
                        Console.WriteLine("请输入搜索关键词:");
                        string goodType = Console.ReadLine();
                        service.Search(goodType, goodsSql);
                        Goods[] goods = service.Goods;
                        Console.WriteLine($"当前买家{user.Username}正在搜索商品:{goodType}");
                        Console.WriteLine("-----------------------");
                        foreach (var item in goods)
                        {
                            if (item != null)
                            {
                                Console.WriteLine($"商品名:{item.GoodName},商品类型({item.GoodModel[0]})" +
                                    $"{item.GoodModel[1]},{item.GoodPrice}元");
                            }
                        }
                        Console.WriteLine("-----------------------");

                        break;

                    case "2":

                        if (service.Goods[0] == null)
                        {
                            Console.WriteLine("请先搜索选购!");
                            break;
                        }

                        Console.WriteLine("请先输入商品编号:");
                        int goodId = Int32.Parse(Console.ReadLine());
                        Console.WriteLine("请先输入商品数量:");
                        int goodsNum = Int32.Parse(Console.ReadLine());

                        user.BuyGoods(service.Goods[goodId - 1], goodsNum);
                        Console.WriteLine("-----------------------");
                        break;

                    case "3":
                        user.CheckoutCart();
                        Console.WriteLine($"账户余额:{user.UserBalance}");
                        break;

                    case "4":
                        user.Cart.selectCart();
                        break;

                    default:
                        Console.WriteLine("您输入的指令不正确!");
                        break;
                }

            }

        }
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

C#面向对象之模拟实现商城购物功能

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

C#实现商城购物功能的代码怎么写

这篇文章主要介绍“C#实现商城购物功能的代码怎么写”,在日常操作中,相信很多人在C#实现商城购物功能的代码怎么写问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#实现商城购物功能的代码怎么写”的疑惑有所帮助!
2023-06-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录