第 21、22 讲【项目 3-应用枚举】

本文通过一个具体的程序实例,介绍了如何使用枚举类型来区分不同的对称方式,并实现了输出平面点的不同对称点坐标的功能。

问题描述:

(1)阅读教材 7.3 节,了解枚举类型的一般用法。阅读下面输出 He 先生买车方案的程序,理解使用枚举类型的意义。

(2)设计函数,可以按指定的方式,输出一个平面点的对称点下面给出枚举类型定义和 main 函数(测试函数),请写出 output 函数的实现。

代码模板:

#include<iostream>
using namespace std;
enum SymmetricStyle {axisx, axisy, point};//分别表示按x 轴, y轴, 原点对称三种方式
void output(double,double,SymmetricStyle);
int main()
{
    int x,y;
    cout<<"输入点的坐标:";
    cin>>x>>y;
    cout<<"关于 x 轴的对称点是:";
    output(x,y,axisx);
    cout<<"关于 y 轴的对称点是:";
    output(x,y,axisy);
    cout<<"关于坐标原点的对称点是:";
    output(x,y,point);
    return 0;
}

解题代码:

#include<iostream>
using namespace std;
enum SymmetricStyle {axisx, axisy, point};//分别表示按x 轴, y轴, 原点对称三种方式
void output(double,double,SymmetricStyle);
int main()
{
    int x,y;
    cout<<"输入点的坐标:";
    cin>>x>>y;
    cout<<"关于 x 轴的对称点是:";
    output(x,y,axisx);
    cout<<"关于 y 轴的对称点是:";
    output(x,y,axisy);
    cout<<"关于坐标原点的对称点是:";
    output(x,y,point);
    return 0;
}
void output(double x ,double y ,SymmetricStyle a)
{
    switch(a)
    {
    case axisx:
        cout<<"("<<x<<","<<-y<<")"<<'\n';
        break;
    case axisy:
        cout<<"("<<-x<<","<<y<<")"<<'\n';
        break;
    case point:
        cout<<"("<<-x<<","<<-y<<")"<<'\n';
        break;
    }
}

运行结果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值