回 帖 发 新 帖 刷新版面

主题:[原创]新手求助!!!!!!无力吐槽!!啊啊啊啊啊啊

楼主
生活中的一个类:牛,具有“年龄”、“朝向”的属性,如朝南、朝北等;具有改变朝向的行为:如向左转、向右转、向后转等。
有一头黄牛,具有以下动作,看到红旗,向左转;看到绿旗,向右转;看到蓝旗,向后转。
编写程序实现以下功能:请用户输入黄牛的年龄、朝向等属性,然后再输入旗帜的颜色,由程序输出牛看到旗帜动作之后的朝向。

这是老师留下的作业,表示老师水平不怎么样,我  0基础 !!!很有压力。
这是她提供的程序残片

#include <iostream.h>


class Cow
{
public:
    void TurnLeft();
    void TurnRight();
    void TurnBack();
    int get Direction(){return Direction};
private:
    int Direction,Age;
};

void Cow::TurnLeft()
{
    Direction-=1;
    if (Direction<0)
        Direction+=4;
}

void Cow::TurnBack()
{
    Direction+=2;
    Direction%=4;
}

void Cow::TurnRight()
{
    Direction+=1;
    Direction%=4;
}

int main()
{
     cout<<"now the cow is heading to the north"<<endl;
     cout<<"let us use 1:turn left;2: turn right; 3: turn back"<<endl;

}
那些 使牛转向 的函数写的正确么????

求正解!!!!!

回复列表 (共1个回复)

沙发

在 Cow 构造函数中应该将 Direction 初始化为0

“那些 使牛转向 的函数写的正确么?” ------ 正确,但如果是我的话,我会写成
右转 Direction = (Direction+1)%4;
后转 Direction = (Direction+2)%4;
左转 Direction = (Direction+3)%4;

我来回复

您尚未登录,请登录后再回复。点此登录或注册