Linguagem SMS. Short Message Service (SMS) é um serviço de comunicações que permite o envio de mensagens de texto de 160 ou menos caracteres entre telefones móveis. Com a proliferação do uso mundial do telefone móvel, SMS está sendo usado em muitas nações em

desenvolvimento para propósitos políticos (por exemplo, para expressar opiniões e oposição), para informar sobre desastres naturais e assim por diante. Acesse para ver exemplos disso. Como o comprimento das mensagens de SMS é limitado, normalmente é usada a linguagem SMS — abreviações de palavras e frases comuns nas mensagens de texto móveis, e-mails, mensagens instantâneas etc. Por exemplo, ‘EMO’ quer dizer ‘em minha opinião’ na linguagem SMS. Procure informações sobre a linguagem SMS on-line. Escreva um programa em que o usuário possa digitar uma mensagem usando a linguagem SMS, e que depois possa traduzi-la para o português. Ofereça também um mecanismo para traduzir o texto escrito em português para a linguagem SMS. Um problema potencial é que uma abreviação em SMS pode também ter outros significados. Por exemplo, EMO (conforme usado acima) também poderia significar ‘Empresa Marítima Ocidental’ etc.

Passo 1

Vamos escrever um programa que faça o seguinte:

Solicita que o usuário insira uma mensagem usando o idioma do SMS.

Traduz a mensagem dada em seu texto equivalente em português.

Para escrever este programa, primeiro declararemos o arquivo de cabeçalho para as operações de entrada e saída.

#include

Em seguida, vamos definir a função principal

int main(){

}

Dentro desta função, vamos definir o requisito do programa.

Agora vamos declarar as seguintes variáveis.

// Para representar as palavras SMS e suas palavras equivalentes em inglês

char *smsLang[] = {"r", "c", "u","bro", "wat","wer", "l8r", "asap"};

char *translation[] = {"são","ver","você", "irmão", "o quê",

"onde", "mais tarde","o mais rápido possível"};

char msg[100]; // Para armazenar a mensagem

char *palavraPtr; // Para apontar para uma palavra na mensagem

int; // Para o contador de loops

Passo 2

Em seguida, solicitaremos ao usuário que insira a mensagem no idioma do SMS.

printf("Digite sua mensagem no idioma do SMS: \n");

fgets(msg, sizeof(msg), stdin);

Em seguida, dividiremos as palavras na mensagem fornecida e as atribuiremos ao ponteiro.

palavraPtr = strtok(msg, "\n");

Agora, exibiremos a tradução equivalente em inglês da mensagem SMS executando o seguinte.

printf("\nTraducao: \n");

// Percorre as palavras na mensagem dada

while(palavraPtr != NULL){

// Percorre os arrays que contém as palavras SMS e em inglês

for(i = 0; i

// Substitui a palavra atual na mensagem

// com a palavra equivalente em inglês se isso

// palavra corresponde à palavra SMS atual

if(strcmp(palavraPtr, smsLang[i]) == 0){

palavraPtr = tradução[i];

pausa;

}

}

// Mostra a palavra traduzida

printf("%s", palavraPtr);

// Move para a próxima palavra na mensagem

palavraPtr = strtok(NULL, "\n");

}

Por fim, indique que o programa terminou com sucesso colocando o valor de retorno da função principal.

return 0;

Resposta

Ver desenvolvimento!!