第六周实验报告3

* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
* 文件名称: class time
* 作 者: 于昊
* 完成日期: 2012 年 03 月 25 日
* 版 本 号: 1.0
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
* 问题分析:

* 算法设计:……

#include <iostream>  
  
#include <cmath>  
  
using namespace std;  
  
enum SymmetricStyle{ axisx,axisy,point};  
  
class Cpoint  
{  
private:  
    double x;  
    double y;  
public:  
    Cpoint (double xx=0,double yy=0);  
  
    double Distance (Cpoint &p) const;  
  
    double Distance0() const;  
  
    Cpoint symmertricAxis(SymmetricStyle style) const;  
  
    void intput();  
  
    void output();  
  
    double returnx(){return x;} ;  
  
    double returny(){return y;} ;  
  
};  
  
Cpoint::Cpoint (double xx,double yy)  
{  
    x=xx;  
    y=yy;  
}  
double Cpoint::Distance (Cpoint &p) const  
{  
    cout<< "到p点距离"<<sqrt((x-p.returnx())*(x-p.returnx())+((y-p.returny())*(y-p.returny())))<<endl;  
    return 0;  
}  
  
double Cpoint::Distance0() const  
{  
    cout<< "到原点距离"<<sqrt(x*x+y*y)<<endl;  
    return 0;  
}  
Cpoint Cpoint::symmertricAxis(SymmetricStyle style) const  
{  
    double a,b;  
    switch(style)  
    {  
    case axisx:{  
        a=-x;  
        b=y;  
        cout<<"按x轴对称"<<"("<<a<<","<<b<<")"<<endl;  
           };  
    case axisy:{  
        a=x;  
        b=-y;  
        cout<<"按y轴对称"<<"("<<a<<","<<b<<")"<<endl;  
           };  
    case point:{  
        a=-x;  
        b=-y;  
        cout<<"按原点对称"<<"("<<a<<","<<b<<")"<<endl;  
           }break;  
    default:cout<<"输入错误";break;  
    }  
    return 0;  
}  
  
void Cpoint::intput()  
{  
    char ch1,ch2,ch3;  
    do  
    {  
        cout<<"请以(x,y)的方式输入x,y:";  
        cin>>ch1>>x>>ch2>>y>>ch3;  
        if(ch1 == '(' && ch2 == ',' && ch3 == ')')  
            break;  
    }  
    while (1);  
}  
void Cpoint::output()  
{  
    cout<<"该点为"<<"("<<x<<","<<y<<")"<<endl;  
}  
int main()  
{  
     SymmetricStyle style;  
    Cpoint p(5,6);  
    Cpoint a;  
    a.intput();  
    a.Distance ( p);  
    a.Distance0();  
  
    cout<<"style的类型(axisx按x轴对称,axisy按y轴对称,point按原点轴对称)"<<endl;  
  
    style=axisx;  
  
    a.symmertricAxis( style);  
    a.output();  
    return 0;  
}  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值