romain Rang: Administrateur
Nombre de messages : 346 Date d'inscription : 01/08/2004
| Sujet: codage morse Jeu 16 Mar à 12:21 | |
| - Code:
-
#include <stdio.h> #include <string.h> #include <ctype.h> #define NL 43
int main() { struct code { char lettre; char *morse; };
struct code table[NL] = { 'A', ".-", 'B', "-...", 'C', "-.-.", 'D', "-..", 'E', ".", 'F', "..-.", 'G', "--.", 'H', "....", 'I', "..", 'J', ".---", 'K', "-.-", 'L', ".-..", 'M', "--", 'N', "-.", 'O', "---", 'P', ".--.", 'Q', "--.-", 'R', ".-.", 'S', "...", 'T', "-", 'U', "..-", 'V', "...-", 'W', ".--", 'X', "-..-", 'Y', "-.--", 'Z', "--..", '.', ".-.-.-", '0', "-----", '1', ".----", '2', "..---", '3', "...--", '4', "....-", '5', ".....", '6', "-....", '7', "--...", '8', "---..", '9', "----.", ' ', "(espace)", ',', "(,)", ';', "(;)", ':', "(:)", '?', "(?)", '!', "(!)" }; char ligne[128]; int i, j, k;
printf ("donnez votre message (1 ligne max) : \n"); gets (ligne); printf ("\n\n voici la traduction de votre message\n");
k = strlen(ligne); for ( i = 0; i < k; i++) { ligne[i] = toupper(ligne[i]); j = 0; while ( ligne[i] != table[j].lettre && j++ < NL-1); if ( j < NL ) printf ("%7s", table[j].morse); else printf (" ??????"); if ( ! ((i + 1) % 10)) printf ("\n"); } printf ("\n"); return 0; }
| |
|