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

Qt Discussion :

au bord de la crise de nerfs


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2009
    Messages : 12
    Par défaut au bord de la crise de nerfs
    bonjour, j'ai 2 variable qui doivent comparer si elles sont identique mais elle retourne toujours vrai meme quand elle ne sont pas du tout identique. ca fait 2 semaine que je galere sur ce probleme. les deux variables sont dans le fichier facile.cpp a la ligne 61.

    voici les fichiers

    facile.cpp
    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
    #include "Facile.h"
    #include "Mot.h"
     
    Facile::Facile()
    {
        //Fabrication de la fenetre de niveau facile
        QDesktopWidget bureau;
        QRect surface_bureau = bureau.screenGeometry();
        int x = surface_bureau.width()/2 - width()/2;
        int y = surface_bureau.height()/2 - height()/2;
        move(x,y);
     
        setWindowTitle("Folie Lettre en mode Facile");
        setWindowIcon(QIcon("Data/Images/earth.gif"));
     
        btnValider = new QPushButton("Valider");
        btnEntendre = new QPushButton("Entendre le son a nouveau");
        boxImage = new QLabel;
        Solution = new QLabel("");
        Reponse = new QLineEdit();
        layoutFacile = new QVBoxLayout;
        layoutBoutons = new QHBoxLayout;
        temporaire = new QLabel;
     
        layoutBoutons->addWidget(btnValider);
        layoutBoutons->addWidget(btnEntendre);
     
        layoutFacile->addWidget(temporaire);
        layoutFacile->addWidget(Solution);
        layoutFacile->addWidget(Reponse);
        layoutFacile->addLayout(layoutBoutons);
        setLayout(layoutFacile);
        coupRestants = 10;
        Jouer();
     
    }
     
    void Facile::Jouer()
    {
        motMystere = ("");
        motMystere = Mot::TrouverMot("Data/Dictio/dictiofacile.txt");
     
        Solution->setText("Comment ça doit s'écrire?");
        motJoueur = Reponse->text();
        temporaire->setText("motMystere=" + motMystere);
     
     
        QObject::connect(btnValider, SIGNAL(clicked()), this, SLOT(Gagne()));
        QObject::connect(btnEntendre, SIGNAL(clicked()), this, SLOT(Encore()));
    }
     
    void Facile::Gagne()
    {
        strcpy(motJoueur, mot1.toAscii().data());
        strcpy*(motMystere, mot2.toAscii().data());
     
        if (Reponse->text().isEmpty())
            QMessageBox::critical(this, "Erreur", "Tu doit entrer au moins un mot");
            coupRestants--;
     
        if (QString::compare(mot1, mot2) == 0)
            QMessageBox::information(this, "Erreur", "cool.");
        else
            QMessageBox::critical(this, "Erreur", "Désolé, ce n'est pas comme ca.");
     
     
     
    }
     
    void Facile::Encore()
    {
        motMystere = ("");
        motMystere = Mot::TrouverMot("Data/Dictio/dictiofacile.txt");
    }
    facile.h
    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
    #ifndef HEADER_FACILE
    #define HEADER_FACILE
     
    #include <QtGui>
    #include <QWidget>
    #include <QApplication>
    #include <QTextEdit>
    #include <QFile>
    #include <QString>
    #include <QTextStream>
    #include <QLineEdit>
    #include <QString>
     
    class Facile : public QWidget
    {
        Q_OBJECT
     
     
        public:
            Facile();
            void Jouer();
     
        public slots:
            void Gagne();
            void Encore();
     
        private:
        QVBoxLayout *layoutFacile;
        QHBoxLayout *layoutBoutons;
        QPushButton *btnValider;
        QPushButton *btnEntendre;
        QLabel *Solution;
        QLineEdit *Reponse;
        QLabel *boxImage;
        QLabel *temporaire;
     
        QString motMystere;
        QString motJoueur;
        QString son;
        QString image;
        char* mot1;
        char* mot2;
     
        long longMot;
        bool bonMot;
        long coupRestants;
     
     
    };
     
    #endif
    mot.h
    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
    #ifndef H_MOT
    #define H_MOT
     
    #include <QtGui>
    #include <fstream>
     
    class Mot
    {
        public :
        Mot();
        static QString TrouverMot(char* fichierdictio);
     
     
        private :
     
    };
     
    #endif
    mot.cpp
    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
    #include "Mot.h"
     
    using namespace std;
     
    Mot::Mot()
    {
        qsrand(time(NULL));
     
    }
     
    QString Mot::TrouverMot(char* fichierdictio)
    {
        int MAX = 0;
        char caractere = 0;
     
        QFile filz(fichierdictio);
     
        if (!filz.open(QIODevice::ReadOnly))
            return ("ERROR");
        QTextStream fichier(&filz);
     
        // Compte du nombre de mots
        while (!fichier.atEnd())
        {
            fichier >> caractere;
     
            if (caractere == '\n')
                MAX++;
        }
     
        fichier.seek(0);
     
        // Definition du nombre aléatoire
        // et positionnement dans le fichier
        int ligneAleat = rand() % MAX;
        int t = 0;
     
        while (t != ligneAleat)
        {
            fichier >> caractere;
            if (caractere == '\n')
                t++;
        }
     
        // Retour du mot selectionné
        QString mot;
        fichier >> mot;
     
        return mot;
    }

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2009
    Messages : 12
    Par défaut
    le probleme est reglé, j'ai modifier ma comparaison. voici ce que ca donne maintenant et ca marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
        if (Reponse->text().isEmpty())
            QMessageBox::critical(this, "Erreur", "Tu doit entrer au moins un mot");
            coupRestants--;
     
        if (Reponse->text().compare(motMystere, Qt::CaseInsensitive)==0)
            QMessageBox::information(this, "Erreur", "cool.");
        else
            QMessageBox::critical(this, "Erreur", "Désolé, ce n'est pas comme ca.");

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calques Dreamweaver avant crise de nerf !
    Par Hopkins19 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 16/06/2008, 13h32
  2. Au bord de la crise de nerf avec on serveur local
    Par redvivi dans le forum Débuter
    Réponses: 9
    Dernier message: 21/02/2008, 14h29
  3. VBA Excell Multiples problèmes Au bord de la crise de nerfs..
    Par mimbreacupa dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/03/2007, 10h13
  4. Des couleurs, des collones, un DBGRID, et une crise de nerfs
    Par Yepazix dans le forum Bases de données
    Réponses: 5
    Dernier message: 22/09/2004, 14h51
  5. Dessiner un rectangle avec bords et texte ...
    Par Djedjeridoo dans le forum Composants VCL
    Réponses: 3
    Dernier message: 16/06/2003, 17h17

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