当前位置: 首页 > article >正文

简单的C++程序

1.1求圆的周长和面积

数据描述: 半径,周长,面积均用实型数表示

数据处理:

输入半径 r

计算周长 = 2*π*r ;

计算面积 = π* r2 ;

输出半径,周长,面积;

方法1:用结构化方法编程,求圆的周长和面积

#include "iostream" //包含c++的头文件
using namespace std; //使用命名空间 std 标准的命名空间(在这个命名空间中定义了很多标准定义)
void main() {
	double r, girth, area;
	const double PI = 3.1415;
	cout << "Please input radius:\n"; //操作符重载
	cin >> r;  //输入
	girth = 2 * PI * r;
	area = PI * r * r;
	cout << "radius = " << r << endl;
	cout << "girth = " << girth << endl;
	cout << "area = " << area << endl;
}

方法2:用面向对象方法编程,求圆的周长和面积

用面向对象的方法
1 类的抽象 成员变量和成员函数
2 实例化 类的对象
3 求面积
    面向过程加工的是:一个一个的函数
    面向对象加工的是:一个一个的类
4 main集成测试

思考1:类的调用 执行过程分析=》类代码不是一步一步指向
类是一个数据类型,(固定大小内存块的别名);定义一个类,是一个抽象的概念,不会给你分配内存
用数据类型定义变量的时候,才会分配内存 

#include "iostream" //包含c++的头文件
using namespace std; //使用命名空间 std 标准的命名空间(在这个命名空间中定义了很多标准定义)
//在C++中定义了一个自定义数据类型
struct Circle {
	double m_s;//圆的面积
	double m_r;//圆的半径
};
//在C++中定义了一个自定义数据类型 MyCircle
class MyCircle {
public:
	double m_s;//圆的面积 属性 成员变量
	double m_r;//圆的半径
public:
	void setR(double r) {//成员函数
		m_r = r;
	}
	double getR() {//成员函数
		return m_r;
	}
	double getS() {
		m_s = 3.14 * m_r * m_r;
		return m_s;
	}
};

//用面向对象的方法
//1 类的抽象 成员变量和成员函数
//2 实例化 类的对象
//3 求面积
	//面向过程加工的是:一个一个的函数
	//面向对象加工的是:一个一个的类
//4 main集成测试

//思考1:类的调用 执行过程分析=》类代码不是一步一步指向
//类是一个数据类型,(固定大小内存块的别名);定义一个类,是一个抽象的概念,不会给你分配内存
//用数据类型定义变量的时候,才会分配内存 


void main() {
	MyCircle c1, c2, c3;//用类 定义 变量 对象
	double r1,r2,r3;
	cout << "请输入c1圆形的半径r1:"<<endl;
	cin >> r1;
	//给c1圆形的属性赋值
	c1.setR(r1);
	cout << "c1圆形的面积是:" << c1.getS()<<endl;

	cout << "请输入c2圆形的半径r2:" << endl;
	cin >> r2;
	//给c2圆形的属性赋值
	c2.setR(r2);
	cout << "c2圆形的面积是:" << c2.getS() << endl;

	cout << "请输入c3圆形的半径r3:" << endl;
	cin >> r3;
	//给c2圆形的属性赋值
	c3.setR(r3);
	cout << "c3圆形的面积是:" << c3.getS() << endl;

	system("pause");
}

 

 总结:建立类、对象、成员变量、成员函数,输入输入流基本概念。


http://www.kler.cn/a/4711.html

相关文章:

  • SQLite 语法快速入门
  • 图像处理中实现 C++ 和 Python 的高效通信——ZeroMQ protobuf
  • 《拉依达的嵌入式\驱动面试宝典》—计算机网络篇(二)
  • elasticsearch中IK分词器
  • 亚远景-ASPICE评估:汽车软件项目的过程能力评价
  • 周记-CIE XYZ和RGB的区别
  • java源码阅读 - TreeMap
  • 抖音进攻,B站退守
  • 单例模式是什么?如何实现它?
  • 【华为OD机试 2023最新 】 最大利润(C++)
  • 秃头警告 | 年薪50万PM总结的20个成功项目管理经验
  • GPT4中文调教指南。各种场景使用指南。学习怎么让它听你的话。
  • NOIP模拟赛 轰炸(bomb)
  • Callable接口
  • springboot整合redis实现秒杀功能
  • AI开发之——Leonardo—Finetuned Models及利用模型制图(5)
  • vue vben admin 使用, (个人感觉这项目封装的太深了!!!!)
  • 【故障诊断】用于轴承故障诊断的性能增强时变形态滤波方法及用于轴承断层特征提取的增强数学形态算子研究(Matlab代码实现)
  • JavaScript 基础 - 第3天
  • 刷题笔记【1】| 快速刷完67道剑指offer(Java版)
  • 四个常见的Linux面试问题
  • 2023年全国最新保安员精选真题及答案37
  • Qt 5基础 | 创建Hello World程序
  • day 14-文件操作
  • HTTP协议加强
  • 【C++】异常