Déclarer une chaine de caractères en C++

Résolu/Fermé
Utilisateur anonyme - 17 déc. 2007 à 10:26
 Utilisateur anonyme - 17 déc. 2007 à 14:03
Bonjour,
En exécutant un programme C++, ma chaine de caractère s'affiche d'une façon bizarre, je ne sais pas pourquoi !
Voilà une imprim écran de ma console :
https://www.cjoint.com/?mrkxCY37it
Ma fonction main est la suivante :
#include "compte.h"
#include "string.h"
using namespace std;

void main()
{
	compte c;

	c.init_compte(6001, "khaoula", 2000);
	c.Deposer_argent(3000);
	c.Retirer_argent(100);

	cout<<"votre solde est : " <<c.Consulter_solde()<<endl;
    c.affich();
}


P.S. mon IDE est Microsoft Visual Studio 2005.
Merci de vos réponses :)

infor_ilyes@yahoo.fr


A voir également:

5 réponses

Pardon, le pointeur est bien initialisé... mais pas les données.
Ne manquerait-il pas un strcpy dans init_compte ??
1
Bonjour,

Les pointeurs non initialisés ont encore frappé ...
Peux tu nous montrer la définition de ta classe compte et les méthodes init_compte et affich ?
0
Utilisateur anonyme
17 déc. 2007 à 10:41
Re,
compte.cpp :
#include "compte.h"
#include "string.h"
using namespace std;

void compte::init_compte(int n, char *nom, float s)
{
	Num_compte = n;
	Nom_proprietaire = new char[strlen(nom)+1];
	solde = s;
}

void compte::affich()
{
	cout<<"le numero du compte est : " <<Num_compte<< endl;
	cout<<"le nom du proprietaire est : " <<Nom_proprietaire<< endl;
}

void compte::Deposer_argent(float x)
{
	solde+=x;
}

void compte::Retirer_argent(float x)
{
	solde-=x;
}

float compte::Consulter_solde()
{
	return solde;
};


compte.h :
#include<iostream>

class compte
{
private :
	int Num_compte;
	char *Nom_proprietaire;
	float solde;

public :
	void affich();
	void init_compte(int, char *, float);
	void Deposer_argent(float);
	void Retirer_argent(float);
	float Consulter_solde();

};


:)
0
Utilisateur anonyme
17 déc. 2007 à 12:03
Je devrais ajouter cette ligne de commande :
strcpy(nom,);

Je mettrais quoi comme deuxième paramètre ?
Merci :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
strcpy(nom,);
Tiu n'es pas très bien parti là, mais je suis sûr que tu peux le trouver toi-même.
Fais bien attention au sens de la recopie dans strcpy
Dis-toi que tu as un nom passé en paramètre, et un champ de ton objet qui doit recevoir un nom.
0
Utilisateur anonyme
17 déc. 2007 à 14:03
Ca y est, je l'ai trouvé, je suis une excellente élève môa :D

strcpy(Nom_proprietaire,nom);


Le nom du propriétaire du compte s'affiche correctement :)

Merci à toi !
0