第七周任务二
来源:互联网 发布:淘宝首页加旺旺 编辑:程序博客网 时间:2024/06/06 02:31
/* (程序头部注释开始)* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved.* 文件名称: * 作 者:刘杨 * 完成日期:2012 年 4 月 2 日* 版 本 号: * 对任务及求解方法的描述部分* 输入描述: * 问题描述: * 程序输出: * 程序头部的注释结束*/#include <iostream>#include <cmath> using namespace std;class CPoint {private: double x; // 横坐标 double y; // 纵坐标 public: CPoint(double xx=0,double yy=0):x(xx),y(yy){} //请继续写需要的代码double getx(){return x;}double gety(){return y;} void input(); double Distance1(CPoint p);//成员函数friend double Distance2(CPoint &p);//友元函数};double Distance3(CPoint &p);//一般函数void CPoint::input() //以x,y 形式输入坐标点 { char ch; cout<<"请输入坐标点(格式x,y ):"; while(1) { cin>>x>>ch>>y; if(ch != ',') {cout<<"输入格式不对";} else break; } } double CPoint::Distance1(CPoint p){ return (sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y))); }double Distance2(CPoint &p){ CPoint p1; cout<<"请输入一个点:"; p1.input(); return(sqrt((p1.x-p.x)*(p1.x-p.x)+(p1.y-p.y)*(p1.y-p.y)));}double Distance3(CPoint &p){CPoint p1; cout<<"请输入一个点:"; p1.input(); double a,b,c,d; a=p1.getx(); b=p1.gety(); c=p.getx(); d=p.gety(); return (sqrt((a-c)*(a-c)+(b-d)*(b-d)));}int main(){ double distance; CPoint p(5,4); CPoint p1(0,0); distance=p.Distance1( p1); cout<<"两点间点的距离为:"<<distance<<endl; distance=Distance2(p1); cout<<"两点间点的距离为:"<<distance<<endl; distance=Distance3(p1); cout<<"两点间点的距离为:"<<distance<<endl; system("pause"); return 0;}运行结果: