Морзянка на C++

Категория: C / C++ Комментариев: 1

#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);
	}
}
Автор: Кто-то   @   29 июня 2010 Комментариев: 1
Метки :

Поблагодарить автора

Webmoney Z163628999150, R617151845974

Комментариев: 1

Комментарии
Дек 26, 2010
18:56
#1 peter911 :

Какой-то индусский код :D

оставить комментарий

Предыдущая запись
«
Следующая запись
»