问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C# “空调-遥控器”仿真程序

发布网友 发布时间:2022-04-23 18:53

我来回答

3个回答

热心网友 时间:2023-10-13 18:53

写好了,两个类分别为:

 public enum Mode
    {
        Heating,
        Cooling
    }

    public enum UpDown
    {
        Up,
        Down
    }

    public class AirConditioner
    {
        private bool powerOn;

        private Mode currentMode;

        private int currentTemp;

        public AirConditioner()
        {
            this.powerOn = false;
            this.currentMode = Mode.Cooling;
            this.currentTemp = 16;
        }

        public void SwichPower()
        {
            this.powerOn = !powerOn;
        }

        internal void SetMode(Mode mode)
        {
            this.currentMode = mode;
        }

        internal void SetTemp(UpDown upDown)
        {
            switch (upDown)
            {
                case UpDown.Up:
                    if (this.currentTemp <= 30)
                    {
                        this.currentTemp++;
                    }
                    break;
                case UpDown.Down:
                    if (this.currentTemp >= 16)
                    {
                        this.currentTemp--;
                    }
                    break;
            }
        }

        public override string ToString()
        {
            return string.Format("Current Status:\r\nPower: {0}\r\nMode: {1}\r\nTemp: {2}", this.powerOn ? "On" : "Off", this.currentMode, this.currentTemp);
        }
    }

public class RemoteController
    {
        private AirConditioner conditioner;

        public RemoteController()
        {
            this.conditioner = new AirConditioner();
        }

        public void SwitchPower()
        {
            this.conditioner.SwichPower();
            Console.WriteLine(this.conditioner);
        }

        public void SetMode(Mode mode)
        {
            this.conditioner.SetMode(mode);
            Console.WriteLine(this.conditioner);

        }

        public void SetTemp(UpDown upDown)
        {
            this.conditioner.SetTemp(upDown);
            Console.WriteLine(this.conditioner);
        }
    }

值得注意的是,“通过直接操作空调不能进行调节温度、改变模式(制热、制冷)。”这一条说明这些方法应该不允许被声明为public,但是又要能够被遥控器访问,所以应该声明为internal


测试代码:

 static void Main(string[] args)
        {
            var controller = new RemoteController();
            Console.WriteLine("Turn on the conditioner...\r\n");
            controller.SwitchPower();
            Console.WriteLine("================================================================");
            Console.WriteLine("Turn off the conditioner...\r\n");
            controller.SwitchPower();
            Console.WriteLine("================================================================");
            Console.WriteLine("Set the mode as \"cooling\"...\r\n");
            controller.SetMode(Mode.Cooling);
            Console.WriteLine("================================================================");
            Console.WriteLine("Set the mode as \"Heating\"...\r\n");
            controller.SetMode(Mode.Heating);
            Console.WriteLine("================================================================");
            Console.WriteLine("Turn up temp...\r\n");
            controller.SetTemp(UpDown.Up);
            Console.WriteLine("================================================================");
            Console.WriteLine("Turn down temp...\r\n");
            controller.SetTemp(UpDown.Down);
        }

运行结果:



源码在附件中,如有疑问,欢迎追问。

热心网友 时间:2023-10-13 18:53

你好!!
不明白这一条?? 6、 不允许写键盘输入的代码!不允许设计图形界面!

热心网友 时间:2023-10-13 18:54

需求分析:
前台界面,分为屏显区域和遥控按键区域。通过屏显显示现在空调的状态,通过按键改变状态。
代码设计,空调类,字段包括开关状态、温度、模式、属性和字段相对应,方法包括开机、关机、、制冷模式、制热模式、屏幕显示。
遥控器类继承空调类,方法包括重写开机、关机、制冷模式、制热模式、屏幕显示,增加温度、降低温度。
C# “空调-遥控器”仿真程序

Console.WriteLine(this.conditioner); } }值得注意的是,“通过直接操作空调不能进行调节温度、改变模式(制热、制冷)。”这一条说明这些方法应该不允许被声明为public,但是又要能够被遥控器访问,所以应该声明为internal测试代码:static void Main(string[] args) { var controller = new ...

求一个冰箱和空调的控制程序

没有明白,控制程序都是厂家设定好的,一般不能更改,你要的可能专业性太强,抱歉,实在没办法!

求用C#编写空调价格计算

同志们···你们···都写什么呢···用多个if分支,效率问题 有个就直接修改,用了几个开关分支···我先写一个给提问的朋友看看 static void Main(string[] args){ Console.WriteLine("输入季节(1.春天,2.夏天,3.秋天,4.冬天):");string s = Console.ReadLine();int t=0;Console...

夏天空调应该是太阳还是雪花啊?

1、空调功能图标:雪花-制冷,太阳-制暖,水滴-除湿,三角-自动,扇叶-通风。2、首次使用注意事项:不要忘记去掉外机套(如果有的话)。取下内机过滤网清洗,如果请专业清洁空调的人彻底清洁内机的冷凝器和外机的散热器更好,价格50元。遥控器电池检查,漏液的话更换新电池。 zhu_jiang | 发布于2009-06-24 举报|...

空调遥控器制热怎么调 空调遥控器怎么用 空调遥控器 没有遥控器怎么开空调 美的空调遥控器怎么用 空调遥控器按了没反应 格力空调遥控器 格力空调遥控器没反应 空调手机遥控器
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
魔兽世界51级在哪刷本 - 精华知识 魔兽世界51级BLSS怎么升级? 乌龟的尾巴有什么用? 将这一素材扩写成一篇作文,重点写事例 组装电脑怎么把电脑恢复到最先买到的状态? 从上海虹桥机场到浦东川沙镇合庆工业园东方久乐汽车安全气囊公司,怎么... 假牙吞进肚子里怎么办 卡西欧登山表 请问卡西欧登山表PRW-3500的防水性怎样? 飞鹤星蕴有喝的吗?打算给宝宝买这款奶粉,大家可以给点建议吗?_百度知 ... 银行办不了业务因为我身份证消磁怎么办? 谁能帮忙翻译一下,这些命令代表什么意思? 身份证消磁了,我有在外地,能不能办银行卡? stm32这两种初始化有什么不同 GPIO_Init,GPIO_StructInit,各位路过的看一下,困惑呀,谢谢啦 stm32操作mfrc500的函数谁有啊。给一个参考一下 身份证消磁了, 可以办理银行卡吗?? 身份证消磁了可以办银行卡吗? cannot initiate chat with all in current mode什么意思? ios 开发 宏定义 在哪个文件定义 请问身份证消磁了可以办理银行卡吗? current mode和query mode是什么含义 consistent mode和current mode的区别 ios中currentmode是什么意思 钥匙也不能带上飞机吗? 乘飞机钥匙能带吗? 飞机上能带钥匙吗 钥匙可以带上飞机吗? 坐飞机的时候钥匙等金属物品要拿出来检查吗? 坐飞机电子密钥匙可以随身携带吗 乘飞机钥匙可以托运吗? 身份证消磁了还能办银行卡吗? 电子负载的作用及原理 安卓开发: 我是新手,请问调节屏幕亮度的代码怎么写? 身份证消磁了怎么还能去银行办理业务 电子负载的工作原理 请问身份证消磁。能办银行卡吗? STM32的大神请进,问下关于GPIO库里面GPIO_Init()的问题 我的身份证消磁了然后我带上我的户口本还有我的身份证能去办理银行卡吗? 前端怎么更改百度地图的定位图标 人在外地,身份证消磁了,怎么办银行卡? win8电脑出现current running mode1.1.2是什么情况 身份证消磁了能不能办银行卡? 警察冻结支付宝账号多久可恢复? vivo手机出现current select fastboot mode 身份证消磁了能办银行卡吗? 支付宝账号被限制了要多久恢复? android uimodemanager兼容性有问题吗 身份证消磁了可以去银行办理业务吗 支付宝说账号存在风险暂时关闭了支付功能 怎么办 多久恢复? 支付宝账号收款中断多久解除?