📄 morse_code.cpp
字号:
// test of morse code converter#include <iostream.h>const char DOT='.';const char DASH='-';const char COMMA=',';char MC (char, char, char, char);char MC1 (char);char MC2 (char, char);char MC3 (char, char, char);char MC4 (char, char, char, char);void main(){ char c1, c2, c3, c4, c5; while (1) { cin >> c1 >> c2; if (c2 != COMMA) { cin >> c3; if (c3 != COMMA) { cin >> c4; if (c4 != COMMA) cin >> c5; } } cout << MC(c1, c2, c3, c4) << endl; }}char MC (char c1, char c2, char c3, char c4){ if (c2 == COMMA) return MC1(c1); // 1 symbol code else if (c3 == COMMA) return MC2(c1, c2); // 2 symbol code else if (c4 == COMMA) return MC3(c1, c2, c3); // 3 symbol code else return MC4(c1, c2, c3, c4); // 4 symbol code } char MC1 (char c1) // all 1 symbol codes (e, t){ if (c1 == DOT) return 'E'; else return 'T';}char MC2 (char c1, char c2) // all 2 symbol codes (a, m, n, i){ if (c1 == DOT) // (a, i) if (c2 == DOT) return ('I'); else return ('A'); else // (m, n) if (c2 == DOT) return ('N'); else return ('M');}char MC3 (char c1, char c2, char c3) // all 3 symbol codes (d, g, s, k, w, o, r, u){ if (c1 == DOT) // (s, w, r, u) if (c2 == DOT) // (s, u) if (c3 == DOT) return ('S'); else return ('U'); else // (w, r) if (c3 == DOT) return ('R'); else return ('W'); else // (d, g, k, o) if (c2 == DOT) // (d, k) if (c3 == DOT) return ('D'); else return ('K'); else // (g, o) if (c3 == DOT) return ('G'); else return ('O');}char MC4 (char c1, char c2, char c3, char c4) // all 4 symbol codes{ if (c1 == DOT) // j, p, v, y, b, h, q, z, c, f, l, x if (c2 == DOT) // v, h, f if (c3 == DOT) // v, h if (c4 == DOT) return ('H'); else return ('V'); else return ('F'); else // j, p, l if (c3 == DOT) return ('L'); else if (c4 == DOT) // j, p return ('P'); else return ('J'); else // y, b, q, z, c, x if (c2 == DOT) // y, b, c, x if (c3 == DOT) // b, x if (c4 == DOT) return ('B'); else return ('X'); else // y, c if (c4 == DOT) return ('C'); else return ('Y'); else // q, z if (c3 == DOT) if (c4 == DOT) return ('Z'); else return ('Q'); else return ('?'); // no character }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -