球C++高手帮忙

2024-11-26 21:17:55
推荐回答(2个)
回答1:

不知道用C语言可不可以啊!我刚做完。
---------------VC++6.0下调试通过。
保龄球规则的c++代码
规则如下:
保龄球一场共10局,每一局最多打2球,至少打1球。
每一局共有10个瓶子,击倒一个瓶子得1分。若第1局到第9局的第一个球击倒10个瓶子(全倒),
则跳入下一局,不需要打第2个球。
若第10局的第1个球击倒10个瓶子,或者第10局的2个球加起来击倒10个瓶子(补中),
则第10局可以打第3个球。
保龄球10局最少打11个球,最多打21个球。
计分方式若该局中第1球击倒10个瓶子,则本局分数加计下两球的分数;
若一局中第1球加第2球共击倒10个球则本局分数会加计下局第1球的分数;
若一局2球没有击倒10个瓶子,该局只计击倒瓶子的分数。
*///***********************************************************************************/
#include
using namespace std;

struct pacegame//每局规则
{
int bt[3];
signed short score;//总分
};

static pacegame Arr[10];

void main()
{
cout<<"****************************************************************************"< cout<<"* *"< cout<<"* 欢迎您使用保龄球计分系统! *"< cout<<"* *"< cout<<"****************************************************************************"< cout<<"* (请根据提示输入每局击瓶数) *"< cout<<"****************************************************************************"< for (int i=0; i<10; i++)
{
for (int j=0; j<3; j++)
Arr[i].bt[j]=0;
Arr[i].score=0;
}
char exit='\0';
cout<<"正否开始新的一局?(任意键开始!Ctrl+Z退出!)"< while ((exit=cin.get())!=EOF)
{
for (i=0; i<10; i++)
{
for (int j=0; j<2; j++)
{
cout<<"第"< cin>>Arr[i].bt[j];
Arr[i].bt[j]=Arr[i].bt[j]%11;
if (1==j)
{
if ((Arr[i].bt[0]+Arr[i].bt[1])>10)
Arr[i].bt[j]=10-Arr[i].bt[0];
}
if ((10==Arr[i].bt[j]||10<=(Arr[i].bt[0]+Arr[i].bt[1])))
{
if (9==i)
{
cout<<"最后一局全部击倒!追加一球!"< cout<<"追加球击倒瓶数: "< cin>>Arr[i].bt[2];
Arr[i].bt[2]=Arr[i].bt[2]%11;
break;
}
else
{
if (0==j) Arr[i].bt[2]=-2;
if (1==j) Arr[i].bt[2]=-1;
cout<<"恭喜你!全倒!进入下一局。"< break;
}
}
}
}
//统计分数:
cout<<"*--------------------本局比赛结束!统计如下:--------------------------*"< int sum=0;
for (i=0; i<10; i++)
{
cout<<"第"< switch (Arr[i].bt[2])
{
case -1:
Arr[i].bt[2]=Arr[i+1].bt[0];
break;
case -2:
Arr[i].bt[2]=Arr[i+1].bt[0]+Arr[i+1].bt[1];
break;
}
Arr[i].score=Arr[i].bt[0]+Arr[i].bt[1]+Arr[i].bt[2];
cout<<"第一球击倒: "< Arr[i].bt[1]<<" | "<<"追加分: "< " | "<<"共计: "< sum+=Arr[i].score;
cout<<"----------------------------------------------------------------"< }
cout<<"本场总得分: "< ////////////////////////////////////////////////////////
cout<<"正否开始新的一局?任意键开始!Ctrl+Z退出!"< cin.get(exit);
}
cout<<"****************************************************************************"< cout<<"* (感谢使用!再见!) *"< cout<<"****************************************************************************"<}

回答2:

#include
const double PI=3.14159;
class Ball
{
double r;
public:
Ball() //默认构造函数
{
r=1; //将r的默认值设为1
}
Ball(double rr):r(rr)//含有一个参数的构造函数,用初始化列表对r赋值,这就是构造函数的重载
{}
void Area() //计算面积
{
cout<<"面积为:"< }
void Volume() //计算体积
{
cout<<"体积为:"<<4.0/3*PI*r*r*r< }
void Change__r(int rr)
{
r=rr;
}
};
void main()
{
Ball b1;
Ball b2(10);
b1.Area();
b1.Volume();
b2.Area();
b2.Volume();
b2.Change__r(15); //改变半径
b2.Area();
b2.Volume();
}