《C++语言基础》实践参考——旱冰场造价

返回:贺老师课程教学链接

【项目1 - 旱冰场造价】
  有一个圆形的旱冰场地,场地内抹水泥,造价为每平方米M元,围栏用木条围成,每米造价N元,输入旱冰场半径,用程序计算出其造价。

一级提示:
  先定义类,确定其数据成员和成员函数。在这里要定义的旱冰场类,实际我们只关心其面积和周长,根据面积计算场地内抹水泥的造价,根据周长计算围栏的造价。有了类的定义,在main函数中定义该类对象,调用成员函数即可以完成求解。
二级提示:
  实际上,对于旱冰场,我们只关心它就是一个圆。这就是设计中抓住了本质。于是,设计一个Circle(圆)类,数据成员为圆的半径,Circle类还提供计算圆的面积和边长的成员函数。在main函数中,定义一个Circle类的对象,调用成员函数求出旱冰场的造价。
三级提示:
  请在下面提示的基础上完成程序,其中需要做的工作包括:(1)在类声明中声明相关的公共成员函数;(2)在类声明和main()函数之间,定义声明的成员函数。

const int M=20;   //水泥场地每平米造价
const int N=35;   //围栏每米造价
class Circle
{
    //下面声明需要的成员函数(从已经提供的main函数中可以找出需要哪些成员函数)

private:
    double radius;
};
//下面定义需要的成员函数

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

[参考解答]

#include  <iostream>
using namespace std;
const double Pi=3.1415926;
const int M=20;   //水泥场地每平米造价
const int N=35;   //围栏每米造价
class Circle
{
public:
    void setRadius(double r);	//设置半径
    double area();				//求圆的面积
    double circumference();		//求圆的周长
private:
    double radius;
};
void Circle::setRadius(double r)	//设置半径
{
    radius=r;
}
double Circle::area()				//求圆的面积
{
    return Pi * radius * radius;
}
double Circle::circumference()		//求圆的周长
{
    return 2*Pi*radius;
}
int main()
{
    double r;
    cout<<"请输入旱冰场的半径: ";
    cin>>r;
    Circle c;
    c.setRadius(r);
    cout<<"旱冰场的造价为 "<<M*c.area()+N*c.circumference()<<" 元。"<<endl;
    return 0;
}
时间: 2025-01-01 16:08:09

《C++语言基础》实践参考——旱冰场造价的相关文章

《C++语言基础》参考——学生可以相加吗?

返回:贺老师课程教学链接 谈及运算,我们总是习惯"数"的运算.而实际上,像时间之类的对象也是可以进行加减运算的.再进一步,我们的思维还可以拓展,运算加以加到任何事物上,只要我们可以为这些"运算"设计好意义. 例如:有班级类和学生类.两个学生相加,组成了一个由两个学生构成的班级:班级加学生,代表班级增加了一名新同学:学生乘学生,结果为这两个学生"结对子",可以做某些事(这个对子,需要定义成一个新的类):班级乘班级,是班级中的所有学生,两两结对子的所

《C++语言基础》参考——转换构造函数与类型转换函数

返回:贺老师课程教学链接 下面的程序,想在main函数中要完成实数加复数.复数加实数,不可以.编译下面的程序出现错误,就是因为没有提供对应类型数据的运算符重载函数. #include <iostream> using namespace std; class Complex { public: Complex():real(0), imag(0){} Complex(double r,double i):real(r), imag(i){} Complex operator+(const Co

《C++语言基础》实践项目——初识对象

返回:贺老师课程教学链接 [项目1 - 旱冰场造价] 有一个圆形的旱冰场地,场地内抹水泥,造价为每平方米M元,围栏用木条围成,每米造价N元,输入旱冰场半径,用程序计算出其造价. 一级提示: 先定义类,确定其数据成员和成员函数.在这里要定义的旱冰场类,实际我们只关心其面积和周长,根据面积计算场地内抹水泥的造价,根据周长计算围栏的造价.有了类的定义,在main函数中定义该类对象,调用成员函数即可以完成求解.二级提示: 实际上,对于旱冰场,我们只关心它就是一个圆.这就是设计中抓住了本质.于是,设计一个

《C++语言基础》网络课程主页

返回 贺利坚教学链接 本课程是在大学的实体课程基础上建设的一门网络课程,将我在教学中建设的资源,让更多的人能够用到. 课程链接是:点击打开链接 同步实体课在 点击打开链接,那里有92名同时学习的"同学",以及他们的博客链接. 坚持这门课程学习的学员,请在评论处留言,我将建立专门的链接,一起建设学习的氛围. 学员链接:(待加) 课程内容 一.从C到C++ 课时 视频 示例程序 自测 学习指导与实践 实践项目参考解答 1.1 由C语言到C++(暨本课介绍) 链接   1.2 C语言的基本成

Swift语言指南(一)--语言基础之常量和变量

原文:Swift语言指南(一)--语言基础之常量和变量 Swift 是开发 iOS 及 OS X 应用的一门新编程语言,然而,它的开发体验与 C 或 Objective-C 有很多相似之处. Swift 提供了 C 与 Objective-C 中的所有基础类型,包括表示整数的 Int,表示浮点数的 Double 与 Float,表示布尔值的 Bool,以及表示纯文本数据的 String. Swift 还为两个基本集合类型 Array 与 Dictionary 提供了强大的支持,详情可参考 (集合

C++语言基础-入门简介

C++是个强大的语言,可以用于做别的语言做不了的工作.但是,这种强大功能是有代价的.开始使用C++时,你可能会遇到内存溢出和访问失效等问题,使程序死机.这里用最简短的篇幅介绍C++语言基础.C++语言本身有专著介绍,这种书还特别厚,所以别指望我能用三言两语说清楚.读者学完本书并使用C++ Builder一般时间之后,最后对C++语言再作更深入的了解. C++可以最充分地利用面向对象编程(OOP)的优势.OOP不只是一个新名词,而有它的实际意义,可以生成可复用的对象.新术语 对象(object),

C语言基础问题求解答,运算符

问题描述 C语言基础问题求解答,运算符 if((b[i]=='a')||(b[i]=='e')||(b[i]=='i')||(b[i]=='o')||(b[i]=='u')) 可以写成下面的形式吗? if(b[i]==('a'||'e'||'i'||'0'||'u')) 解决方案 不可以的,会先判断括号里面的.你用switch语句 解决方案二: 可以这么写 if (strstr("aeiou", b[i]) != null) ... 解决方案三: 参考http://blog.sina.

找工作笔试面试经验总结(C语言基础部分)

2017年9月14号,辞去了在伟易达的工作,怎么说,待了两年了,提辞职不太好说出口,但人各有志,我还是希望能去外面接触更多的东西,也希望能够多认识一些人,丰富我的社交经验. 纵观好几个公司的笔试面试经验,都考得比较简单,笔试和面试不会是那种特别难的题目,基本上都是基础知识,所以我一再告诉我的师弟师妹,出来工作,除了一些比较牛逼的公司出的题比较异类以外,其余的绝大多数公司,考的题目都是比较基础的,所以,基础是非常重要的.下面我就根据我笔试的回忆,考的最多依然是C语言基础,写出以下考到的题目: (1

C++第3周(春)项目2 旱冰场造价

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 [项目2 - 旱冰场造价]一个圆形的旱冰场地,场地内抹水泥,造价为每平方米M元,围栏用木条围成,每米造价N元,输入旱冰场半径,用程序计算出其造价.     提示:设计一个Circle(圆)类,数据成员为圆的半径,Circle类还提供计算圆的面积和边长的成员函数.在main函数中,定义一个Circle类的对象,调用成员函数求出旱冰场的造价. 参考