这个程序最后应该如何正确输出……

Aha_程序猿 Aha_程序猿 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
/*main.cpp*/]
#include<iostream>
#include<vector>
#include<algorithm>
#include"CShap.h"
#include"Compare.h"
using namespace std;
vector<CShap *> pShapes;
int main()
{
int i, n;
CRectangle* pr;
CCricle* pc;
CTriangle *pt;
cout << "Please enter the number of geometry: " << endl;
cin >> n;
for (i = 0; i < n; i++){
char c;
cout << "Please enter the sharp you want to calculate:" << endl << "(R:Rectangle T:Triangle C:Cricle)" << endl;
cin >> c;
switch (c){
case 'R':
pr = new CRectangle();
cout << "Please enter the width and high: " << endl;
cin >> pr->width >> pr->high;
pShapes.push_back(pr);
break;
case 'T':
pt = new CTriangle();
cout << "Please enter sides: " << endl;
cin >> pt->a >> pt->b >> pt->c;
pShapes.push_back(pt);
break;
case 'C':
pc = new CCricle();
cout << "Please enter radius: " << endl;
cin >> pc->r;
pShapes.push_back(pc);
break;
}
}
sort(pShapes.begin(), pShapes.end(),Compare);
vector<CShap *>::iterator it;
for (it = pShapes.begin(); it != pShapes.end(); it++){
*it;
}
system("pause");
return 0;
}


/*CShap.h*/
#include<iostream>
#include<math.h>
using std::cout;
using std::endl;
class CShap{
public:
virtual double Area() = 0;
virtual void PrintInfo() = 0;
};
class CRectangle :public CShap{
public:
double width, high;
virtual double Area();
virtual void PrintInfo();
};
class CCricle :public CShap{
public:
double r;
virtual double Area();
virtual void PrintInfo();
};
class CTriangle :public CShap{
public:
double a, b, c;
virtual double Area();
virtual void PrintInfo();
};
double CRectangle :: Area(){
return width*high;
}
void CRectangle::PrintInfo(){
cout << "Rectangle: " << Area() << endl;
}
double CCricle::Area(){
double pi = 3.141592653;
return pi*r*r;
}
void CCricle::PrintInfo(){
cout << "Cricle: " << Area() << endl;
}
double CTriangle ::Area(){
double p = (a + b + c) / 2.0;
return sqrt(p*(p - a)*(p - b)*(p - c));
}
void CTriangle::PrintInfo(){
cout << "Triangle: " << Area() << endl;
}



/*Compare.cpp*/
#include"CShap.h"
bool Compare(const void*s1, const void*s2)
{
double a1, a2;
CShap**p1;
CShap**p2;
p1 = (CShap**)s1;
p2 = (CShap**)s2;
a1 = (*p1)->Area();
a2 = (*p2)->Area();
if (a1 < a2){
return 1;
}
else{
return 0;
}
}



/*CShap.h*/
#ifndef CShap_h
#define CShap_h
#include<iostream>
#include<math.h>
using std::cout;
using std::endl;
class CShap{
public:
virtual double Area() = 0;
virtual void PrintInfo() = 0;
};
class CRectangle :public CShap{
public:
double width, high;
virtual double Area();
virtual void PrintInfo();
};
class CCricle :public CShap{
public:
double r;
virtual double Area();
virtual void PrintInfo();
};
class CTriangle :public CShap{
public:
double a, b, c;
virtual double Area();
virtual void PrintInfo();
};
#endif


/*Compare.h*/
#ifndef Compare_h
#define Compare_h
#include"CShap.h"
bool Compare(const void*s1, const void*s2);
#endif


然后运行到这里就出问题了。。。
...全文

相关推荐

29Linux基础命令详解——用户管理.docx

29Linux基础命令详解——用户管理

云计算练习生

科技服务机构如何通过数据分析增强服务竞争力?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

vue+springboot基于 Java 的南昌实利广告公司的员工管理系统的设计与实现_oj680rl3毕业设计源码数据库.zip

vue+springboot基于 Java 的南昌实利广告公司的员工管理系统的设计与实现_oj680rl3毕业设计源码数据库.zip

源码论文专家

车辆缺陷分割数据集4000张json格式.zip

数据集格式:labelme格式(不包含mask文件,仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数):4000 标注数量(json文件个数):4000 标注类别数:1 标注类别名称:["defect"] 每个类别标注的框数: defect count = 8740 总框数:8740 使用标注工具:labelme=5.5.0 所在仓库:firc-dataset 图片分辨率:640x640 标注规则:对类别进行画多边形框polygon 重要说明:可以将数据集用labelme打开编辑,json数据集需自己转成mask或者yolo格式或者coco格式作语义分割或者实例分割 特别声明:本数据集不对训练的模型或者权重文件精度作任何保证

不会仰游的河马君

高校如何利用技术转移服务转化科研成果并提升影响力?.docx

高校如何利用技术转移服务转化科研成果并提升影响力?

BIZKEEN
评论 6
收藏 已收藏
分享
返回顶部
Aha_程序猿
新手乐园 33,315 成员 41,769 内容