哪错了???

travelerl 2017-11-05 04:01:44
#include <iostream>
#include <windows.h>
using namespace std;
const double PI = 3.14159;
const float Stockade_cost = 35; //每米的栅栏价格
const float Passage_cost = 20; //过道价格
class cal
{
public:
cal(float r); //构造函数
float perimeter ; //栅栏长度
float area ; //过道面积
private:
float R; //半径
}
cal::cal(float r)
{
R = r;
}
float cal::perimeter
{return 2 * PI * R; }
float cal::area const
{return PI * R * R;}
int main()
{
float R;
float Stockade_cost;
float Passage_cost;
cout << "输入半径:";
cin >> R;
cal pool(R);
cal maxpool(R + 3);
Stockade_cost = maxpool.perimeter()*Stockade_cost;
cout << "栅栏造价:" << Stockade_cost << endl;
Passage_cost = (maxpool.area() - pool.area())*Passage_cost;
cout << "过道造价:" << Passage_cost << endl;
system("pause");
return 0;
}
...全文
160 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
自信男孩 2017-11-07
#include <iostream>
//#include <windows.h>
using namespace std;

const double PI = 3.14159;
const float Stockade_cost = 35;  //每米的栅栏价格
const float Passage_cost = 20;   //过道价格

class cal
{
    public:
        cal(float r);       //构造函数
        float perimeter() ;   //栅栏长度
        float area() const ;        //过道面积
    private:
        float R;            //半径
};

cal::cal(float r)
{
    R = r;
}

float cal::perimeter()
{
    return 2 * PI * R;
}

float cal::area()const
{
    return PI * R * R;
}

int main()
{
    float R;
    float Stockade_cost;
    float Passage_cost;
    cout << "输入半径:";
    cin >> R;
    cal pool(R);
    cal maxpool(R + 3);
    Stockade_cost = maxpool.perimeter()*Stockade_cost;
    cout << "栅栏造价:" << Stockade_cost << endl;
    Passage_cost = (maxpool.area() - pool.area())*Passage_cost;
    cout << "过道造价:" << Passage_cost << endl;
    //system("pause");
    return 0;
}
参考一下吧;
   float Stockade_cost;
    float Passage_cost;
这两个变量没有初始化,将会是随机值
  • 打赏
  • 举报
回复
赵4老师 2017-11-07
偶遇到类似问题都是用 “每次用/*...*/注释掉不同部分再重新编译,直到定位到具体语法出错的位置。” 的方法解决的。
  • 打赏
  • 举报
回复
destory27 2017-11-07
class cal { }; float cal::perimeter() {return 2 * PI * R; } float cal::area() const {return PI * R * R;}
  • 打赏
  • 举报
回复
tomyalonso 2017-11-07
perimeter是函数吧?应该写成perimeter(),还有area也一样,类的声明最后的}后面要加分号;
  • 打赏
  • 举报
回复
FoolCarpe 2017-11-05
float cal::perimeter
{return 2 * PI * R; }
float cal::area const
{return PI * R * R;}
错了,声明在哪儿? 函数括号了?
  • 打赏
  • 举报
回复
das白 2017-11-05
类}后面少个 ;
  • 打赏
  • 举报
回复
相关推荐
发帖
C++ 语言
加入

6.1w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
申请成为版主
帖子事件
创建了帖子
2017-11-05 04:01
社区公告
暂无公告