#include #include int print( char c ) { switch( c ) { case 'A': case 'a': std::cout << ". ---"; return 5; case 'B': case 'b': std::cout << "--- . . ."; return 9; case 'C': case 'c': std::cout << "--- . --- ."; return 11; case 'D': case 'd': std::cout << "--- . ."; return 7; case 'E': case 'e': std::cout << "."; return 1; case 'F': case 'f': std::cout << ". . --- ."; return 9; case 'G': case 'g': std::cout << "--- --- ."; return 9; case 'H': case 'h': std::cout << ". . . ."; return 7; case 'I': case 'i': std::cout << ". ."; return 3; case 'J': case 'j': std::cout << ". --- --- ---"; return 13; case 'K': case 'k': std::cout << "--- . ---"; return 9; case 'L': case 'l': std::cout << ". --- . ."; return 9; case 'M': case 'm': std::cout << "--- ---"; return 7; case 'N': case 'n': std::cout << "--- ."; return 5; case 'O': case 'o': std::cout << "--- --- ---"; return 11; case 'P': case 'p': std::cout << ". --- --- ."; return 11; case 'Q': case 'q': std::cout << "--- --- . ---"; return 13; case 'R': case 'r': std::cout << ". --- ."; return 7; case 'S': case 's': std::cout << ". . ."; return 5; case 'T': case 't': std::cout << "---"; return 3; case 'U': case 'u': std::cout << ". . ---"; return 7; case 'V': case 'v': std::cout << ". . . ---"; return 9; case 'W': case 'w': std::cout << ". --- ---"; return 9; case 'X': case 'x': std::cout << "--- . . ---"; return 11; case 'Y': case 'y': std::cout << "--- . --- ---"; return 13; case 'Z': case 'z': std::cout << "--- --- . ."; return 11; case '.': std::cout << ". --- . --- . ---"; return 17; case ',': std::cout << "--- --- . . --- ---"; return 19; case ':': std::cout << "--- --- --- . . ."; return 17; case ';': std::cout << "--- . --- . --- ."; return 17; case '!': std::cout << "--- . --- . --- ---"; return 19; case '?': std::cout << ". . --- --- . ."; return 15; case '-': std::cout << ". . --- --- . ---"; return 19; case '\'': std::cout << ". --- --- --- --- ."; return 19; case '\"': std::cout << ". --- . . --- ."; return 15; case '(': std::cout << "--- . --- --- ."; return 15; case ')': std::cout << "--- . --- --- . ---"; return 19; case '/': std::cout << "--- . . --- ."; return 13; case '+': std::cout << ". --- . --- ."; return 13; case '=': std::cout << ". --- --- --- ."; return 15; case '_': std::cout << ". . --- --- . ---"; return 19; case '&': std::cout << ". --- . . ."; return 11; case '@': std::cout << ". --- --- . --- ."; return 17; case '$': std::cout << ". . . --- . . ---"; return 17; case ' ': std::cout << " "; return 4; default: return 0; } } int main() { char s[256]; while ( true ) { std::cin.getline( s, 256 ); if ( s[0] == '\0' ) { break; } std::cout << s << std::endl; std::cout << "Start >>"; int length = print( s[0] ); int i = 1; while( s[i] != '\0' ) { std::cout << " "; length += 3; length += print( s[i] ); ++i; } std::cout << "<< End" << std::endl; std::cout << "Length: " << length << " (" << (length/50.0) << ")" << std::endl; } return 0; }