八达网

标题: C ++ 作业求救 前面四大题都解决了 唯有第五大题 [打印本页]

作者: 诸葛亮    时间: 2008-4-17 11:27
标题: C ++ 作业求救 前面四大题都解决了 唯有第五大题
一、        编程题
1、在下面程序的横线处填上适当字句,使该程序执行结果为24。
#include<iostream>
using namespace std;

        class base
        {
                int X;
        public:
                //此处需要定义函数为X设置值
                //此处需要定义函数取X值
                //此处需要定义init函数
        };
        void main()
        {
                base test;
                test.init(6);
                cout<<test.GetX();
        }






2、在下面程序段横线处填上适当的内容
class A
        {
                ________
int n;
        public:
                A(int nn)
                {
                        n = nn
                        if(n==0)
                                pa=0;
                        else
                                pa=new int[n];
                }
________//定义析构函数,释放动态数组空间
};

3、定义一个学生成绩类CScore,描述学生成员的私有数据成员为学号(No)、姓名(Name[8])、数学(Math)、物理(Phi)、总分(Sum)。定义能输入学生成绩的公有成员函数Input()、能计算学生总分的成员函数Sum(),能显示学生成绩的成员函数Show().在main函数里使用这个类












4、编程定义飞机类CPlane描述2D游戏中的飞机,需要描述每一架飞机的飞行速度、飞行高度、飞行方向,现在的坐标。每架飞机有自己的编号、名称(这里用指针、动态内存分配的方式)。提供Draw函数根据坐标画出飞机(现在我们只要输出坐标值),提供Movement函数移动飞机(这里应该根据飞机的飞翔方向和飞行速度,改变飞机的坐标)。提供相应的函数来设置和得到这些参数。提供构造函数、析构函数、拷贝构造函数。在main函数里定义一个长度为5的CPlan对象数组,为这5个对象的成员随机赋值。在调用10次movement函数后,找出其中飞行距离最远的飞机和飞行距离最短的飞机,将它们的信息打印出来。





有点难想
作者: KoMoS    时间: 2008-4-17 11:29
我老了  死活没找到第5题
作者: austin2001    时间: 2008-4-17 11:29
...
作者: SimonGai    时间: 2008-4-17 11:30
我老了 死活没找到第5题
作者: benbensyp    时间: 2008-4-17 11:31
感觉很弱智的题.但是没见第五题
作者: 诸葛亮    时间: 2008-4-17 11:32
这是第五大题  有4道小题....


前面是选择  判断  填空  什么的
作者: benbensyp    时间: 2008-4-17 11:36
#include<iostream>
using namespace std;

class base
{
int X;
public:
void SetX(int x)
{
   this.X = x;
}
int GetX()
{
   return  this.X;
}
void init(int x)
{
     SetX(x);
}
};
void main()
{
base test;
test.init(6);
cout<<test.GetX();
}
作者: benbensyp    时间: 2008-4-17 11:38
class A
{
int * pa;
int n;
public:
A(int nn)
{
n = nn
if(n==0)
pa=0;
else
pa=new int[n];
}
~A()
{
  if (pa)
{
   delete[] pa;
   pa = 0;
}
}
};
作者: benbensyp    时间: 2008-4-17 11:45
定义一个学生成绩类CScore,描述学生成员的私有数据成员为学号(No)、姓名(Name[8])、数学(Math)、物理(Phi)、总分(Sum)。定义能输入学生成绩的公有成员函数Input()、能计算学生总分的成员函数Sum(),能显示学生成绩的成员函数Show().在main 函数里使用这个类
class CScore
{
   int  No;
   char[8] Name;
  int Math;
  int Phi;
  int sum;
public:
   CSore(int no,char* name)
{
   No = no;
   strcopy(Name,name);
}
   void input(int math,int phi)
   {
      this.Math = math;
     this.Phi = phi;
}
   void Sum()
{
  this.sum = Math+Phi;
}
  void Show()
{
  cout<<"Sum = "<<sum<<endl;
}
}

void main()
{
   CScore score(1,"sb");
   score.input(88,88);
   score.sum();
   score.Show();
}

[ 本帖最后由 benbensyp 于 2008-4-17 11:48 编辑 ]
作者: 诸葛亮    时间: 2008-4-17 11:47
谢谢了
作者: benbensyp    时间: 2008-4-17 11:58
编程定义飞机类CPlane描述2D游戏中的飞机,需要描述每一架飞机的飞行速度、飞行高度、飞行方向,现在的坐标。每架飞机有自己的编号、名称(这里用指针、动态内存分配的方式)。提供Draw 函数根据坐标画出飞机(现在我们只要输出坐标值),提供Movement函数移动飞机(这里应该根据飞机的飞翔方向和飞行速度,改变飞机的坐标)。提供相应的函数来设置和得到这些参数。提供构造函数、析构函数、拷贝构造函数。在main函数里定义一个长度为5的CPlan对象数组,为这5个对象的成员随机赋值。在调用10次movement函数后,找出其中飞行距离最远的飞机和飞行距离最短的飞机,将它们的信息打印出来。
class CPlane
{
   int Speed;
   int Height;
   int Direct;
   int PosX;
   int PosY;
   int No;
   char* Name;
   public:
     void Draw()
    {
       cout<<"X = "<<PosX<<"Y = " << PosY<<endl;
    }
     void Movement()
    {
         swich (Direct){
         case 1://向上飞;
          PosY = PosY + Speed;
          break;
         case 2://向左飞;
          PosX = PosX - Speed;
          break;
        case 3://向下飞;
         PosY = PosY - Speed;
         break;
        case 4;//向右飞
         PosX = PosX + Speed;
         break;
         defalt:
          break;
          }
    }
    设置函数和获取函数太简单.
   CPlane(int No,char* name);//构造函数
   {
      this.No = No;
      int len = strlen(name);
      this.Name  = new char[len +1];
      strcpy(Name,name);
      Name[len] = '\0';

      
   }
   ~CPlane();//析构函数
   {
      delte[] Name;
    }
   Cplane(CPlane& plane);//拷贝构造函数
}

[ 本帖最后由 benbensyp 于 2008-4-17 12:05 编辑 ]




欢迎光临 八达网 (https://www.8-da.com/) Powered by Discuz! X2.5