Sidenote: I'm confident I got the (morse)code right, but let me know if you spot an error.
#include <windows.h>
#include <string>
#include <algorithm>
typedef std::string::iterator siter;
using std::string;
void MorseCode(string transmission); // prototype
void LongBeep() { Beep(700, 500); Sleep(100); }
void ShortBeep() { Beep(750, 100); Sleep(100); }
int main() {
string letters = "Hello World!";
MorseCode(letters);
return 0;
}
void MorseCode(string transmission) {
std::transform(transmission.begin(), transmission.end(), transmission.begin(), ::tolower);
for(siter x = transmission.begin(); x != transmission.end(); x++) {
char ch = (*x);
switch(ch) {
case 'a':
ShortBeep();
LongBeep();
break;
case 'b':
LongBeep();
ShortBeep();
ShortBeep();
ShortBeep();
break;
case 'c':
LongBeep();
ShortBeep();
LongBeep();
ShortBeep();
break;
case 'd':
LongBeep();
ShortBeep();
ShortBeep();
break;
case 'e':
ShortBeep();
case 'f':
ShortBeep();
ShortBeep();
LongBeep();
ShortBeep();
break;
case 'g':
LongBeep();
LongBeep();
ShortBeep();
break;
case 'h':
ShortBeep();
ShortBeep();
ShortBeep();
ShortBeep();
break;
case 'i':
ShortBeep();
ShortBeep();
break;
case 'j':
ShortBeep();
LongBeep();
LongBeep();
LongBeep();
break;
case 'k':
LongBeep();
ShortBeep();
LongBeep();
break;
case 'l':
ShortBeep();
LongBeep();
ShortBeep();
ShortBeep();
break;
case 'm':
LongBeep();
LongBeep();
case 'n':
LongBeep();
ShortBeep();
break;
case 'o':
LongBeep();
LongBeep();
LongBeep();
case 'p':
ShortBeep();
LongBeep();
LongBeep();
ShortBeep();
break;
case 'q':
LongBeep();
LongBeep();
ShortBeep();
LongBeep();
break;
case 'r':
ShortBeep();
LongBeep();
ShortBeep();
break;
case 's':
ShortBeep();
ShortBeep();
ShortBeep();
break;
case 't':
LongBeep();
break;
case 'u':
ShortBeep();
ShortBeep();
LongBeep();
break;
case 'v':
ShortBeep();
ShortBeep();
ShortBeep();
LongBeep();
break;
case 'w':
ShortBeep();
LongBeep();
LongBeep();
break;
case 'x':
LongBeep();
ShortBeep();
ShortBeep();
LongBeep();
case 'y':
LongBeep();
ShortBeep();
LongBeep();
LongBeep();
break;
case 'z':
LongBeep();
LongBeep();
ShortBeep();
ShortBeep();
default:
break;
}
Sleep(500);
}
}

New Topic/Question
Reply



MultiQuote



|