Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Code MORSE en C [ Divers / Débutant(e) ] (jpv424)

lundi 5 novembre 2007 à 11:04:55 | Code MORSE en C

jpv424

Salut à tous et merci pour votre travail !! Le site est génial.

En grapillant à droite à gauche des source sur le morse j'ai fabriqué le code ci-dessous. Le problème est qu'on me demande d'utiliser les structures et là je ne suis pas du tout famillier avec sa... Comment pourrais-je convertir mon code en y mettant cette fois des structures ?

Merci beaucoup !!!

Dans main.c :


/*Déclarations*/
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include"fonctions_morse.h"

/*Programme*/
int main()
{
    char    t[37]={'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','1','2','3','4','5','6','7','8','9','0',
                ' '},
            m[37][6]={{".-"},{"-..."},{"-.-."},{"-.."},{"."},{"..-."},{"--."},{"...."},{".."},
                     {".---"},{"-.-"},{".-.."},{"--"},{"-."},{"---"},{".--."},{"--.-"},{".-."},
                   {"..."},{"-"},{"..-"},{"...-"},{".--"},{"-..-"},{"-.--"},{"--.."},{".----"},
                   {"..---"},{"...--"},{"....-"},{"....."},{"-...."},{"--..."},{"---.."},{"---."},
                   {"-----"},{"//"}},
            c[80];

    int k=1;

    do
    {
        printf("1 : Coder un texte en morse\n");
        printf("2 : Decoder un texte morse\n");
        printf("3 : Quitter le programme\n\n");

        switch(getch())
        {
            case'1':    s_texte(c,m,t);break;
            case'2':    s_morse(c,m,t);break;
            case'3':    k=0;break;
            default:    printf("Choix inconnu\n\n");break;
        }
    }while(k!=0);
    return 0;
}

Dans fonction_morse.h :

void s_morse(char[],char[37][6],char[]);
void s_texte(char[]);
void a_morse(char[],char[],char[37][6]);
void a_texte(char[],char[],int);

Dans f_saisie.c :

/*Saisie de Texte vers Morse*/
void s_texte(char c[],char m[37][6],char t[])
{
    printf("Phrase a coder en morse (80 caracteres max)\n\n");
    printf(" -> ");
    gets(c);

    if(strlen(c)>80) printf("\nTrop de caractères !\n\n");
    else a_morse(c,t,m);
}

/*Saisie de Morse vers Texte*/
void s_morse(char c[],char m[37][6],char t[])
{
    char z[1][6],x[80];
    int i,k=0,ok;

    printf("Caracteres morse à décoder\n\n");
    printf(" -> ");
    gets(z[0]);
   
    for(i=0;i<37;i++)
    {
        if(strcmp(z[0],m[i])==0)
        {
            x[k]=i;
            k++;
            ok=1;
            i=37;
        }
        else ok=0;
    }
    if(ok==0) printf("\nCaractere morse inconnu !");
    else printf(" => ");
    a_texte(t,x,k);
}

Dans f_affichage.c :

/*Afficher le texte*/
void a_texte(char t[],char x[],int k)
{
    int i;

    for(i=0;i<k;i++) printf("%c",t[x[i]]);
    printf("\n\n");
}

/*Afficher le code morse*/
void a_morse(char c[],char t[],char m[37][6])
{
    int i,j;

    printf(" => ");
    for(i=0;i<strlen(c);i++)
    {
        for(j=0;j<37;j++)
        {
            if(c[i]==t[j])
            {
                if(c[i]==' ') printf(" ");
                printf("%s",m[j]);
                if((c[i+1]!='\0')&&(c[i+1]!=' ')&&(c[i]!=' ')) printf(" | ");
                if(c[i]==' ') printf(" ");
            }
        }
    }
    printf("\n\n");
}

lundi 5 novembre 2007 à 11:34:47 | Re : Code MORSE en C

mogwai93

regarde ici :
[ Lien ]

dans ton cas, ta structure contient 2 variables :
- 1 pour le caractère
- 1 pour le code morse correspondant

ensuite il ne te reste qu'à faire un tableau de ta structure (ou une liste de pointeurs sur ta structure si tu utilises les listes)

 


mardi 6 novembre 2007 à 11:01:56 | Re : Code MORSE en C

jpv424

Merci mais j'ai juste un peu de mal à voir comment faire appel à la structure une fois qu'elle à été créée...

Pourriez-vous faire un exemple avec ma source si vous avez le temps ?

Merci

mardi 6 novembre 2007 à 11:36:54 | Re : Code MORSE en C

DeAtHCrAsH

Voici comment marche une structure :

// Ici on déclare la structure
typedef struct Personne {
   int Age;
   char Nom[32];
};

// Pour utiliser ta structure tu fais comem suit
Personne unePersonne;
unePersonne.Age = 10;
strcpy(unePersonne.Nom, "toto");

A toi de jouer, on va pas te macher le travail ;)

Shell

mercredi 7 novembre 2007 à 15:09:25 | Re : Code MORSE en C

jpv424

A ok je vois le truc sa simplifi vachement les choses en faite...

Merci ^^



Cette discussion est classé dans : texte, printf, void, char, morse


Répondre à ce message

Sujets en rapport avec ce message

moteur de recherche pour des fichiers contenu dans un serveur ftp [ par cobra176 ] j'ai créer un programme de recherche grace a l'aide plusieurs menbres  de ce site mais à la fin quand je le compile mon assembleur me dit Build error FTP et fichiers [ par cobra176 ] j'ai créer un programme qui recherche des mots clée et affiche les lignes qui les contint dans des fichiers log qui eux sont contenu dans un serveur f Besoin d'aide pour ce programme [ par ibnoul ] Salut j'aimerai avoir de l'aide a propos de ce programme en c++ il me sigale des errreurs et je ne parvient pas a les corriger. On me demande creer un [c++]nom de la fenetre dans focus [ par kiki67100 ] Bonjour voila jaimerais avoir le nom de la fenetre qui se trouve dans le focus jai deja un code mais il me sort du texte bizzare voila le code :#inclu aide c++ structure [ par buse974 ] salut tout le monde je prend des cour par le cned et j'ai un exo qui me cause probleme je doit cree un programme qui traduit une phrase taper en code printf de char en hexadécimal affiche un byte en 4 caractères ? [ par develdelphi ] Bonjour,Le printf  de mon compilateur génère des erreures d'affichages, en effet je dipose de variables unsigned char que je voudrais affichées en héx probleme de char [ par dededo ] salut ,j'ai creer un tableau : char truc[20][20]et voila mon probleme : je le rempli et quand je regarde son contenu avec les outils de VC++ il n'est quelqun peut il corriger ce qui ne vas pas dans ce programme s'il vous plait [ par gasy72 ] en fait je commence à programmer en C++ maintenant et j'apprend en modifiant et en essayant de comprendre certain programme.voici par exemple un code fichie texte [ par cedric3456 ] bonjour je suis tres nul en c++ je debute pouvez vous m'aidez je cherche a faire 3 fonction sur Dev-C++ 4.9.9.2fonction :ecrire (nom_fichier,chaine_ch Elle est ou l'erreur ?? [ par kgadhi ] Bonsoir tous le monde et merci pour votre aide,j'essaye de m'entrainer à la programmation orientée objet en C/C++ mais la j'ai un petit probleme:virtu


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


HTC Magic

Entre 429€ et 429€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,671 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.