Probleme, aide moi svp! [Résolu]

Signaler
Messages postés
4
Date d'inscription
lundi 29 août 2005
Statut
Membre
Dernière intervention
4 février 2006
-
Messages postés
4
Date d'inscription
lundi 29 août 2005
Statut
Membre
Dernière intervention
4 février 2006
-
Bonjour, j'ai fait un petit programme en C++ qui permet de saisir et d'affichir des donneés. Le programme marche bien sauf au moment où l'on quitte, il affiche un message d'erreur. Je ne sais pas pourquoi. Répondez moi si vous savez. Merci d'avance.
et voici le code:
----------------------------------------------------------------------------------------
#include
#include <string.h>
#include <stdlib.h>
typedef char chaine[25];
/******************* Classe personne ******************/
class personne{
private:
chaine nom, prenom, adr, CP, ville;
public:
personne();
void saisir();
void aff();
};
personne::personne(){
strset(this->nom,'\0');
strset(this->prenom,'\0');
strset(this->adr,'\0');
strset(this->CP,'\0');
strset(this->ville,'\0');
}
void personne ::saisir(){
cout <<"\n ---------- SAISIE des infos Personne -----------";
cout <<"\n -- Nom : ";
cin.ignore();
cin.getline(this->nom,30,'\n');





cout <<"\n -- Prenom : ";
cin.getline(this->prenom,30,'\n');





cout <<"\n -- Adresse : ";
cin.getline(this->adr,30,'\n');

cout <<"\n -- Code postal: ";
cin.getline(this->CP,30,'\n');





cout <<"\n -- Ville : ";
cin.getline(this->ville,30,'\n');
}
void personne ::aff(){
cout <<"\n ---------- Infos Personne -----------";
cout <<"\n -- Nom : "<<this->nom<<endl;
cout <<"\n -- Prenom : "<<this->prenom<<endl;
cout <<"\n -- Adresse : "<<this->adr<<endl;
cout <<"\n -- Code postal: "<<this->CP<<endl;
cout <<"\n -- Ville : "<<this->ville<<endl;
}
/*------------------------------------MAIN-------------------------------------*/
void main(){
personne p;
int choix;
do{
cout <<"\n ---------- infos Personne ---------------------------";
cout <<"\n -- 1 --> Saisi --";
cout <<"\n -- 2 --> Afficher --";
cout <<"\n -- 0 --> Quitter --";
cout <<"\n -------------------------------------------------------";
cout<<"\n\n Votre choix --> ";

cin>>choix;
switch (choix){
case 1 : p.saisir(); break;
case 2 : p.aff(); break;
case 0 : cout << "\n ---------------- FIN --------------\n";break;
default : cout << "\n ---------------- Error-------------\n";break;
}
}while (choix !=0);
}





---------------------------------------------------------------------------------------

Lân

6 réponses

Messages postés
452
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 décembre 2008
12
Il faut que tu définisse le destructeur de ta classe personne.
<hr size="2" width="100%">class personne
{
private:
chaine nom, prenom, adr, CP, ville;
public:
personne();
~personne(){};
void saisir();
void aff();
};
<hr size="2" width="100%">
Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]
Messages postés
13
Date d'inscription
samedi 29 décembre 2001
Statut
Membre
Dernière intervention
25 février 2006

Lorsque tu quitte... il faut que tu quitte réellement !!!!

a la fin inscrit plutot :

case 1 : p.saisir(); break;
case 2 : p.aff(); break;
case 0 :
{
cout << "\n ---------------- FIN --------------\n";
system.exit(0);
}
default : cout << "\n ---------------- Error-------------\n";break;

A la +

Steve
Messages postés
452
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 décembre 2008
12
Pas besoin de system.exit(0) normalement.
Il doit quitter la fonction main des qu'il quitte le do...while puisqu'il n'y a rien derriere.

Tu peux nous écrire l'erreur qu'il te met?

Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]
Messages postés
4
Date d'inscription
lundi 29 août 2005
Statut
Membre
Dernière intervention
4 février 2006

L'ereur :
---------------------------------------------------------------------------------------------------------
Lân
Messages postés
4
Date d'inscription
lundi 29 août 2005
Statut
Membre
Dernière intervention
4 février 2006

j'ai une petite faute:
typedef char chaine[25]; => typedef char chaine[30];
mais bon, ce n'est pas là, le problème, j'ai toujours le message d'erreur
Lân
Messages postés
4
Date d'inscription
lundi 29 août 2005
Statut
Membre
Dernière intervention
4 février 2006

Merci beaucoup julienbj
Lân