c++》》求关于莫尔斯码的转换问题!!

来源:百度知道 编辑:UC知道 时间:2024/05/16 02:50:22
Description

也许最著名的编码机制是莫尔斯码,是1832年由Samuel Morse创立的,用于电报系统使用。莫尔斯码对字母、数字和一些特殊符号(如圆点、逗号、分号)指定一系列点和线。在面向声音的系统中,点表示短音,线表示长音。点线表示还用于面向光的系统和面向信号标志系统。

单词之间用空格分开,没有点和线。在面向声音的系统中,空格表示为短时间不发声音。下图显示了莫尔斯码的国际化版本。

编写一个程序,读取英语短语,并将其编制成莫尔斯码。莫尔斯码编码字母之间用一个*,莫尔斯码编码单词之间用三个***间隔。

Input

Output

Sample Input

I LOVE CHINA

Sample Output

..***.-..*---*...-*.***-.--*---*..-

......这题目没什么花样。。。。就是switch到底。。。
偷懒点就用#define简化一点点。
下面是可以运行的代码。
其他没define的字母你自己define吧。。。。。
switch里的case补齐就可以了。。。

#include "iostream.h"
#include "string.h"

#define _A_ ".-"
#define _B_ "-..."
#define _C_ "-.-."
#define _D_ "-.."
#define _E_ "."
#define _F_ "..-."

#define _1_ ".----"
#define _2_ "..---"
#define _3_ "...--"

void main()
{
char a[100];

cin.getline(a,100);

for(int i=0;i<strlen(a);i++)
{
switch(a[i])
{
case 'a':
cout<<_A_;
break;
case 'b':
cout<<_B_;
break;
case 'c':
cout<<_C_;
break;
case 'd':
cout<<_D_;
break;
}
}

}

这也太简单了吧,