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 :

[C++] Mon param�tre change de valeur


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    63
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 63
    Par d�faut [C++] Mon param�tre change de valeur
    Bonjour,

    Je suis en train d'�crire cette fonction .
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    void afficheRefClients(CLIENT *tabClients, int nbClients)
    Elle prend en param�tre un CLIENT dont la d�finition est la suivante :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    typedef struct CpteCLIENT
    { 
      char name[MAX_IDENT_NAME];
      CPTEBQUE *cpteCourant;
      CPTEBQUE *cpteSuisse;
    } CLIENT ;
    tabClients est rempli de cette fa�on :

    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
    CLIENT* createTabClients(FILE *file)
    {
    	CLIENT clientCourant; 
    	CPTEBQUE compteCourant; 
    	CPTEBQUE compteSuisse; 
     
    	// Nombre de clients
    	int nbClients = getNumberClient(file); 
     
    	CLIENT *tabClients; 
    	tabClients = (CLIENT*)malloc(nbClients*sizeof(CLIENT)); 
     
    	// Initialisation
    	for(int i = 0; i < nbClients; ++i) 
    	{
    		strcpy(clientCourant.name ,getClientName(file)); 
    		compteCourant.ident = getCpteCourantId(file); 
    		compteCourant.credit = (double)getCredit(file); 
    		compteCourant.debit = (double)getDebit(file);
     
    		if(getCpteCourantId(file) != 0)
    		{
    			compteSuisse.ident = getCpteSuisseId(file); 
    			compteSuisse.credit = (double)getCredit(file); 
    			compteSuisse.debit = (double)getDebit(file); 
     
    			clientCourant.cpteSuisse = &compteSuisse; 
    		}
     
    		clientCourant.cpteCourant = &compteCourant; 
    		tabClients[i] = clientCourant; 
    		// printf("%s\t %f\n", tabClients[i].name, (*tabClients[i].cpteCourant).credit); 
    	}
     
    	return (tabClients); 
    }
    En lan�ant la premi�re fonction, tabClients semble bien contenir la liste des CLIENT avec les caract�ristiques.

    Une fois le curseur entr� dans la fonction, le premier client de tabClients poss�de des montants (cr�dit et d�bit) qui ressemblent � -9.23589...

    O� se trouve l'erreur ?

    Merci beaucoup

  2. #2
    Membre �clair�
    Homme Profil pro
    �tudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : France, Loire (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par d�faut
    Salut,

    d�j� je penses que tu est dans la mauvaise section,
    ton code resssemble en rien � du C++, c'est plut�t du C ... (fonction / m�thodes, malloc / new, structure / class, printf / std::cout ...)

    Pour ton probl�me, c'est typiquement que ta structure ne doit pas �tre initialis�e.

    J'ai pas test mais je pense que l'erreur et que tu met dans des variables que tu retournes des adresses de variables locales :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
     
    CPTEBQUE compteCourant; // variable locale
     
    clientCourant.cpteCourant = &compteCourant;
    Cordialement,
    Neokript

  3. #3
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut
    Salut,
    Citation Envoy� par NeoKript Voir le message
    ton code resssemble en rien � du C++, c'est plut�t du C ... (fonction / m�thodes, malloc / new, structure / class, printf / std::cout ...)
    Je confirme...

    Soit tu souhaite travailler en C, et, dans ce cas, je te propose de nous le dire, pour que nous puissions d�placer la discussion dans la section ad-hoc, soit tu souhaites travailler en C++, et, dans ce cas, je te conseillerais d'utiliser toutes les possibilit�s offertes par C++.
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

Discussions similaires

  1. FloatToStr () : change la valeur de mon float apr�s conversion
    Par devlopassion dans le forum C++Builder
    R�ponses: 5
    Dernier message: 24/08/2008, 15h56
  2. bool�an qui change de valeur debug/release
    Par crealinks dans le forum MFC
    R�ponses: 3
    Dernier message: 18/08/2006, 17h09
  3. Param�tre liste de valeur
    Par dwinkel dans le forum Bases de donn�es
    R�ponses: 2
    Dernier message: 01/12/2005, 08h39
  4. [CR8.5] Init param�tre plage de valeurs
    Par juelo dans le forum SAP Crystal Reports
    R�ponses: 5
    Dernier message: 08/04/2005, 16h19

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