Traducteur en code morse [Résolu]

Signaler
Messages postés
1
Date d'inscription
jeudi 15 juin 2006
Statut
Membre
Dernière intervention
15 novembre 2008
-
Messages postés
286
Date d'inscription
vendredi 5 décembre 2003
Statut
Membre
Dernière intervention
22 avril 2012
-
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


 

2 réponses

Messages postés
180
Date d'inscription
mercredi 22 décembre 2004
Statut
Membre
Dernière intervention
16 août 2012
2
C'est parce que ton tableau a 37 éléments et que tu n'en déclares que 36.
Messages postés
286
Date d'inscription
vendredi 5 décembre 2003
Statut
Membre
Dernière intervention
22 avril 2012
2
Tant qu'à utiliser le C++, pourquoi tu n'utilises pas un map<char, string> ?