Traducteur en code morse [Résolu]

Messages postés
1
Date d'inscription
jeudi 15 juin 2006
Dernière intervention
15 novembre 2008
- - Dernière réponse : cs_exar
Messages postés
287
Date d'inscription
vendredi 5 décembre 2003
Dernière intervention
22 avril 2012
- 15 janv. 2009 à 14:35
slt, je vient d'ecrire le code C++ suivant qui saisis un text et le traduit en code morse mais a l'execution windows me sort un message d'erreure et pourtant apres compilation (avec code::blocks) je n'avais aucune erreurs.
voici le code
#include<string>
#include
#include<conio.h>


using namespace std;
int main (void)


{
   
    struct morse { char car; string code ;};
    morse t[36];
    t[0].car='a';t[0].code=".-";
    t[1].car='b';t[1].code="-...";
    t[2].car='c';t[2].code="-.-.";
    t[3].car='d';t[3].code="-..";
    t[4].car='e';t[4].code=".";
    t[5].car='f';t[5].code="..-.";
    t[6].car='g';t[6].code="--.";
    t[7].car='h';t[7].code="....";
    t[8].car='i';t[8].code="..";
    t[9].car='j';t[9].code=".---";
    t[10].car='k';t[10].code="-.-";
    t[11].car='l';t[11].code=".-..";
    t[12].car='m';t[12].code="--";
    t[13].car='n';t[13].code="-.";
    t[14].car='o';t[14].code="---";
    t[15].car='p';t[15].code=".--.";
    t[16].car='q';t[16].code="--.-";
    t[17].car='r';t[17].code=".-.";
    t[18].car='s';t[18].code="...";
    t[19].car='t';t[19].code="-";
    t[20].car='u';t[20].code="..-";
    t[21].car='v';t[21].code="...-";
    t[22].car='w';t[22].code=".--";
    t[23].car='x';t[23].code="-..-";
    t[24].car='y';t[24].code="-.--";
    t[25].car='z';t[25].code="--..";
    t[26].car='.';t[26].code=".-.-.-";
    t[27].car='0';t[27].code="-----";
    t[28].car='1';t[28].code=".----";
    t[29].car='2';t[29].code="..---";
    t[30].car='3';t[30].code="...--";
    t[31].car='4';t[31].code="....-";
    t[32].car='5';t[32].code=".....";
    t[33].car='6';t[33].code="-....";
    t[34].car='7';t[34].code="--...";
    t[35].car='8';t[35].code="---..";
    t[36].car='9';t[36].code="----.";




cout<<"Tapez un text "<< endl;
string text;
const char* c;
cin>>text;
c=text.c_str();
int j;
for (int i=0;i<text.size();i++)
{




    for (j=0;j<37;j++)


        if (t[j].car==c[i])
        cout<<t[j].code;




    if (j>36)
    cout<<"?????";
}


return 0;
}

merci d'avance


 
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
180
Date d'inscription
mercredi 22 décembre 2004
Dernière intervention
16 août 2012
2
3
Merci
C'est parce que ton tableau a 37 éléments et que tu n'en déclares que 36.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Lucky92
Messages postés
287
Date d'inscription
vendredi 5 décembre 2003
Dernière intervention
22 avril 2012
0
Merci
Tant qu'à utiliser le C++, pourquoi tu n'utilises pas un map<char, string> ?
Commenter la réponse de cs_exar

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.