Rechercher : dans
Par :

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

Dernière réponse le 17 déc 2007 à 14:03:18 myrkhaoula, le 17 déc 2007 à 10:26:29 
 Signaler ce message aux modérateurs

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 :
http://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



La foudre et l'amour laissent les vêtements intacts et le coeur 
en cendre...
Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « Déclarer une chaine de caractères en C++ » dans :
Langage C - Les chaînes de caractères Voir Qu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...
[Shell] Tester une variable numérique VoirTester une variable numérique    Préambule Dans un environnement "shell", les variables sont, par défaut, de type "chaîne de caractères". De ce fait il n'est pas possible de déclarer une variable de type "entier" (enfin, ceci n'est pas tout à...
Utiliser des accents et autres caractères spéciaux VoirDans la plupart des langages de programmation, on ne peut utiliser directement les accents et autres caractères non-anglosaxon. La solution est l'unicode, une sorte de code universel. Par exemple pour afficher la chaine de caractères : " là, ça...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
VBScript - Les fonctions de chaînes de caractères VoirLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
Langage C - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage C sont typées, c'est-à-dire que les données contenues dans...

1

le père, le 17 déc 2007 à 10:35:59

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 ?

Répondre à le père

2

myrkhaoula, le 17 déc 2007 à 10:41:08

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();

};


:)

La foudre et l'amour laissent les vêtements intacts et le coeur 
en cendres...

Répondre à myrkhaoula

3

le père, le 17 déc 2007 à 11:22:51

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

Répondre à le père

4

myrkhaoula, le 17 déc 2007 à 12:03:01

Je devrais ajouter cette ligne de commande :

strcpy(nom,);

Je mettrais quoi comme deuxième paramètre ?
Merci :)
La foudre et l'amour laissent les vêtements intacts et le co­eur 
en cendres...

Répondre à myrkhaoula

5

le père, le 17 déc 2007 à 13:43:36

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.

Répondre à le père

6

 myrkhaoula, le 17 déc 2007 à 14:03:18

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 !

La foudre et l'amour laissent les vêtements intacts et le co­eur 
en cendres...

Répondre à myrkhaoula