第七周实验报告任务二

来源:互联网 发布:mac重装系统找不到磁盘 编辑:程序博客网 时间:2024/06/05 16:32
/* (程序头部注释开始)  * 程序的版权和版本声明部分  * Copyright (c) 2011, 烟台大学计算机学院学生   * All rights reserved.* 文件名称:用三种函数求距离  * 作 者: 郭岩岩  * 完成日期:2012 年4 月 2日  * 版 本 号: vc.1  * 对任务及求解方法的描述部分  * 输入描述:   * 问题描述:   * 程序输出:   *程序头部的注释结束   */  #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 distance(Cpoint &p);    void input();    void output();friend double distance2 (Cpoint &p,Cpoint &p1);double get_x(){return x;}double get_y(){return y;}};double distance3 (Cpoint &p1,Cpoint &p2);double Cpoint::distance(Cpoint &p){      double d;      d=sqrt((p.x -x)*(p.x -x)+(p.y -y)*(p.y-y));            cout<<"distance1:两点之间的距离为:"<<d<<endl;      return d;  } double distance2 (Cpoint &p1,Cpoint &p2) { double d;   d=sqrt((p1.x -p2.x)*(p1.x -p2.x)+(p1.y -p2.y)*(p1.y-p2.y));    cout<<"distance2:两点之间的距离为:"<<d<<endl;   return d;   }double distance3 (Cpoint &p1,Cpoint &p2){double a,b,d;a=(p1.get_x()-p2.get_x())*(p1.get_x()-p2.get_x());b=(p1.get_y()-p2.get_y())*(p1.get_y()-p2.get_y());d=sqrt(a+b);    cout<<"distance3:两点之间的距离为:"<<d<<endl;return d;}void Cpoint::input()  {      bool point;        point=true;        cout<<"请输入一个点的横纵坐标:(以“x,y”的形式输入)";        char c;        while(point)    {           cin>>x>>c>>y;            if(c!=',')            {                cout<<"格式不正确,请从新输入。";            }            else            {                point=false;            }        }    }    void Cpoint::output()  {      cout<<"("<<x<<","<<y<<")"<<endl;  }  void main()  {     Cpoint C1,C2;      C1.input ();      C1.output ();        C2.input ();      C2.output ();        C1.distance(C2);distance2(C1,C2);distance3(C1,C2);     }  

上级感言:代码不可貌相微笑

经验积累:在函数的参数中使用引用变量是个不错的选择

                    友元函数可以直接访问私有成员


 

原创粉丝点击