begin process at 2012 05 30 15:33:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

reservation de la memoire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

reservation de la memoire

jeudi 8 septembre 2005 à 16:01:08 | reservation de la memoire

khalid_trunks

  salut ts le monde.
je debute en c++,j'ai fais une petite simple application( gestion d'appelles)....je sais po grand chose en c++.ben j'ai fais mon programme avc turbo c++.le probleme c que quand j'execute la fonction ajouter un enregistrement,cette derniere fonctionne po correctement,et quand je consulte ce que j'ai enregsiter sur un fichier je trouve pas ce que j'ai fais entrer....
voila mon code source(( c tres tres tres simple,je debute en c++
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
#include<stdlib.h>
class gestion
{public:
int num;


char* adresse;
char* nom;
char* prenom;
char* objet;
gestion(int,char*,char*,char*,char*);
void afficher();
void ajouter();
friend ostream &operator<<(ostream&,gestion);
friend istream &operator>>(istream&,gestion &);
} ;

gestion::gestion(int a,char *b,char *c,char *d,char *e)
{num=a;
nom=new char[20];
nom=b;
prenom=new char[20];
prenom=c;
adresse=new char[20];
adresse=d;
objet=new char[30];
objet=e;
}
void gestion::afficher()
{cout<<"*******************Etat**************************************"<<"\n";
cout<<"Numero d'appele       :"<<num<<"\n";
cout<<"Nom                   :"<<nom<<"\n";
cout<<"Prenom                :"<<prenom<<"\n";
cout<<"adresse               :"<<adresse<<"\n";
cout<<"objet                 :"<<objet<<"\n";
cout<<"**************************************************************"<<"\n";
}

ostream & operator<<(ostream & s,gestion p)
{s<<p.num<<"\n";
s<<p.nom<<"\n";
s<<p.prenom<<"\n";
s<<p.adresse<<"\n";
s<<p.objet<<"\n";
return(s);
}
istream &operator>>(istream & i,gestion &p)
{
i>>p.num>>"\n";

i>>p.nom>>"\n";

i>>p.prenom>>"\n";

i>>p.adresse>>"\n";

i>>p.objet>>"\n";
return(i);
}

 

void main()
{  clrscr();
gestion p(1,"khalid","trunks","rabat","excuse"),p1(0,"","","","");
int r;


char c='o';
/*while (c=='o')*/
do
{
cout<<"********************Gestion des appels*****************"<<"\n";
cout<<"\najouter un enregistrement              :1";
cout<<"\nafficher sur ecran l'etat du parking   :2";
cout<<"\nsauvegarder dans un fichier            :3";
cout<<"\nsortir du menu                         :0";
cout<<"\nentrer votre choix                     :";
cout<<"\n***************************************************";
cin>>r;
switch(r)
{case 1:{ofstream khalid("songoku1.txt",ios::app);
cout<<"veuillez entrer les info:"<<"\n";
cin>>p1;

khalid<<"*******************Etat**************************"<<"\n";
khalid<<"Numero d'appel     :"<<p1.num<<"\n";
khalid<<"Nom                :"<<p1.nom<<"\n";
khalid<<"Prenom             :"<<p1.prenom<<"\n";
khalid<<"adresse            :"<<p1.adresse<<"\n";
khalid<<"objet              :"<<p1.objet<<"\n";
khalid<<"**************************************************************"<<"\n";
khalid.close();  break;}

case 2:{p.afficher();break;}
case 3:{ofstream khalid("songoku.txt",ios::app);
if(!khalid){cout<<"fichier introuvable!"<<"\n";
getch();
exit(1);
}
khalid<<"*******************Etat**************************"<<"\n";
khalid<<"Numero d'appel     :"<<p1.num<<"\n";
khalid<<"Nom                :"<<p1.nom<<"\n";
khalid<<"Prenom             :"<<p1.prenom<<"\n";
khalid<<"adresse            :"<<p1.adresse<<"\n";
khalid<<"objet              :"<<p1.objet<<"\n";
khalid<<"**************************************************************"<<"\n";
khalid.close();
 }

}
cout<<"voulez vous continuer(o/n)?"<<"\n";
cin>>c; }
while(c=='o');

getch();
}


vous pouuriez facilement m'aider puisque vous programmez qlq chose bcp plus complique,j'aimerai tant atteindre votre exellent niveau
merci pour vos reponses
salut

jeudi 8 septembre 2005 à 16:12:37 | Re : reservation de la memoire

ymca2003

nom=new char[20];
nom=b;


=> tu alloue un tableu et tu le stocke dans nom. Puis tu écrase le pointeur par nom=b. Du coup :
1 - tu perd le pointer créé et tu pourras pas le détruire
2 - tu ne récupère pas le nom.

Pour recopier des chaînes de caractères, il faut utiliser :
strcpy(nom, b);

Ensuite, vu que tu fais des new, il faut faire des delete dand le destructeur de ta classe.
jeudi 8 septembre 2005 à 16:42:15 | Re : reservation de la memoire

luhtor

Alors si tu débutes en C++, tu vas me faire plaisir :) tu remplaces ca:
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
#include<stdlib.h>


par ca:

#include<iostream>
#include<conio.h>
#include<fstream>
#include<cstdlib>
using namespace std;


Sinon, utilises des char seulement si ca a un but pédagogique :) sinon utilise le type string avec
#include <string>

...

string nom("coucou");
string prenom = nom + "coucou2";

...etc...


Cette discussion est classée dans : int, gestion, adresse, char, prenom


Répondre à ce message

Sujets en rapport avec ce message

regardez ma source HELP [ par asnow ] BonjourJe debute en C. j'ai voulu apprendre à enregistrer des données dans un fichier, ca a donné ce code .Si vous pouviez me donner des recommandatio exercice en c [ par noel46 ] bonjour voici mon programme qui demande nom, prenom, sexe et date et doit faire ensuite 140186JOBNATsi une fille né le 14 janvier 1984; JOBE Nataliej' Problème libération mémoire [ par beeeeh ] Bonjour tout le monde,Je fais des petits exos pour mettre à niveau et je bloque un peu la.Lors de la libération de la mémoire dans le destructeur, le un pti prob ... :s help [ par meksoft002 ] Bonjour, c'est ma première participation en vue que vous pourrez resoudre mon problème ..voila...je vouderais mettre en oeuvre un tableau d'objets "pe Affecter l'équivalent hexa d'un int décimal dans un char [ par kididouille ] Bonjour, je bloque:J'ai une fonction où je recois une date format UTC YYMMDD on m'envoie un int par exemple 080829 (la date d'aujourd'hui)je dois fair Qt, sql & access [ par lola0608 ] salut, voilà je veux faire un ajout dans une table dans ma base de données access, le code est correct, mais quand j'execute je vais verifier dans ma aide en c/c++ gestion classe [ par moussadjijunior ] Bonjour à tous J'oses croire que vous allez tous bien et que vos familles ne manque de rien.Je viens aujourd'hui auprés de vous car j'ai u probleme av chaine de caractere [ par superstarz ] Bonjour, Je suis débutant en C++, et je seche sur un TP concernant les chaines de caractère.Les érreurs qui surviennent lors de la compilation sont le Problème en tête bitmap [ par piroman14 ] Slt tt le monde!Je rencontre un petit problème dans mon algorithme. En effet, je n'arrive pas à coder l'en-tête d'une image bitmap correctement. J'obt char**, pointeur et fonction [ par psykocrash ] Salut,Je bosse sur un petit programme et je butte sur un problème de pointeurs. Voici le code source qui pose problème :--------------------#include #


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,948 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales