你这个题不是问过一次了吗,又有什么问题了?
如果是因为上次的结果不对,那是因为那个代码里面算圆面积和矩形周长的公式不对,圆的面积是pi*r*r,矩形的周长是2倍的宽加高,这不能算个问题啊;还有你如果想输出圆的计算结果,指针要指向圆的对象啊,要仔细一点啊
#include <iostream>#define PI 3.141592653
class CShape
{
public:
virtual float GetArea()=0
virtual float GetPerimeter()=0
}
//长方形的面积和周长
class CRectangle : public CShape
{
public:
CRectangle (float h,float w) { H=h W=w }
float GetArea() { return float (H*W) }
float GetPerimeter() { return float (2*(H+W)) }
private:
float H,W
}
//圆的面积和周长
class CCircle : public CShape
{
public:
CCircle (float r) { R=r }
float GetArea() { return float (PI*R*R) }
float GetPerimeter() { return float (2*PI*R) }
private:
float R
}
//输出长方形和圆的面积与周长
using namespace std
int main()
{
CShape *PShape
CRectangle rect (4.0,5.0)
PShape=&rect
cout << PShape->GetArea()<<endl
cout << PShape->GetPerimeter()<<endl
CCircle cir (2)
PShape=&cir
cout << PShape->GetArea()<<endl
cout << PShape->GetPerimeter()<<endl
return 0
}
1、比如用基于对话框的MFC向导程序。定义个24道题的数据结构的数组。当前索引号nCurrentIndex=0表示第一个。
定义个24道题的整形数组保存答案。索引与当前题目同步使用nCurrentIndex。
在界面上放置几个单选按钮,分别响应单选按钮的OnButtonClick事件
当OnButtonClick事件响应时,记下是哪个按钮,切换到下一题目。
2、切换到下一题时,更新nCurrentIndex索引号,使用对应的选项内容更新单选按钮的文字。
这样依次做下去就可以了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)