# include"iostream"
using namespace std;
class Game
{
public:
 int m[4];
 int n;
 void bijiao(int m[4])
 {
  if(m[0]==0)      //人不在
  {
   if(m[1]==0)  //狼不在
   {
    if(m[2]==1)     //羊在
    {
     if(m[3]==1)    //菜在
      {
       cout<<"很遗憾,羊吃了菜"<<endl;
       n=0;
          }
    }
   }
   else       //狼在
   {
    if(m[2]==1)    //羊在
    {
     cout<<"很遗憾,狼吃掉了羊"<<endl;
     n=0;
    }
   }
  }
 }
};
class Cout
{
public:
 int c[4],d[4];
 void shuchu(int c[4],int d[4])
 {
  cout<<"                              |               |             "<<endl;
  cout<<"                              |               |             "<<endl;
  cout<<"                              |               |             "<<endl;
  cout<<"                              |               |             "<<endl;
  cout<<"            ";
  if(c[0]==0) cout<<"    ";else cout<<"狼  ";if(c[1]==0) cout<<"    ";else cout<<"羊  ";
  if(c[2]==0) cout<<"    ";else cout<<"菜  ";if(c[3]==0) cout<<"      ";else cout<<"农夫  ";
  cout<<"|               |";
  if(d[0]==0) cout<<"    ";else cout<<"农夫  ";if(d[1]==0) cout<<"    ";else cout<<"菜  ";
  if(d[2]==0) cout<<"    ";else cout<<"羊  ";if(d[3]==0) cout<<"    ";else cout<<"狼"<<endl;
     cout<<"                              |               |             "<<endl;
  cout<<"                              |               |             "<<endl;
  cout<<"                              |               |             "<<endl;
  cout<<"                              |               |             "<<endl;
 }
 void tishi()
 {
  cout<<"请选择农夫带着谁过河,输入代表的数字,摁Enter确认"<<endl;
  cout<<"1.菜"<<endl<<"2.羊"<<endl<<"3.狼"<<endl;
 }
};
class choice:public Cout
{
public:
 void xuanze1()
//感觉问题出现在这里,switch语句执行后,并不能够改变数组C的值
 {
  int i;
  cin>>i;
  switch(i)
  {
  case '1':c[2]=1,c[3]=1,d[0]=0,d[1]=0;
  case '2':c[1]=1,c[3]=1,d[0]=0,d[2]=0;
  case '3':c[0]=1,c[3]=1,d[0]=0,d[3]=0;
  }
 }
 void xuanze2()
 {
  int j;
  cin>>j;
  switch(j)
  {
  case '1':c[2]=0,c[3]=0,d[0]=1,d[1]=1;
  case '2':c[1]=0,c[3]=0,d[0]=1,d[2]=1;
  case '3':c[0]=0,c[3]=0,d[0]=1,d[3]=1;
  }
 }
};
# include "iostream"
using namespace std;
# include "game.h"
void main()
{
 Game a;
 for(int i = 0; i < 5; i++)
  {
    a.m[i] =0;
  }
 Game b;
 for(int i = 0; i < 5; i++)
  {
    b.m[i] =1;
  }
 Cout q;
 choice o;
 while(b.m[0]==1||b.m[1]==1||b.m[2]==1||b.m[3]==1)
 {
 q.shuchu(a.m,b.m);
 q.tishi();
 o.xuanze1();
 a.bijiao(a.m);
 b.bijiao(b.m);
 system("cls");
 q.shuchu(a.m,b.m);
 q.tishi();
 o.xuanze2();
 a.bijiao(a.m);
 b.bijiao(b.m);
 system("cls");
 }
 system("pause");
};问题存在于执行switch语句后,类Cout中的C D数组值,并不能够改变,求教如何实现这个程序,多谢了
你小子可以啊
相关分类