c++ class 问题

老师让写个class程序但是怎么无法运行啊我的程序是这样的:文件5035266.cpp#include<iostream>usingstd::cout;usingstd:... 老师让写个class程序但是怎么无法运行啊我的程序是这样的:
文件5035266.cpp
#include<iostream>

using std::cout;
using std::cin;
using std::endl;
#include "cycle.h"

int main()
{
cout<<"Using the c++ Class"<<endl;
cout<<"The cycle question"<<endl;
float r;
cout<<"Please enter the value of the radius"<<endl;
cin>>r;
cycle block;
block.setlong(r);
block.getarea(r);
block.displaylong;
block.setarea(r);
block.getarea(r);
block.displayarea();

cout<<"THE CYCLE END:)"<<endl;
system("pause");
return 0;
}
文件cycle.cpp:
#include "cycle.h"

float cycle::getarea(float r)
{
float area = 3.14*r*r;
return area;
}

float cycle::getlong(float r)
{
float clong = 2*3.14*r;
return clong;
}

bool cycle::setarea(float r)
{
if(r>=0)
return 1;
else
{
r=0;
return 0;
}
}

bool cycle::setlong(float r)
{
if(r>=0)
return 1;
else
{
r=0;
return 0;
}
}

void cycle::displayarea()
{
cout<<"The cycle area is "<<area<<endl;
}

void cycle::displaylong()
{
cout<<"The cycle long is "<<clong<<endl;
}
文件cycle.h:
#ifndefine CYCLE_H
#define CYCLE_H
class cycle
{
public:
float getarea();
float getlong();
bool setarea(float);
bool setlong(float);
void displayarea();
void displaylong();
private:
float r;
float area;
float clong;

};
#endif
展开
 我来答
aopudan
2009-02-07
知道答主
回答量:38
采纳率:0%
帮助的人:25.2万
展开全部
你这个程序问题很多 首先函数没有重载 其次预编译头也有问题 应该是#ifndef
而不是 #ifndefine 还有头上的名称空间 只要写 using namespace std;就可以了 还有,使用参数的话直接创建一个构造函数就可以了
你的代码我改了下:
#include "stdafx.h"
#include<iostream>
using namespace std;

class cycle
{
public:
float getarea(float);
float getlong(float);
bool setarea(float);
bool setlong(float);
void displayarea();
void displaylong();
private:
float area;
float clong;
};

float cycle::getarea(float r) { area=3.14*r*r; return area;}

float cycle::getlong(float r) { clong=2*3.14*r; return clong;}

bool cycle::setarea(float r)
{
if(r>=0) return 1;
else return 0;
}

bool cycle::setlong(float r)
{
if(r>=0) return 1;
else return 0;
}

void cycle::displayarea()
{
cout<<"The cycle area is "<<area<<endl;
}

void cycle::displaylong()
{
cout<<"The cycle long is "<<clong<<endl;
}

int main()
{
cout<<"Using the c++ Class"<<endl;
cout<<"The cycle question"<<endl;
float r;
cout<<"Please enter the value of the radius"<<endl;
cin>>r;
cycle block;
block.setlong(r);
block.getarea(r);
block.displaylong;
block.setarea(r);
block.getarea(r);
block.displayarea();

cout<<"THE CYCLE END:)"<<endl;
system("pause");
return 0;
}

我顺便用构造函数的方式实现一下,你看看是不是要比你这好得多:
#include "stdafx.h"
#include<iostream>
using namespace std;

class cycle
{
public:
cycle(float);
~cycle();
float getarea();
float getlong();
int setarea();
int setlong();
void displayarea();
void displaylong();
private:
float r;
float area;
float clong;
};

cycle::cycle(float b) {r=b;}

cycle::~cycle(){}

float cycle::getarea() { area=3.14*r*r; return area;}

float cycle::getlong() { clong=2*3.14*r; return clong;}

int cycle::setarea()
{
if(r>=0) return 1;
else return 0;
}

int cycle::setlong()
{
if(r>=0) return 1;
else return 0;
}

void cycle::displayarea()
{
cout<<"The cycle area is "<<area<<endl;
}

void cycle::displaylong()
{
cout<<"The cycle long is "<<clong<<endl;
}

int main()
{
cout<<"Using the c++ Class"<<endl;
cout<<"The cycle question"<<endl;
float r;
cout<<"Please enter the value of the radius"<<endl;
cin>>r;
cycle block(r);
block.setlong();
block.getarea();
block.displaylong();
block.setarea();
block.getarea();
block.displayarea();
cout<<"THE CYCLE END:)"<<endl;
system("pause");
return 0;
}
yumenstar
2009-02-07 · TA获得超过946个赞
知道小有建树答主
回答量:538
采纳率:0%
帮助的人:396万
展开全部
#include<iostream>

using std::cout;
using std::cin;
using std::endl;

改成:
#include<iostream.h>

然后你就会看到错误提示了,好几个错误,你自己一个一个修改吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
┌逃离世界8f5d
2009-02-07 · TA获得超过760个赞
知道小有建树答主
回答量:330
采纳率:0%
帮助的人:326万
展开全部
#include<iostream>
#include "cycle.h"
using namespace std;

block.displaylong();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
月海游
2009-02-07
知道答主
回答量:18
采纳率:0%
帮助的人:0
展开全部
按照你的思路 我做了修改后如下
文件5035266.cpp
#include<iostream>

using std::cout;
using std::cin;
using std::endl;
#include "cycle.h"

int main()
{
cout<<"Using the c++ Class"<<endl;
cout<<"The cycle question"<<endl;
float r;
cout<<"Please enter the value of the radius"<<endl;
cin>>r;
cycle block;
block.setlong(r);
block.getarea(r);
block.displaylong();
block.setarea(r);
block.getarea(r);
block.displayarea();

cout<<"THE CYCLE END:)"<<endl;
system("pause");
return 0;
}
文件cycle.cpp:
#include "cycle.h"

float cycle::getarea(float r)
{
float area = 3.14*r*r;
return area;
}

float cycle::getlong(float r)
{
float clong = 2*3.14*r;
return clong;
}

bool cycle::setarea(float r)
{
if(r>=0)
return 1;
else
{
r=0;
return 0;
}
}

bool cycle::setlong(float r)
{
if(r>=0)
return 1;
else
{
r=0;
return 0;
}
}

void cycle::displayarea()
{
cout<<"The cycle area is "<<area<<endl;
}

void cycle::displaylong()
{
cout<<"The cycle long is "<<clong<<endl;
}

文件cycle.h:
#ifndef CYCLE_H
#define CYCLE_H
#include <iostream>
using std::cout;
using std::endl;
class cycle
{
public:
float getarea(float);
float getlong(float);
bool setarea(float);
bool setlong(float);
void displayarea();
void displaylong();
private:
float r;
float area;
float clong;

};
#endif
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式