结对编程之电梯

电梯调度

结对伙伴:朱民福http://http://www.cnblogs.com/zhumf/

现有一新建办公大厦,共有21层,共有四部电梯,所有电梯基本参数如下表所示:


电梯编号


可服务楼层


最大乘客数量


最大载重量


1


全部楼层


10


800 kg


2


单层


10


800 kg


3


双层


20


1600 kg


4


全部楼层


20


2000 kg

其使用规定如下:

1、楼层号为0~20,其中0号为地下一层;

2、有楼层限制的电梯不在响应楼层停靠,如单双层;

3、所有电梯采用统一按钮控制

请根据上述要求设计并实现一个电梯控制程序,如果有图形显示就更好了。

程序分析

首先运行,中间的textbox显示电梯的初始楼层,下边的button是用户所在楼层,最上边的是选择使用的电梯号。

假设人在15层,点击15,电梯是向上走的,置or为0。

public static class quanju
        {
            public static int flot = 0;//dianti suo zai louceng!
            public static int flag = 0;//运行状态
            public static int num_flot = 0;
            public static int or = 2;//0为上!1为下!2为静止
            public static int flot1 = 0;
            public static int flot2 = 0;
            public static int flot3 = 2;
            public static int flot4 = 0;
        }

比电梯所在楼层的楼层按钮低的不响应。

到达15层,开门!并且重置禁止响应的楼层按钮。

实现是通过在窗口中添加4个timer控件,在控件中分别控制对应的电梯运行,其中的语句在4个timer事件中差不多

private void timer1_Tick(object sender, EventArgs e)
        {
            if (quanju.flag == 0)//没到
            {
                int a = quanju.flot;
                quanju.num_flot = a;
                if (a > quanju.flot1 && quanju.flot1 < 21)
                {
                    quanju.or = 0;//正在向上
                    textBox1.Text = Convert.ToString(quanju.flot1);
                    quanju.flot1++;
                }
                else if (a < quanju.flot1 && quanju.flot1 > -1)
                {
                    quanju.or = 1;//正在向下
                    textBox1.Text = Convert.ToString(quanju.flot1);
                    quanju.flot1--;
                }
                else if (a == quanju.flot1)
                {
                    quanju.or = 2;//正在开门
                    textBox1.Text = Convert.ToString(quanju.flot1);
                    timer1.Enabled = false;//关闭计时器
                    quanju.flag = 1;
                }
            }
            if (quanju.flag == 1)//到达指定楼层
            {
                textBox1.Text = "正在开门! ";
                quanju.flag = 0;//可以运行
                quanju.or = 2;//静止
                button2.Enabled = true;
                button6.Enabled = true;
                button7.Enabled = true;
                button8.Enabled = true;
            }
        }

然后就是电梯如果是向上状态,应该禁止响应比电梯楼层低的楼层按钮。

private void button2_Click(object sender, EventArgs e)
        {
            if(quanju.or==0)   //shang
            {
                //比当前楼层低的按钮不响应
                if(int.Parse(button2.Text)<=quanju.flot1)
                {
                    button2.Enabled = false;
                }
            }
            else if (quanju.or == 1)//xia
            {
                //比当前楼层高的按钮不响应
                if (int.Parse(button2.Text) >= quanju.flot1)
                {
                    button2.Enabled = false;
                }
            }
            else  //静止状态传送本按钮楼层
            {
                quanju.flot = int.Parse(button2.Text);
            }
        }

最后就是上边的选择要使用的电梯号。事件为启动timer控件。

public void button1_Click(object sender, EventArgs e)
        {
                timer1.Enabled = true;
        }

总结

在这次结队编程过程中,我深刻体会到了团队编程的重要性,集体的智慧是无穷大的,这次编程朱民福是主要的,我跟着学了不少知识。

时间: 2024-10-03 14:57:00

结对编程之电梯的相关文章

结对编程之电梯调度

编程任务:电梯调度 结对人员:左少辉-12061209,杨昊兰-12061202,吕雨朗 一.此次软工作业确实是让人却步的不敢开始,不过结对编程使得我对完成作业又有了信心,开始没有积极组队的我落单了,后来只能是申请加入已经组好的队伍,所以我们其实是一个三人组,都说人多力量大,想法也就会开阔许多,做起作业来也会顺利许多.起初对作业不是很了解,光是看英文要求就已经醉了,后来还是硬着头皮开始了漫长的代码阅读,浅学c#觉得语法也就一般般,不过看到如此绚丽的代码还是各种懵~确实一个人做起来简直是困难,但是

结对编程作业——电梯调度

作业要求: 现有一新建办公大厦,共有21层,共有四部电梯,所有电梯基本参数如下表所示: 电梯编号 可服务楼层 最大乘客数量 最大载重量 1 全部楼层 10 800 kg 2 单层 10 800 kg 3 双层 20 1600 kg 4 全部楼层 20 2000 kg 其使用规定如下: 1.楼层号为0~20,其中0号为地下一层: 2.有楼层限制的电梯不在响应楼层停靠,如单双层: 3.所有电梯采用统一按钮控制 请根据上述要求设计并实现一个电梯控制程序,如果有图形显示就更好了. 需求分析: 1.共有4

结对编程:电梯调度

电梯调度项目: 项目分析与需求: 从题目上来看,项目要求编写一个掌控电梯的程序.电梯这个东西,大家都乘过,无非就是:乘客上电梯,判断是否超重,乘客选择想要达到的楼层,最后依次去到离需求最近的一个楼层. 项目中要求有四个电梯,其中第一号和第四号电梯是一模一样的,只需要把负载量给修改即可:第二和第三也大同小异,只需要把负载量和输入楼层的判断方式修改一下即可. 在我们的设想中,我们要达到的效果是这样的:得有一个switch语句,来控制一开始的电梯选择界面:之后在case语句之后相应搭载各种需要的语句以

结对编程项目——电梯调度

电梯调度 现有一新建办公大厦,共有21层,共有四部电梯,所有电梯基本参数如下表所示: 电梯编号 可服务楼层 最大乘客数量 最大载重量 1 全部楼层 10 800 kg 2 单层 10 800 kg 3 双层 20 1600 kg 4 全部楼层 20 2000 kg 其使用规定如下: 1.楼层号为0~20,其中0号为地下一层: 2.有楼层限制的电梯不在响应楼层停靠,如单双层: 3.所有电梯采用统一按钮控制 请根据上述要求设计并实现一个电梯控制程序,如果有图形显示就更好了. 伙伴介绍与评价: 本次结

结对编程之电梯调度算法

   电梯调度结对编程                             1.题目:设计一个电梯调度算法,实现基本的电梯调度功能,要求有四部电梯,每部电梯21层,并且具有重量检验算法. 2.设计前的准备:确定了结对之后,我们首先对设计中可能遇到的问题进行了大体的分析与讨论,确定了编程的方向(java语言)并且约定了一些编程规范,语法规范为使用eclipse中的format规范代码,其他可能遇到的编程问题会在开发中随时交流.接着我们对题目进行了更深入的分析,考虑到电梯运行时的各种情况并发表自

结对编程项目--电梯调度(合作伙伴叶思维)

我们所完成的项目是电梯调度,具体要求如下: 一.项目以及合作伙伴 项目:现有一新建办公大厦,共有21层,共有四部电梯,所有电梯基本参数如下表所示: 电梯编号 客服务楼层 最大乘客数量 最大载重量 1 全部楼层 10 800kg 2 单层 10 800kg 3 双层 20 1600kg 4 全部楼层 20 2000kg 其使用规定如下: 1.楼层号为0到20,其中0为地下一层. 2.有楼层限制的电梯不在响应楼层停靠,如单双层. 3.所有电梯采用统一按钮标志. 合作伙伴:叶思维博客网址http://

结对编程 电梯调度程序

这次老师安排的是结对编程作业,也是第一次接触两人结对编程,感觉比较新鲜,有感觉难以入手,在经过协商之后,我们一起完成了我们的编程作业,感觉到很开心,也体会到合作的愉快,这是我们这次的成果. 这是这次的题目,感觉操控4个电梯比较困难,而且考虑情况很多,所以我们在做了很多的构想以后,我们才开始编写程序. 1 #include<iostream> 2 #include<Windows.h> 3 #include <conio.h> 4 using namespace std;

结对编程——电梯调度 总结

结对成员:口平音 阮磊 coding系统地址:https://coding.net/user?key=2e63bb37-ddda-401d-8763-5c9ce6b1e8e7 口平音cnblogs主页地址:http://home.cnblogs.com/u/199489KPY/ 注:关于这次结对编程的程序我觉着我的队友口平音同学(请允许我下文用“口”来代替,日常习惯于这样称呼)已经进行了详细的解释,请老师点击 http://www.cnblogs.com/199489KPY/p/5364383.

电梯调度程序结对编程

结对人员:马佐霖  王迪 1.结对编程    1.1结对编程优缺点 (1)首先应该是结对编程的高效率了,结对编程的时候,两个人可以分开做不同的unit,也可以同时做相同的unit.在项目的一些简单的unit,一个人能够很简单的unit就可以分给不同的人去做:对于核心的unit,比如说此次项目电梯调度的算法部分,这是一个核心的部分,需要我们共同讨论,经过讨论后再去实现,或者两个人分别写出自己的想法,用代码实现,这时候,综合两个人效率高的那个人的算法.另外,在结对编程时候,有一定相互监督作用,比起一