Bonjour
Je suis débutant et j'essaye d'écrire un code en C++ mais j'ai un problème d'initialisation de mes variables dans ma class. J'initialise à 0, j'affecte une nouvelle valeur mais le logiciel me renvoi toujours 0.
Si quelqu'un pourrait juste me dire ou est mon erreur ça serait super.
Je met une partie du code si ça peut être utile
Merci d'avance
fichier.h
#ifndef CALDEBIT_H
#define CALDEBIT_H
#include <QWidget>
class QDoubleSpinBox;
class QGroupBox;
class QLabel;
class QPushButton;
class QAction;
class QMessageBox ;
class QString ;
class Window : public QWidget
{
Q_OBJECT
public:
void Init()
{
Ivalcote = 0;
}
Window();
public slots:
void Resultats();
double calculs();
void OnClick();
private:
double CoteDebit();
void Boutons();
void quit();
void setText();
QDoubleSpinBox *doubleSpinBox;
QGroupBox *spinBoxesGroup;
QGroupBox *editsGroup;
QGroupBox *doubleSpinBoxesGroup;
QLabel *label;
QPushButton *boutonok;
QPushButton *boutonQuitter;
QAction *exitAction;
double Ivalcote;
double Ivalcote1;
double Ivaldebit;
double valcote;
double valcote1;
double valdebit;
};
#endif // CALDEBIT_H
fichier.cpp
Window::Window()
{
CoteDebit();
Boutons();
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(spinBoxesGroup);
layout->addWidget(editsGroup);
layout->addWidget(doubleSpinBoxesGroup);
setLayout(layout);
setWindowTitle(tr("Calculateur du Barrahe de Villerest"));
}
double Window::CoteDebit()
{
Init();
spinBoxesGroup = new QGroupBox(tr("Cotes et Débit : "));
QLabel *retenue = new QLabel(tr("Entrer la cote de la retenue précedente : "));
QDoubleSpinBox *SpinBox = new QDoubleSpinBox;
SpinBox->setRange(270, 325);
SpinBox->setSingleStep(0.01);
SpinBox->setValue(0);
valcote = SpinBox->value();
QLabel *retenueactuelle = new QLabel(tr("Entrer la cote de la retenue actuelle : "));
QDoubleSpinBox *retactu = new QDoubleSpinBox;
retactu->setRange(270, 325);
retactu->setSingleStep(0.01);
retactu->setValue(0);
valcote1 = retactu->value();
QLabel *debitsortant = new QLabel(tr("Entrer la valeur du débit sortant actuel : "));
QDoubleSpinBox *debsor = new QDoubleSpinBox;
debsor->setRange(0, 4000);
debsor->setSingleStep(0.01);
debsor->setValue(0);
valdebit = debsor->value();
QGridLayout *spinBoxLayout = new QGridLayout;
spinBoxLayout->addWidget(retenue,0,0);
spinBoxLayout->addWidget(SpinBox,1,0);
spinBoxLayout->addWidget(retenueactuelle,3,0);
spinBoxLayout->addWidget(retactu,4,0);
spinBoxLayout->addWidget(debitsortant,6,0);
spinBoxLayout->addWidget(debsor,7,0);
spinBoxesGroup->setLayout(spinBoxLayout);
Ivalcote=valcote;
Ivalcote1=valcote1;
Ivaldebit=valdebit;
return Ivalcote;
return Ivalcote1;
return Ivaldebit;
}
void Window::Resultats()
{
QString res ;
res.setNum (Ivalcote);
QString res1;
res1.setNum (valcote1);
QString Qs ;
Qs.setNum(valdebit);
QString Time;
Time.setNum(Dt);
QString Vol;
Vol.setNum(DV);
QString Qe;
Qe.setNum(debitentrant);
qDebug() << "la première cote de la retenue est au niveau"<<Ivalcote<<"NGF.";
qDebug() << "la deuxième cote de la retenue est au niveau"<<valcote1<<"NGF.";
qDebug() << "le débit sortant est de"<<valdebit<<"M3/s.";
}