Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Probleme, aide moi svp! [ Archives / Au secours ] (lanbook)

samedi 4 février 2006 à 01:10:12 | Probleme, aide moi svp!

lanbook

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 <iostream.h>
#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

samedi 4 février 2006 à 02:05:03 | Re : Probleme, aide moi svp!

GEDEON

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

samedi 4 février 2006 à 10:44:33 | Re : Probleme, aide moi svp!

julienbj


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
Savon

samedi 4 février 2006 à 13:29:02 | Re : Probleme, aide moi svp!

lanbook

L'ereur :                 
---------------------------------------------------------------------------------------------------------
Lân

samedi 4 février 2006 à 18:30:05 | Re : Probleme, aide moi svp!

lanbook

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

samedi 4 février 2006 à 20:48:37 | Re : Probleme, aide moi svp!

julienbj

Réponse acceptée !

Il faut que tu définisse le destructeur de ta classe personne.

class personne
{
    private:
         chaine nom, prenom, adr, CP, ville;
    public:
        personne();
        ~personne(){};
        void saisir();
        void aff();
};


Vive le C
Tchao
Savon

samedi 4 février 2006 à 22:01:33 | Re : Probleme, aide moi svp!

lanbook


Merci beaucoup julienbj 
Lân



Cette discussion est classé dans : void, cout, cin, getline, strset


Répondre à ce message

Sujets en rapport avec ce message

prob avec cin.getline(); [ par yafuka ] salut!j''essai de rentrer des chaines de caracteres de la misere a boucler le cin.getline.ma fonction ajouteevoid book::Ajouter(){ cout cout cin.getline(str, 256) [ par ronandmcdonald ] Salut je voulais savoir comment cela se fess que je peux pas utiliser cin.getline dans une fonction que voila :bool RS232::Write_RS232(){DWORD dwWritt Question à la con sur un getline() [ par Killvador ] Salut tt le monde,G un petit problème:dans ce petit prog le début marche jusqu'a la getline() qu'on dirait que le prog l'a complétement zapé.(y passe cin.getline dans un Case : Marche pas !!! [ par Sixpion ] bonjour a tous !!on a un petit pb avec l'insertion de cin.getline dans des Case (voir code) il semblerai que le cin.getline fct bien dans le main mais J'ai un problème avec cin.getline!! [ par Chap71 ] Voici mon prgm:#pragma hdrstop#pragma argsused#include#include#include#includeusing namespace std; void main(void){ struct Planete Creation et ecriture dans un fichier en C++ [ par bjipowa ] Bonjour,voila je suis une noob en c++ mais je dois faire un prog pour mon BTS dans ce language, et je dois pour cela utiliser les fichiers.J'ai donc c celà n'enregistre pas [:(!],grrrr [ par oceane67 ] voilà, mon programme n'enregistre toujours pas, je ne sais pas pourquoi, surtout qu'il fait comme si c'etait le cas, je desepesere,voici mon programme pb de chaine avec espace ! [ par blinix123 ] #include #include #include struct cd{ char artiste [30]; char album [30]; char date [10]; char chansons [30];}; void remplissage ( Aide pour le CGI en C++ [ par coubiak ] Bonjour,j'ai un petit probleme concernant les scripts en Cgi.J'ai réalise un programme de test en C++:#include #include #include using namespace std;v Corection [ par Hellboy67 ] donc voila cette source est censé trier le tableau par ordre croissant mais il ne fait absolument rien je pense m'etre trompé mais ou ?#include using


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,484 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.