begin process at 2012 05 29 07:11:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

Initialisation variable


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Initialisation variable

mardi 5 juillet 2011 à 09:46:51 | Initialisation variable

fredrizk

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.";
}
mardi 5 juillet 2011 à 10:07:53 | Re : Initialisation variable

buno

Administrateur CodeS-SourceS
Hello,
D'une, c'est du Qt.
De deux, tu ne dis pas quelle variable te pose problème.
Un peu plus de précision, s'il te plaît?


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mardi 5 juillet 2011 à 10:16:40 | Re : Initialisation variable

fredrizk

Bonjour Buno,
Désolé j'ai poster le message dans la partie C++ parce que c&#8217;était un problème de class.
Toutes les variables me pose problèmes si je comprend comment en faire une je pourrai toutes les corriger.
Par exemple pour :

double Ivalcote;

en mettant une valeur j'obtient toujours la valeur de l'initialisation.

Merci de ton aide
mardi 5 juillet 2011 à 10:41:12 | Re : Initialisation variable

buno

Administrateur CodeS-SourceS
Code C/C++ :
return Ivalcote; 
return Ivalcote1; 
return Ivaldebit; 
} 

Aïe, aïe, aïe,... pas bon ça..."return" indique à ton programme de quitter la fonction en cours. Donc, très logiquement, les 2 derniers returns ne seront jamais exécuté. Y'a un truc que t'as pas dû piger je pense.

Ensuite, en ce qui concerne l'affectation des variables, places des points d'arrêt et regarde si tu ne leur affectes pas 0, tout simplement.

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mardi 5 juillet 2011 à 10:54:27 | Re : Initialisation variable

fredrizk

Oups :s.
Donc c'est mieux que je passe la fonction en "void" que j&#8217;enlève mes "return" et que je récupére la fonction plus loin pour avoir mes résultats ?

Merci
mardi 5 juillet 2011 à 11:05:33 | Re : Initialisation variable

buno

Administrateur CodeS-SourceS
ça dépend de ce que tu veux faire.
Tu peux très bien déclarer ta méthode comme suit:
Code C/C++ :
double Window::CoteDebit()

Mais il faut un seul return (ou plusieurs mais dans des "branches" différentes: switch, if,...).
A toi de voir quel est l'objectif de cette méthode: retourner un résultat ou non.


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mardi 5 juillet 2011 à 11:09:35 | Re : Initialisation variable

fredrizk

D'accord
Merci de te aide. Je vais essayer de corriger tout ça :).


Cette discussion est classée dans : class, double, qlabel, addwidget, qdoublespinbox


Répondre à ce message

Sujets en rapport avec ce message

Tableau de double [ par LouisJean ] louisjean dev cpp       salut tous le monde! Je n'arrive pas a récupère le tableau de double que j'ai remplis dans mon objet class. Qt : difference en seconde entre 2 temps [ par fredrizk ] Bonjour je suis novice en C++ et en Qt, et j'ai un programme a faire. je suis supposé faire la différence en seconde entre 2 temps que j'impose au j'ai besoin de vous!!! [ par baster200x ] bonjour les amis [^^happy13] j'ai trouvé la solution pour mes problème que je l'ai poser précédemment sur le forum à propos de l'intégration d'u dll C++ et appel en VBA [ par floatingspread ] Bonjour, J'ai créé un DLL C++ qui contient la fonction suivante : [code=cpp]double __stdcall AdditionTableau_5(double * table1, double * table2, doub problème d'intégrer mon algorithme [ par baster200x ] Slt tous le mande! je vous adresse pour m'aider à trouver une solution à mon problème! j'ai un outil Open source Nommé [url=http://home.dei.polimi probléme avec un Slider : comment envoyé la valeur généré par le slider a une intérface opengl [ par controlleur ] Bonjour dans mon projet j'ai réalisé une petite interface que je l'ai intégré dans un mainwindow class mainwindow : public QMainWindow { Q Nested class access [ par mondrone ] Bonsoir, Je n'arrive pas à trouver comment je peux faire dans le cas suivant : Imaginons : Class A { Private : Int *mavar; Public : Cl Problème avec pointeurs private dans une classe [ par vvdbvivien07 ] Bonjour, Je suis en train de réaliser un traitement d'image en c++ et voici mon problème: L'utilisateur doit rentrer le nom d'un fichier pgm et le pr déclarer tableau 2D avec dimensions variables en C++ [ par vvdbvivien07 ] Bonjour, Comment faire pour déclarer (dans une classe) un tableau 2D avec ses deux dimensions variables ? voici mon .h : [code=cpp]#ifndef DEF_IMAGE Fonction bizarre [ par albert232 ] Bonjour , En Visual Basic la Fonction est : Function Facteur_de_Ralentissement(A As Integer) As Double Facteur_de_Ralentissement = ((A - 1) / (A


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,920 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales