因为作者平时不使用C++进行编程,但是课程刷分无奈又学习一遍,这样其实只要跟随老师的脚步一步一步进行学习和实验就可以了(ps:第一次没好好学,只拿了73分)。所以初期关于C++的学习大多OJ编程作业上进行,所以内容比较关键但却又比较浅显,有需要的读者凑合着看即可。
第三次C++作业代码和解析
第一题作业:
//
// main.cpp
// CppCP3_1
//
// Created by Chenjun Xiong on 2017/3/16.
// Copyright © 2017年 Chenjun Xiong. All rights reserved.
//
//题目描述
//(Circle类)一个圆形的旱冰场地,场地内抹水泥,造价为每平方米20元,围栏用木条围成,每米造价35元。设计一个Circle类,可以求出圆的面积和边长,进而支持求出旱冰场的等价。请在下面提示的基础上完成程序,其中需要做的工作包括:(1)在类声明中声明相关的公共成员函数;(2)在类声明和main()函数之间,定义声明的成员函数。PI采用3.1415926
//
//输入描述
//请输入旱冰场的半径
//
//输出描述
//旱冰场的造价,小数点后保留2位
//
//输入样例
//5.5
//
//输出样例
//3110.18
#include <iostream>
#include <iomanip>
using namespace std;
double PI=3.1415926;
class Circle{
private:
double radio;
public:
Circle(double r=0);
void SetRadio(double r=0);
double GetPerimeter();
double GetArea();
double GetPrice();
};
Circle::Circle(double r){
radio=r;
}
void Circle::SetRadio(double r){
radio=r;
};
double Circle::GetArea(){
return PI*radio*radio;
}
double Circle::GetPerimeter(){
return PI*radio*2;
}
double Circle::GetPrice(){
return 20*GetArea()+35*GetPerimeter();
}
int main(int argc, const char * argv[]) {
double radio;
Circle circle;
while(cin>>radio){
circle.SetRadio(radio);
cout << setprecision(2) << setiosflags(ios::fixed | ios::showpoint) << circle.GetPrice() << endl;
}
return 0;
}
解析:
- 本次作业主要使用了类,类成员函数的类外声明,构造函数的重写,小数输出保留小数点后两位等技术。
- 小数点后两位主要使用了头文件和cout输出时的函数
#include <iomanip>
cout << setprecision(2) << setiosflags(ios::fixed | ios::showpoint) << circle.GetPrice() << endl;
第二题作业:
//
// main.cpp
// CppCP3_2
//
// Created by Chenjun Xiong on 2017/3/16.
// Copyright © 2017年 Chenjun Xiong. All rights reserved.
//
//输入描述