IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Bug avec les strings


Sujet :

C++

Mode arborescent

sphere369 Bug avec les strings 19/02/2009, 15h00
Sylvain Togni Le problème vient de la façon... 19/02/2009, 15h10
Médinoc Et aussi: Dans ces... 19/02/2009, 15h45
sphere369 Merci a tous pour immense... 19/02/2009, 18h46
Médinoc getline(cin, traduc); 19/02/2009, 19h27
sphere369 Ca bug comme au tout... 19/02/2009, 19h59
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2009
    Messages : 86
    Par défaut Bug avec les strings
    Bonjour,

    J'ai un problème sous VC++ 6 lorsque j'exécute le code ci-dessous avec les fichiers ci joints dans le meme repertoire que l'execute j'obtiens par exemple le resultat suivant :

    traduisez le mot suivant : courir : to run(la seule réponse rentre au clavier)
    Et ben non, la bonne réponse est : to run
    traduisez le mot suivant : to do: Et ben non, la bonne reponse est : faire
    traduisez le mot suivant : to do:

    D'avance merci pour votre aide.

    Sphere.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     #include <iostream>   // ça, tout le monde connaît !
    #include <string>     // pour les chaînes de caractères
    #include <fstream>    // pour lire dans les fichiers .txt
    #include <vector>     // pour pouvoir utiliser les vecteurs
    #include <ctime>      // pour les nombres aléatoires
     
    using namespace std;
     
    int aleatoire(const int min, const int max)
    {
        return (int)(min+((float) rand()/RAND_MAX*(max - min + 1)));
    }
     
    void traduction(vector<string>& tabCherche, vector<string>& tabRes, int alea)
    {
        string traduc;
        cout << "Traduisez le mot suivant : " << tabCherche[alea] << " : ";
        cin >> traduc;
     
        if(traduc == tabRes[alea])  //je vérifie la traduction
            cout << "Tres bien" << endl << endl;
        else if(traduc == "0000") // condition d'arrêt
        {
            cout << endl;
            cout << "Fin du test" << endl << endl;
            exit(0);
        }
        else
            cout << "Eh ben non, la bonne reponse est : " << tabRes[alea] << endl << endl;
    }
     
    int main()
    {
        const int min = 0;
        const int max = 1;
     
        srand((unsigned) time(NULL));  // sert à initialiser le rand()
     
        vector<string> tabfr;  // les vecteurs se déclarent comme ceci !
        vector<string> taban;
        string mot;  // chaîne intermédiaire servant à stocker le mot dans le vecteur
     
        ifstream fichierAnglais("anglais.txt", ios::in); // ouverture lecture seule
        ifstream fichierFrancais("francais.txt", ios::in);
     
        if(fichierAnglais && fichierFrancais)
        {
            while(getline(fichierAnglais, mot)) // tant qu'on peut lire dans le fichier
            {
                taban.push_back(mot);  // pour rajouter dans un vecteur
                getline(fichierFrancais, mot);         
                tabfr.push_back(mot);
            }
            fichierAnglais.close();   // fermeture des fichiers
            fichierFrancais.close();
        }
        else
        {
            cerr << "Impossible d'ouvrir un des 2 fichiers !" << endl;
            exit(1);
        }
     
        for(int j = 0; j < 100; j++)
        {
            int alea2 = aleatoire(min, max);
            int alea = aleatoire(min, tabfr.size()-1);  // le -1 car dans un vecteur, on compte à partir de 0
     
            if(alea2 == 0) // si c'est 0, il demande un mot français
                traduction(taban, tabfr, alea);
            else // sinon, il demande un mot anglais
                traduction(tabfr, taban, alea);
        }
     
        return 0;
    }
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [HTML][Bug] Avec les float/clear, c'est moi ou FF ?
    Par Séb. dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 02/01/2006, 14h56
  2. [Sécurité] bug avec les variables de session!
    Par ozzmax dans le forum Langage
    Réponses: 7
    Dernier message: 09/12/2005, 19h41
  3. probleme avec les string sur ITA2 64 bits!
    Par vince3320 dans le forum SL & STL
    Réponses: 5
    Dernier message: 22/08/2005, 19h59
  4. Lecture de fichier : Probleme avec les string
    Par soda_o_rat dans le forum SL & STL
    Réponses: 10
    Dernier message: 11/08/2005, 22h59
  5. [CR9] Bug avec les champs à valeur vide ?
    Par Djob dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 15/07/2003, 21h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo