第六周实验报告(三)

原创 2012年03月27日 21:03:11

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:                             
* 作    者: 殷华哲                          
* 完成日期:         年       月        日
* 版 本 号:         

* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
* 程序头部的注释结束
*/

#include <iostream>

#include <cmath>

using namespace std;

enum SymmetricStyle  { axisx,axisy,point };    //分别表示按x轴,y轴,原点对称。

class CPoint
{
      private:
              double x;
              double y;
      public:
             CPoint(double xx=0, double yy=0);//:x(xx),y(yy){}可以用另一种方法定义的
             double Distance(CPoint p) const;  // 两点之间的距离(一点是当前点,另一点为参数P)    
             double Distance0() const;        // 到原点的距离
             CPoint SymmetricAxis(SymmetricStyle style) const;  //返回对称点   
             void input();                     //以x,y的形式 输入坐标点
             void output();                    //以 (x,y)的形式输出坐标
};
CPoint::CPoint(double xx, double yy)
{
     x = xx;
     y = yy;
}

double CPoint::Distance(CPoint p) const
{
     double d;
     
     d = sqrt(pow((p.x - x),2)+pow((p.y - y),2));
     
     return d;
}

double CPoint::Distance0() const
{
     double d;
     
     d = sqrt(pow(x,2)+pow(y,2));
     
     return d;
}

void CPoint::input()
{
     char c;
     cout<<"请以(x,y)形式输入"<<endl;
     while(1)
     {
             cin>>x>>c>>y;
             if(c ==',')
             break;
             cout<<"输入格式不正确,重新输入"<<endl;
     }
     
}

void CPoint::output()
{
     cout<<"("<<x<<","<<y;
     cout<<")"<<endl;
}

CPoint CPoint::SymmetricAxis(SymmetricStyle style) const              //定义为一个类类型的枚举类型函数 
{  
   CPoint p;   
    switch(style)  
    {  
    case axisx:  
       p.y=-y;
       p.x= x;
        break;  
    case axisy:  
        p.x=-x;
        p.y= y;
         break;  
    case point:  
        p.x=-x;
        p.y=-y;  
    }  
    return p;                                                          //返回值是个类p 
}  


int main()
{
    CPoint a,b;
    a.input();
    
    b.input();
    
    cout<<"两点间的距离为"<<a.Distance(b);
    
    
    cout<<"点到原点的距离为"<<a.Distance0()<<endl;
    
    cout<<"关于x轴的对称点"<<endl; 
    a.SymmetricAxis(axisx).output();
    
    cout<<"关于y轴的对称点"<<endl;
    a.SymmetricAxis(axisy).output();
    
    cout<<"关于原点的对称点"<<endl;
    a.SymmetricAxis(point).output();
    
    system("pause");
    
    return 0;
}    
     
     
      

 

 



开始这个任务吓我一跳其实。还好。沉下心做出来了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

第六周实验报告 任务三

#include #include using namespace std; enum SymmetricStyle { axisx,axisy,point};//分别表示按x轴, y轴, 原点对称 ...
  • hb9206
  • hb9206
  • 2012年03月28日 18:46
  • 460

第六周实验报告(三)

* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:类关于...
  • cailwen
  • cailwen
  • 2012年03月27日 20:44
  • 342

第六周实验报告 任务三(改进)

源代码: #include #include using namespace std; enum SymmetricStyle { axisx,axisy,point};//分别表...
  • pirate_hook
  • pirate_hook
  • 2012年03月27日 18:26
  • 285

第六周实验报告(三)平面坐标类

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生  * All rights reserved. * 文件名称: 设...
  • sdchaoyang
  • sdchaoyang
  • 2012年03月26日 18:44
  • 514

第六周实验报告

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved.* 文件名称:  *...
  • rsnsdhr
  • rsnsdhr
  • 2012年03月26日 18:40
  • 415

Coursera—machine learning(Andrew Ng)第六周编程作业

linearRegCostFunction.m function [J, grad] = linearRegCostFunction(X, y, theta, lambda) %LINEARREGC...
  • ccblogger
  • ccblogger
  • 2017年11月24日 15:33
  • 388

coursera机器学习课程第六周——课程笔记

本周的内容主要分为两部分,第一部分:主要内容是偏差、方差以及学习曲线相关的诊断方法,为改善机器学习算法的决策提供依据;第二部分:主要内容是机器学习算法的错误分析以及数值评估标准:准确率(交叉验证集的误...
  • ccblogger
  • ccblogger
  • 2017年11月27日 17:47
  • 178

C++程序设计实验报告(四十五)---第六周任务三

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2012, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:计算...
  • qdliuzhen
  • qdliuzhen
  • 2012年03月25日 22:42
  • 433

《数据结构》实验三:栈和队列实验报告

一..实验目的      巩固栈和队列数据结构,学会运用栈和队列。 1.回顾栈和队列的逻辑结构和受限操作特点,栈和队列的物理存储结构和常见操作。 2.学习运用栈和队列的知识来解决实际问题。 3...
  • hslynn
  • hslynn
  • 2014年11月09日 21:50
  • 3281

第六周实验报告(任务三)【平面坐标点类】

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: 点...
  • zhangpeipei2011
  • zhangpeipei2011
  • 2012年03月27日 20:22
  • 205
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第六周实验报告(三)
举报原因:
原因补充:

(最多只允许输入30个字)