☆748 2022-03-08 16:42 采纳率: 100%
浏览 55
已结题

C语言实操,求解答,123456

石头剪子布游戏
电脑出牌我应对,0 1 2分别代表石头剪子布。三局两胜,平局不计数,显示获胜者

  • 写回答

2条回答 默认 最新

  • 爱音斯坦牛 全栈领域优质创作者 2022-03-08 16:55
    关注
    
    #include<iostream>
    #include<stdlib.h>
    #include<ctime>
    #include<iostream>
    using namespace std;
    class win
    {
    public:
        win(int r,int h)  //构造函数:将r h传入类的对象
        {
            i=r;
            j=h;
    
        }
        char result(int i,int j); //判断胜负关系
    
        void print();  //根据胜负关系输出信息
    
    private:  //成员变量
        int i,j;
        char a,ch;
    
    };
    char win::result(int i, int j)
    {
    
        if((i==0 && j==1)||(i==1 && j==2)||(i==2 && j==0))
            //return R;
            ch='R';
        else if((i==0 && j==2)||(i==1 && j==0)||(i==2 && j==1))
            //return P;
            ch='P';
        else if((i==0 && j==0)||(i==1 && j==1)||(i==2 && j==2))
            //return N;
            ch='N';
        return ch;
    };
    void win::print()
    {
        char a=result(i,j);
        switch(a)
        {
        case'R': cout<<"you win!"<<endl; 
            break;
        case'P': cout<<"sorry,I win!"<<endl;
            break;
        case'N': cout<<"we are ok!"<<endl; 
            break;
    
        }
    
    }
    
    int main()
    {
        int o;int p;
        char cha;
    
        int m=1;
        while(m==1)
        {
            cout<<"石头=0  剪刀=1  布=2 \n"<<endl;
            cout<<"please input a number"<<endl;
            cin>>o;
            while(o>2)
            {
                cout<<"please input a number again"<<endl;
                cin>>o;
            }
    
            srand((unsigned)time(0));
            p=rand()%3;  //p取得一个0~2之间的随机数
            cout<<p<<endl;
            win sjb(o,p);  //sjb是win类的一个对象
            sjb.result(o,p);  //判断胜负关系
            sjb.print();  //根据胜负关系输出信息
            cout<<"Do you want to try again?"<<endl;
            cin>>cha;
            if(cha=='y'){m=1;}
            else if(cha=='n')
            {m=0;cout<<"game over"<<endl;}
        }
        return 0;
    
    }
    

    img


    可以参考!!!
    麻烦采纳一下哦!谢谢

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月6日
  • 已采纳回答 3月29日
  • 创建了问题 3月8日

悬赏问题

  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP