瑞星卡卡安全论坛

首页 » 技术交流区 » 系统软件 » 【原创】刚做完的C++练习题(作一个带选择的求矩形正方形和长方型面积程序)
wyyyyyy - 2005-11-15 16:10:00
作一个带选择的求矩形正方形和长方型面积程序

#include <iostream>
using namespace std;

class A{
protected:
    int x;
    int y;
public:
     virtual void show() = 0;
};

class B:public A{
public:
    void show(){
        cout<<"输入矩形长和宽 :";
        cin>>x>>y;
        cout<<"矩行面积是 :"<<x*y<<endl;
    }
};

class C:public A{
public:
    void show(){
        cout<<"输入三角形的低长和高 :";
        cin>>x>>y;
        cout<<"三角形面积是 :"<<(x*y)/2<<endl;
    }
};

class D:public A{
    void show(){
       cout<<"输入正方形的边长 :";
        cin>>x;
        cout<<"正方形面积是 :"<<x*x<<endl;
    }
};

void main()
{
    char i='0';
    A *p;
    cout<<"1.矩行面积 "<<"2.三角形面积 "<<"3.正方形面积 "<<"4.退出"<<endl;
    while(i!='4')
    {
        cout<<"选择 :";
        cin>>i;
        switch(i){
                  case '1':p = new B;p->show();break;
                 case '2':p = new C;p->show();break;
                 case '3':p = new D;p->show();break;
        }
    }
}
haste - 2005-11-17 9:17:00
楼主有什么问题吗
wyyyyyy - 2005-11-17 15:13:00
引用:
【haste的贴子】楼主有什么问题吗
...........................


没要问的问题
就是第1次作这样的题 居然能作出来 运行也是第1次没错误 心情好就发出来给广大初学者参考一下

感觉程序后面好像要+上delete p;不过不+也运行正常
haste - 2005-11-17 17:46:00
呵呵.
雨夜的寂寞 - 2005-11-18 12:42:00
自我陶醉帖啊..呵呵..恭喜楼主.
天下奇才 - 2005-11-19 21:28:00
好像有一个小漏洞,如果我选5呢?
是否该加入这样一个限制呢
if (i<>1||i<>2||i<>3||i<>4)
{
cout<<"输入数据有误";
}
haste - 2005-11-20 17:16:00
引用:
【天下奇才的贴子】好像有一个小漏洞,如果我选5呢?
是否该加入这样一个限制呢
if (i<>1||i<>2||i<>3||i<>4)
{
cout<<"输入数据有误";
}

...........................



<>?????????

!=


???
天下奇才 - 2005-12-3 10:45:00
看看这段
switch(i){
case '1':p = new B;p->show();break;
case '2':p = new C;p->show();break;
case '3':p = new D;p->show();break;
}
只限定了i取1,2,3的情况,如果我捣蛋一些,选一个5呢?有没有提示错误呢?
蒙蒙的天空 - 2006-1-1 19:32:00
可以更短
1
查看完整版本: 【原创】刚做完的C++练习题(作一个带选择的求矩形正方形和长方型面积程序)