您的位置:首页 > 其它

第二周 项目一--旱冰场造价

2015-03-17 19:35 232 查看
问题及代码:

/*
*Copyright (c) 2015,烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:吴胜男
*完成日期:2015年03月17日
*版本号:v1.0
*
*问题描述:有一个圆形的旱冰场地,场地内抹水泥,造价为每平方米M元,围栏用木条围成,每米造价N元,输入旱冰场半径,用程序计算出其造价。
一级提示:
  先定义类,确定其数据成员和成员函数。在这里要定义的旱冰场类,实际我们只关心其面积和周长,根据面积计算场地内抹水泥的造价,
根据周长计算围栏的造价。有了类的定义,在main函数中定义该类对象,调用成员函数即可以完成求解。
二级提示:
  实际上,对于旱冰场,我们只关心它就是一个圆。这就是设计中抓住了本质。于是,设计一个Circle(圆)类,数据成员为圆的半径,
Circle类还提供计算圆的面积和边长的成员函数。在main函数中,定义一个Circle类的对象,调用成员函数求出旱冰场的造价。
三级提示:
  请在下面提示的基础上完成程序,其中需要做的工作包括:(1)在类声明中声明相关的公共成员函数;
(2)在类声明和main()函数之间,定义声明的成员函数。
*输入描述:旱冰场的半径r
*程序输出:旱冰场的造价
*/
#include <iostream>
#include<cmath>
#include<cstdlib>
using namespace std;
const int M=20;   //水泥场地每平米造价
const int N=35;   //围栏每米造价
class Circle
{
    //下面声明需要的成员函数(从已经提供的main函数中可以找出需要哪些成员函数)
public:
    void setRadius(double x);
    double area();
    double circumference();
private:
    double radius;
};
//下面定义需要的成员函数
void Circle::setRadius (double x)
{
    if (x>0)
        radius=x;
    else
        cout<<"不能构成圆形"<<endl;

}
double Circle::area()
{
    return 3.14*radius*radius;
}
double Circle::circumference()
{
    return 2*3.14*radius;
}
int main()
{
    double r;
    cout<<"请输入旱冰场的半径: ";
    cin>>r;
    Circle c;
    c.setRadius(r);
    cout<<"旱冰场的造价为 "<<M*c.area()+N*c.circumference()<<" 元。"<<endl;
    return 0;
}

运行结果:


知识点总结:成员函数的编译,应该注意的是在类外定义成员函数的时候要用“作用域限定符”即“::”表示类的字母要大写。

学习心得:很久没有编程序了,觉得有些生疏,就连截屏都不会了,在寒假也没编程序,比别人差一大截,希望现在弥补还不算晚,除了奋斗别无选择。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: