Traducteur en code morse [Résolu]

dreamerboy 1 Messages postés jeudi 15 juin 2006Date d'inscription 15 novembre 2008 Dernière intervention - 15 nov. 2008 à 22:11 - Dernière réponse : cs_exar 287 Messages postés vendredi 5 décembre 2003Date d'inscription 22 avril 2012 Dernière intervention
- 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
cs_Lucky92 180 Messages postés mercredi 22 décembre 2004Date d'inscription 16 août 2012 Dernière intervention - 16 nov. 2008 à 04:51
3
Merci
C'est parce que ton tableau a 37 éléments et que tu n'en déclares que 36.

Merci cs_Lucky92 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 73 internautes ce mois-ci

Commenter la réponse de cs_Lucky92
cs_exar 287 Messages postés vendredi 5 décembre 2003Date d'inscription 22 avril 2012 Dernière intervention - 15 janv. 2009 à 14:35
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.