有个猫和老鼠的c++ 谁帮做一下
答案:4 悬赏:10 手机版
解决时间 2021-03-08 06:21
- 提问者网友:人生佛魔见
- 2021-03-07 21:21
有一只猫,有个名字,有个抓老鼠的记录,记录内容为原来为0抓到老鼠记录加一,并将老鼠设为死;有一只老鼠,有个名字有个生死记录;有个main函数,让猫抓到老鼠
最佳答案
- 五星知识达人网友:往事埋风中
- 2021-03-07 22:37
#include "stdio.h"
#include "conio.h"
#include
#include
#include
#include
struct mouse
{
CString name;
bool life;
};
class cat
{
public:
void fetchmouse();
void init();
int count();
private:
CString name;
int takemouse;
mouse ms;
};
void cat::fetchmouse()
{
ms.life=0;
takemouse++;
}
void cat::init()
{
takemouse =0;
}
int cat::count()
{
return takemouse;
}
void main()
{
cat ca;
mouse ms[200];
ca.init();
for(int i=0;i<200;i++)
{
if(ms[i].life) ca.fetchmouse();
}
printf("snatch mouse: %d",ca.count());
}
#include "conio.h"
#include
#include
#include
#include
struct mouse
{
CString name;
bool life;
};
class cat
{
public:
void fetchmouse();
void init();
int count();
private:
CString name;
int takemouse;
mouse ms;
};
void cat::fetchmouse()
{
ms.life=0;
takemouse++;
}
void cat::init()
{
takemouse =0;
}
int cat::count()
{
return takemouse;
}
void main()
{
cat ca;
mouse ms[200];
ca.init();
for(int i=0;i<200;i++)
{
if(ms[i].life) ca.fetchmouse();
}
printf("snatch mouse: %d",ca.count());
}
全部回答
- 1楼网友:罪歌
- 2021-03-08 00:35
设n为老鼠数目,l为那只幸运老鼠的位置 2^x | n -------------------------------- 2^0 | 2 2^1 | 3 4 2^2 | 5 6 7 8 2^3 | 9 10 11 12 13 14 15 16 ..................................... 上面2^x 中x表示第x行,2^x表示该行有多少个数,这些数就是n,比如n=12,相应的n在第3行 即2^x < n <= 2^(x+1) 所以,log(2,n)-1<= x < log(2,n) 且x 为int型 最后公式为: l= (n-2^x)*2
也就是说,找到一个最大的x使得2的x次最接近切小于n,然后套用公式l就是那个值
至于程序怎么写,我想不用多说了吧?毕竟还是学过c语言的吧。
- 2楼网友:舊物识亽
- 2021-03-08 00:14
#include
#include
#include
using namespace std;
class mouse
{
public:
string name;
bool life;
mouse(string n,bool l){name=n;life=1;}
};
class cat
{
public:
cat(string str,int s=-1){name=str;sum=s;}//类的构造函数,函数名一定要和类名一样
string name;
int sum;
mouse * m[100];//存放被该猫吃的老鼠
void catchm(mouse * a){a->life=false;m[++sum]=a;}//杀死老鼠,sum加一
void shuchu()
{
cout<<"被"<name;cout<life<>n;
ms=new mouse(n,true);
cout<<"该老鼠是否讲被猫逮到(是的话输入一个非零的数字):";
cin>>a;
if(a)
{
c.catchm(ms);
}
cout<<"是否要退出显示被杀的老鼠(输入一个非零数字则退出):";
cin>>b;
if(b)
{break;}//退出循环
a=0;
b=0;
}
c.shuchu();
}
- 3楼网友:野味小生
- 2021-03-07 23:04
定义2个类,一个cat,一个mouse
cat类下面有属性name(string),count(int)还有方法set(mouse)设置老鼠为死
mouse类下面有属性name(string),bool型的生死变量。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯