maxcraft-prog Forum Index maxcraft-prog
Le nouveau forum maxcraft sur la programmation !!!
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Calculatrice [Qt]

 
Post new topic   Reply to topic    maxcraft-prog Forum Index -> Programmation -> C, C++ -> Question
Previous topic :: Next topic  
Author Message
jyz93


Offline

Joined: 14 Oct 2008
Posts: 27
Localisation: 93

PostPosted: Tue 14 Oct - 21:10 (2008)    Post subject: Calculatrice [Qt] Reply with quote

Bon ce sujet n'est pas trop une question mais bon je savais pas ou posté si non donc je l'ai mi la... Rolling Eyes
Il s'agit d'une erreur de compilation lorsque je tente de réalisé une calculatrice en C++ (GUI) avec Qt.
Sans plus attendre voici mon code:


 main.cpp
Code:

 #include <iostream>
#include <QtGui>
#include <QApplication>
#include "fenetreMain.h"

int main(int argc, char* argv[])
{

    QApplication app(argc, argv);

    fenetreMain fenetre;
    fenetre.show();

    return app.exec();
}



fenetreMain.cpp

 
Code:

 #include <QtGui>
#include <iostream>
#include "fenetreMain.h"

fenetreMain::fenetreMain()
{

boutonmul = new QPushButton("X");
boutonadi = new QPushButton("+");
boutonsou = new QPushButton("/");
boutondiv = new QPushButton("-");
bouton1 = new QPushButton("1");
bouton2 = new QPushButton("2");
bouton3 = new QPushButton("3");
bouton4 = new QPushButton("4");
bouton5 = new QPushButton("5");
bouton6 = new QPushButton("6");
bouton7 = new QPushButton("7");
bouton8 = new QPushButton("8");
bouton9 = new QPushButton("9");
bouton0 = new QPushButton("0");
exit = new QPushButton("Quitter");
boutonres = new QPushButton("=");
resultat = new QLineEdit();
QString text = "";
ok = 1;
bol = 0;
cal = 0;
cal2 = 0;
impl = 0;
calr = 0;

QLabel *label = new QLabel("resultat:");
resultat->setText("0");
resultat->setReadOnly(true);
QGridLayout *layout = new QGridLayout;

layout->addWidget(label, 1, 0);
layout->addWidget(resultat, 1, 1, 1, 3);
layout->addWidget(boutonadi, 2, 3);
layout->addWidget(boutonsou, 3, 3);
layout->addWidget(boutondiv, 4, 3);
layout->addWidget(boutonmul, 5, 3);
layout->addWidget(bouton1, 2, 0);
layout->addWidget(bouton2, 2, 1);
layout->addWidget(bouton3, 2, 2);
layout->addWidget(bouton4, 3, 0);
layout->addWidget(bouton5, 3, 1);
layout->addWidget(bouton6, 3, 2);
layout->addWidget(bouton7, 4, 0);
layout->addWidget(bouton8, 4, 1);
layout->addWidget(bouton9, 4, 2);
layout->addWidget(bouton0, 5, 0 );
layout->addWidget(boutonres, 5, 1);
layout->addWidget(exit, 5, 2);

setLayout(layout);

QObject::connect(exit, SIGNAL(clicked()), qApp, SLOT(quit()));
QObject::connect(bouton1, SIGNAL(clicked()), this, SLOT(slot1()));
QObject::connect(bouton2, SIGNAL(clicked()), this, SLOT(slot2()));
QObject::connect(bouton3, SIGNAL(clicked()), this, SLOT(slot3()));
QObject::connect(bouton4, SIGNAL(clicked()), this, SLOT(slot4()));
QObject::connect(bouton5, SIGNAL(clicked()), this, SLOT(slot5()));
QObject::connect(bouton6, SIGNAL(clicked()), this, SLOT(slot6()));
QObject::connect(bouton7, SIGNAL(clicked()), this, SLOT(slot7()));
QObject::connect(bouton8, SIGNAL(clicked()), this, SLOT(slot8()));
QObject::connect(bouton9, SIGNAL(clicked()), this, SLOT(slot9()));
QObject::connect(bouton0, SIGNAL(clicked()), this, SLOT(slot0()));
QObject::connect(boutonadi, SIGNAL(clicked()), this, SLOT(slota()));
QObject::connect(boutonsou, SIGNAL(clicked()), this, SLOT(slots()));
QObject::connect(boutondiv, SIGNAL(clicked()), this, SLOT(slotd()));
QObject::connect(boutonmul, SIGNAL(clicked()), this, SLOT(slotm()));
QObject::connect(boutonres, SIGNAL(clicked()), this, SLOT(slote()));


setWindowTitle("Calculatrice");
setWindowIcon(QIcon("calc.ico"));
}

void fenetreMain::slot1()
    {

    text += "1";
    resultat->setText(text);

    }

void fenetreMain::slot2()
    {

    text += "2";
    resultat->setText(text);

    }

void fenetreMain::slot3()
    {

    text += "3";
    resultat->setText(text);

    }

void fenetreMain::slot4()
    {

    text += "4";
    resultat->setText(text);

    }

void fenetreMain::slot5()
    {

    text += "5";
    resultat->setText(text);

    }

void fenetreMain::slot6()
    {

    text += "6";
    resultat->setText(text);

    }

void fenetreMain::slot7()
    {

    text += "7";
    resultat->setText(text);

    }

void fenetreMain::slot8()
    {

    text += "8";
    resultat->setText(text);

    }

void fenetreMain::slot9()
    {

    text += "9";
    resultat->setText(text);

    }

void fenetreMain::slot0()
    {

    text += "0";
    resultat->setText(text);

    }

void fenetreMain::slota()
    {
    resultat->setText("+");
    bol = 1;

        if (impl == 0)
        {
            cal = QString(text).toDouble(&ok);
            text = "";
            impl++;
        }

        if (impl == 1)
        {
            cal2 = QString(text).toDouble(&ok);
            text = "";
            impl++;
        }

    }

void fenetreMain::slots()
    {
    resultat->setText("-");
    bol = 2;

        if (impl == 0)
        {
            cal = QString(text).toDouble(&ok);
            text = "";
            impl++;
        }

        if (impl == 1)
        {
            cal2 = QString(text).toDouble(&ok);
            text = "";
            impl++;
        }

    }

void fenetreMain::slotm()
    {
    resultat->setText("X");
    bol = 3;

        if (impl == 0)
        {
            cal = QString(text).toDouble(&ok);
            text = "";
            impl++;
        }

        if (impl == 1)
        {
            cal2 = QString(text).toDouble(&ok);
            text = "";
            impl++;
        }

    }

void fenetreMain::slotd()
    {
    resultat->setText("/");
    bol = 4;

        if (impl == 0)
        {
            cal = QString(text).toDouble(&ok);
            text = "";
            impl++;
        }

        if (impl == 1)
        {
            cal2 = QString(text).toDouble(&ok);
            text = "";
            impl++;
        }

    }

void fenetreMain::slote()
    {
    resultat->setText("/");

        if (bol == 1)
        {
            calr = cal + cal2;
            text = QString::number(calr);
            resultat->setText(text);
            text = "";
        }

        if (bol == 2)
        {
            calr = cal - cal2;
            text = QString::number(calr);
            resultat->setText(text);
            text = "";
        }

        if (bol == 3)
        {
            calr = cal * cal2;
            text = QString::number(calr);
            resultat->setText(text);
            text = "";
        }

        if (bol == 4)
        {
            calr = cal / cal2;
            text = QString::number(calr);
            resultat->setText(text);
            text = "";
        }
    }



fenetreMain.h

 
Code:

 #ifndef FENETREMAIN_H_INCLUDED
#define FENETREMAIN_H_INCLUDED
#include <QtGui>
#include <iostream>

class fenetreMain : public QWidget
{
    Q_OBJECT

    public:
    fenetreMain();

    private slots:
    void slot1();
    void slot2();
    void slot3();
    void slot4();
    void slot5();
    void slot6();
    void slot7();
    void slot8();
    void slot9();
    void slot0();
    void slotm();
    void slota();
    void slots();
    void slotd();
    void slote();

    private:
    QPushButton *boutonmul;
    QPushButton *boutonadi;
    QPushButton *boutondiv;
    QPushButton *boutonsou;
    QPushButton *bouton1;
    QPushButton *bouton2;
    QPushButton *bouton3;
    QPushButton *bouton4;
    QPushButton *bouton5;
    QPushButton *bouton6;
    QPushButton *bouton7;
    QPushButton *bouton8;
    QPushButton *bouton9;
    QPushButton *bouton0;
    QPushButton *boutonres;
    QPushButton *exit;
    QLineEdit *resultat;
    QString text;
    long bol;
    double cal;
    double cal2;
    double calr;
    bool ok;
    long impl;

};

#endif



 
Et enfin la terrible erreur que m'affiche le compilateur ! Evil or Very Mad

 


Pour un petit aperçut de son interface :



Merci d'avance pour votre aide,
_________________


Back to top
Publicité






PostPosted: Tue 14 Oct - 21:10 (2008)    Post subject: Publicité

PublicitéSupprimer les publicités ?
Back to top
Taruf


Offline

Joined: 15 Oct 2008
Posts: 27

PostPosted: Thu 16 Oct - 21:44 (2008)    Post subject: Calculatrice [Qt] Reply with quote

ta plus qu'a te pendre

Back to top
jyz93


Offline

Joined: 14 Oct 2008
Posts: 27
Localisation: 93

PostPosted: Fri 17 Oct - 12:30 (2008)    Post subject: Calculatrice [Qt] Reply with quote

C'est bon j'ai trouvé l'erreur qui empêche de compilé, c'est parce qu'on ne peut pas appelé un slot "slots".
Mais maintenant sa m'affiche n'importe quoi quand j'essaie de faire un calcul :/
_________________


Back to top
Taruf


Offline

Joined: 15 Oct 2008
Posts: 27

PostPosted: Fri 17 Oct - 17:32 (2008)    Post subject: Calculatrice [Qt] Reply with quote

Du genre ?

Back to top
jyz93


Offline

Joined: 14 Oct 2008
Posts: 27
Localisation: 93

PostPosted: Fri 17 Oct - 18:16 (2008)    Post subject: Calculatrice [Qt] Reply with quote

ba sa m'affiche le resultat du premier nombre que je rentre pour faire l'opération !

Edit: Sa doit etre quand je tente de convertir un Qstring en double que sa merde nan ?
_________________


Back to top
Taruf


Offline

Joined: 15 Oct 2008
Posts: 27

PostPosted: Fri 17 Oct - 23:42 (2008)    Post subject: Calculatrice [Qt] Reply with quote

J'en sais rien je fais pas de C++ Mr. Green

Back to top
nementon


Offline

Joined: 02 Oct 2008
Posts: 17
Localisation: oO²

PostPosted: Sat 25 Oct - 12:32 (2008)    Post subject: Calculatrice [Qt] Reply with quote

Looool Taruf, tu est un drogwué !

Sinon, (vus que le post date un peu =p), Ta trouver le probleme ? (oui oui javou, il est midi j'ai faim et j'ai la flemme de voir si je trouve quelque chose dans ton code ^^)


Back to top
Taruf


Offline

Joined: 15 Oct 2008
Posts: 27

PostPosted: Sat 25 Oct - 12:34 (2008)    Post subject: Calculatrice [Qt] Reply with quote

haha

Back to top
jyz93


Offline

Joined: 14 Oct 2008
Posts: 27
Localisation: 93

PostPosted: Sat 25 Oct - 12:35 (2008)    Post subject: Calculatrice [Qt] Reply with quote

nan je cherche toujours malheureusement Sad je crois je vais tourné la page sur ce projet si sa me saoul trop  Rolling Eyes
_________________


Back to top
nementon


Offline

Joined: 02 Oct 2008
Posts: 17
Localisation: oO²

PostPosted: Sat 25 Oct - 13:13 (2008)    Post subject: Calculatrice [Qt] Reply with quote

oO, j'y jeterai un oeil voir si je trouve quelque chose alors.

Nan mais Ô, c'est une petite calculatrice qui vas nous résister !


Back to top
Yukiz


Offline

Joined: 11 Nov 2008
Posts: 9
Localisation: Dans ton reseau

PostPosted: Tue 11 Nov - 19:33 (2008)    Post subject: Calculatrice [Qt] Reply with quote

Je ne programme pas avec QT mais j'peux te dire que la programmation c'est super chiant une simple histoire de variable et ca retourne le logiciel.
Je suis en train de travailler sur un logiciel d'encription que j'ai codé moi même. J'ai galéré toute une nuit a cause de DEUX variables. Dis toi bien que j'avais les nerfs. Tu dois avoir une histoire de ce genre à trouver et ca doit rouler!
_________________


Back to top
Visit poster’s website MSN GTalk/Jabber
jyz93


Offline

Joined: 14 Oct 2008
Posts: 27
Localisation: 93

PostPosted: Sat 29 Nov - 14:52 (2008)    Post subject: Calculatrice [Qt] Reply with quote

C'est bon j'ai trouvé pourquoi sa ne fonctionne pas.

En faisant le programme de tête, sur 4+3=, on a:
* départ impl = 0, cal = 0, cal = 0
* 4 -> text="4"
* + -> cal = 4, bol = 1, impl = 1, text = ""
* 3 -> text="3"
* = -> calr = cal + cal2 = 4 (vu que 3 est pas ecnore dans cal2)

En gros le coup des if (impl == 1) devrait être dans le slot du égal (vu que les opérateurs ne terminent pas les calculs précédents), sinon faut il faut tapé "4+3+=" pour faire une addition.
_________________


Back to top
Yukiz


Offline

Joined: 11 Nov 2008
Posts: 9
Localisation: Dans ton reseau

PostPosted: Tue 16 Dec - 22:06 (2008)    Post subject: Calculatrice [Qt] Reply with quote

Ok Razz Tu voies, une histoire toute bete...
_________________


Back to top
Visit poster’s website MSN GTalk/Jabber
jyz93


Offline

Joined: 14 Oct 2008
Posts: 27
Localisation: 93

PostPosted: Wed 17 Dec - 15:28 (2008)    Post subject: Calculatrice [Qt] Reply with quote

ouai, et j'ai galéré pour trouvé !
_________________


Back to top
Display posts from previous:   
Post new topic   Reply to topic    maxcraft-prog Forum Index -> Programmation -> C, C++ -> Question All times are GMT + 2 Hours
Page 1 of 1

 
Jump to: