问题描述:
(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;
}
}
运行结果: