Esse aplicativo utiliza o speaker do gabinete para transmitir mensagens em código morse. O usuário escreve a mensagem, o programa converte para código morse e trasmite pelo speaker.
Note: se o speaker da sua máquina não estiver funcionando a mensagem não será transmitida.
Código:
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <math.h>
char morse[600];
int c = 0;
int main()
{
char msg[200];
int i;
void addDitDah(char);
printf("Telegrafo C v1.0\n");
printf("por Raphael Pina Viana\n\n");
printf("Mensagem: ");
for(i = 0; i < 200; i++)
{
printf("%c", msg[i] = getch());
if(msg[i] == 13)
{
msg[i] = '';
break;
}
}
printf("\n");
printf("\n\nEncriptando mensagem ... ");
for(i = 0; i <= 200; i++)
{
/* Converte para Alfabeto em Codigo Morse */
switch(msg[i])
{
case (int)'a':
{
addDitDah('.');
addDitDah('-');
addDitDah('0');
break;
}
case (int)'b':
{
addDitDah('-');
addDitDah('.');
addDitDah('.');
addDitDah('.');
addDitDah('0');
break;
}
case (int)'c':
{
addDitDah('-');
addDitDah('.');
addDitDah('-');
addDitDah('.');
addDitDah('0');
break;
}
case (int)'d':
{
addDitDah('-');
addDitDah('.');
addDitDah('.');
addDitDah('0');
break;
}
case (int)'e':
{
addDitDah('.');
addDitDah('0');
break;
}
case (int)'f':
{
addDitDah('.');
addDitDah('.');
addDitDah('-');
addDitDah('.');
addDitDah('0');
break;
}
case (int)'g':
{
addDitDah('-');
addDitDah('-');
addDitDah('.');
addDitDah('0');
break;
}
case (int)'h':
{
addDitDah('.');
addDitDah('.');
addDitDah('.');
addDitDah('.');
addDitDah('0');
break;
}
case (int)'i':
{
addDitDah('.');
addDitDah('.');
addDitDah('0');
break;
}
case (int)'j':
{
addDitDah('.');
addDitDah('-');
addDitDah('-');
addDitDah('-');
addDitDah('0');
break;
}
case (int)'k':
{
addDitDah('-');
addDitDah('.');
addDitDah('-');
addDitDah('0');
break;
}
case (int)'l':
{
addDitDah('.');
addDitDah('-');
addDitDah('.');
addDitDah('.');
addDitDah('0');
break;
}
case (int)'m':
{
addDitDah('-');
addDitDah('-');
addDitDah('0');
break;
}
case (int)'n':
{
addDitDah('-');
addDitDah('.');
addDitDah('0');
break;
}
case (int)'o':
{
addDitDah('-');
addDitDah('-');
addDitDah('-');
addDitDah('0');
break;
}
case (int)'p':
{
addDitDah('.');
addDitDah('-');
addDitDah('-');
addDitDah('.');
addDitDah('0');
break;
}
case (int)'q':
{
addDitDah('-');
addDitDah('-');
addDitDah('.');
addDitDah('-');
addDitDah('0');
break;
}
case (int)'r':
{
addDitDah('.');
addDitDah('-');
addDitDah('.');
addDitDah('0');
break;
}
case (int)'s':
{
addDitDah('.');
addDitDah('.');
addDitDah('.');
addDitDah('0');
break;
}
case (int)'t':
{
addDitDah('-');
addDitDah('0');
break;
}
case (int)'u':
{
addDitDah('.');
addDitDah('.');
addDitDah('-');
addDitDah('0');
break;
}
case (int)'v':
{
addDitDah('.');
addDitDah('.');
addDitDah('.');
addDitDah('-');
addDitDah('0');
break;
}
case (int)'w':
{
addDitDah('.');
addDitDah('-');
addDitDah('-');
addDitDah('0');
break;
}
case (int)'x':
{
addDitDah('-');
addDitDah('.');
addDitDah('.');
addDitDah('-');
addDitDah('0');
break;
}
case (int)'y':
{
addDitDah('-');
addDitDah('.');
addDitDah('-');
addDitDah('-');
addDitDah('0');
break;
}
case (int)'z':
{
addDitDah('-');
addDitDah('-');
addDitDah('.');
addDitDah('.');
addDitDah('0');
break;
}
case 32:
{
addDitDah('/');
break;
}
case 0:
{
addDitDah('');
break;
}
}
}
printf("[OK]\n\nPressione qualquer tecla para trasmitir mensagem ...");
getch();
for(i = 0; i <= 600; i++)
{
nosound();
delay(9 * pow(10, 15));
if(morse[i] == '.')
{
sound(200);
delay(10000);
}
else if(morse[i] == '-')
{
sound(200);
sleep(1);
}
else if(morse[i] == '0')
sleep(1);
else if(morse[i] == '/')
sleep(2);
else if(morse[i] == '')
break;
}
printf("\n\nTrasmissao terminada.");
getch();
return 1;
}
void addDitDah(char DitDah)
{
morse[c] = DitDah;
c++;
}
Pergunta
Zeero
E aí galera.
Esse aplicativo utiliza o speaker do gabinete para transmitir mensagens em código morse. O usuário escreve a mensagem, o programa converte para código morse e trasmite pelo speaker.
Note: se o speaker da sua máquina não estiver funcionando a mensagem não será transmitida.
Código:
#include <stdio.h> #include <conio.h> #include <dos.h> #include <math.h> char morse[600]; int c = 0; int main() { char msg[200]; int i; void addDitDah(char); printf("Telegrafo C v1.0\n"); printf("por Raphael Pina Viana\n\n"); printf("Mensagem: "); for(i = 0; i < 200; i++) { printf("%c", msg[i] = getch()); if(msg[i] == 13) { msg[i] = ''; break; } } printf("\n"); printf("\n\nEncriptando mensagem ... "); for(i = 0; i <= 200; i++) { /* Converte para Alfabeto em Codigo Morse */ switch(msg[i]) { case (int)'a': { addDitDah('.'); addDitDah('-'); addDitDah('0'); break; } case (int)'b': { addDitDah('-'); addDitDah('.'); addDitDah('.'); addDitDah('.'); addDitDah('0'); break; } case (int)'c': { addDitDah('-'); addDitDah('.'); addDitDah('-'); addDitDah('.'); addDitDah('0'); break; } case (int)'d': { addDitDah('-'); addDitDah('.'); addDitDah('.'); addDitDah('0'); break; } case (int)'e': { addDitDah('.'); addDitDah('0'); break; } case (int)'f': { addDitDah('.'); addDitDah('.'); addDitDah('-'); addDitDah('.'); addDitDah('0'); break; } case (int)'g': { addDitDah('-'); addDitDah('-'); addDitDah('.'); addDitDah('0'); break; } case (int)'h': { addDitDah('.'); addDitDah('.'); addDitDah('.'); addDitDah('.'); addDitDah('0'); break; } case (int)'i': { addDitDah('.'); addDitDah('.'); addDitDah('0'); break; } case (int)'j': { addDitDah('.'); addDitDah('-'); addDitDah('-'); addDitDah('-'); addDitDah('0'); break; } case (int)'k': { addDitDah('-'); addDitDah('.'); addDitDah('-'); addDitDah('0'); break; } case (int)'l': { addDitDah('.'); addDitDah('-'); addDitDah('.'); addDitDah('.'); addDitDah('0'); break; } case (int)'m': { addDitDah('-'); addDitDah('-'); addDitDah('0'); break; } case (int)'n': { addDitDah('-'); addDitDah('.'); addDitDah('0'); break; } case (int)'o': { addDitDah('-'); addDitDah('-'); addDitDah('-'); addDitDah('0'); break; } case (int)'p': { addDitDah('.'); addDitDah('-'); addDitDah('-'); addDitDah('.'); addDitDah('0'); break; } case (int)'q': { addDitDah('-'); addDitDah('-'); addDitDah('.'); addDitDah('-'); addDitDah('0'); break; } case (int)'r': { addDitDah('.'); addDitDah('-'); addDitDah('.'); addDitDah('0'); break; } case (int)'s': { addDitDah('.'); addDitDah('.'); addDitDah('.'); addDitDah('0'); break; } case (int)'t': { addDitDah('-'); addDitDah('0'); break; } case (int)'u': { addDitDah('.'); addDitDah('.'); addDitDah('-'); addDitDah('0'); break; } case (int)'v': { addDitDah('.'); addDitDah('.'); addDitDah('.'); addDitDah('-'); addDitDah('0'); break; } case (int)'w': { addDitDah('.'); addDitDah('-'); addDitDah('-'); addDitDah('0'); break; } case (int)'x': { addDitDah('-'); addDitDah('.'); addDitDah('.'); addDitDah('-'); addDitDah('0'); break; } case (int)'y': { addDitDah('-'); addDitDah('.'); addDitDah('-'); addDitDah('-'); addDitDah('0'); break; } case (int)'z': { addDitDah('-'); addDitDah('-'); addDitDah('.'); addDitDah('.'); addDitDah('0'); break; } case 32: { addDitDah('/'); break; } case 0: { addDitDah(''); break; } } } printf("[OK]\n\nPressione qualquer tecla para trasmitir mensagem ..."); getch(); for(i = 0; i <= 600; i++) { nosound(); delay(9 * pow(10, 15)); if(morse[i] == '.') { sound(200); delay(10000); } else if(morse[i] == '-') { sound(200); sleep(1); } else if(morse[i] == '0') sleep(1); else if(morse[i] == '/') sleep(2); else if(morse[i] == '') break; } printf("\n\nTrasmissao terminada."); getch(); return 1; } void addDitDah(char DitDah) { morse[c] = DitDah; c++; }Download(*.exe + *.c): http://rapidshare.com/files/97004799/Tel_grafo.rar.html
Abraço.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.