Ir para conteúdo
Fórum Script Brasil
  • 0

Telégrafo


Zeero

Pergunta

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

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...