第 21、22 讲【项目 4-点和距离】
来源:互联网 发布:农村淘宝创始人是谁 编辑:程序博客网 时间:2024/04/25 22:50
问题描述:
读程序,写出函数的定义,注意其中枚举类型的用法
程序代码:
#include<iostream>using namespace std;enum SymmetricStyle {axisx,axisy,point};//分别表示按 x轴, y轴, 原点对称struct Point{ double x; // 横坐标 double y; // 纵坐标};double distance(Point p1, Point p2); // 两点之间的距离double distance0(Point p1);Point symmetricAxis(Point p,SymmetricStyle style); //返回对称点int main( ){ Point p1= {1,5},p2= {4,1},p; cout<<"两点的距离为:"<<distance(p1,p2)<<endl; cout<<"p1 到原点的距离为:"<<distance0(p1)<<endl; p=symmetricAxis(p1,axisx); cout<<"p1 关于 x 轴的对称点为:"<<"("<<p.x<<", "<<p.y<<")"<<endl; p=symmetricAxis(p1,axisy); cout<<"p1 关于 y 轴的对称点为:"<<"("<<p.x<<", "<<p.y<<")"<<endl; p=symmetricAxis(p1,point); cout<<"p1 关于原点的对称点为:"<<"("<<p.x<<", "<<p.y<<")"<<endl; return 0;}// 求两点之间的距离double distance(Point p1,Point p2){ double d; …… return d;}// 求点到原点的距离double distance0(Point p){ double d; …… return d;}// 求对称点Point symmetricAxis(Point p1,SymmetricStyle style){ Point p; …… return p;}
解决后代码:
#include<iostream>#include<cmath>using namespace std;enum SymmetricStyle {axisx,axisy,point};//分别表示按 x轴, y轴, 原点对称struct Point{ double x; // 横坐标 double y; // 纵坐标};double distancex(Point p1, Point p2); // 两点之间的距离double distance0(Point p1);Point symmetricAxis(Point p,SymmetricStyle style); //返回对称点int main( ){ Point p1= {1,5},p2= {4,1},p; cout<<"两点的距离为:"<<distance(p1,p2)<<endl; cout<<"p1 到原点的距离为:"<<distance0(p1)<<endl; p=symmetricAxis(p1,axisx); cout<<"p1 关于 x 轴的对称点为:"<<"("<<p.x<<", "<<p.y<<")"<<endl; p=symmetricAxis(p1,axisy); cout<<"p1 关于 y 轴的对称点为:"<<"("<<p.x<<", "<<p.y<<")"<<endl; p=symmetricAxis(p1,point); cout<<"p1 关于原点的对称点为:"<<"("<<p.x<<", "<<p.y<<")"<<endl; return 0;}// 求两点之间的距离double distancex(Point p1,Point p2){ double d; d=sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y)); return d;}// 求点到原点的距离double distance0(Point p){ double d; d=sqrt(p.x*p.x+p.y*p.y); return d;}// 求对称点Point symmetricAxis(Point p1,SymmetricStyle style){ Point p; p.x=p1.x; p.y=p1.y; switch(style) { case axisx: p.y=-p1.y; break; case axisy: p.x=-p1.x; break; case point: p.x=-p1.x; p.y=-p1.y; break; } return p;}
0 0
- 第 21、22 讲【项目 4-点和距离】
- 第21、22讲 链表、枚举 项目四:点和距离
- 第19周项目4 点和距离
- 第十八周项目4:点和距离
- 2014秋C++第19周 项目4参考 点和距离
- 第19周上机时间项目4——点和距离
- 第21、22讲 链表、枚举 项目三:应用举例(输出对称点)
- 学术休假期 项目4-点和距离
- 寒假14项目4——点和距离
- 第十九周项目四:点和距离
- 第十九周项目四:点和距离
- 第十八周项目四:点和距离
- 项目四--枚举(点和距离)
- 第二十四周项目6-点和距离
- 第26讲项目4
- 第4讲项目2-长方形的周长和面积
- 寒假项目4-点与距离
- 第 21、22 讲【项目 1 - 动态链表体验】
- ARM 微处理器的数据类型
- Two Sum | LeetCode(1)
- ffmpeg 编码器AVCodecContext 的配置参数
- 抽象类与接口
- HDU 1085 Holding Bin-Laden Captive!(母函数)
- 第 21、22 讲【项目 4-点和距离】
- Android 自定义控件 优雅实现元素间的分割线 (支持3.0以下)
- OOA、OOD、OOP详解
- INI 文件操作
- 透明颜色代码 和 一键分享问题
- 【高并发架构知识】高并发数据库访问控制代码
- 文章标题
- Linux下Apache+tomcat搭建负载均衡服务器集群
- 浅析常用的Python Web的几大框架