Répertoire téléphonique en langage c++
djibeson-howard
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
ElementW Messages postés 4814 Date d'inscription Statut Contributeur Dernière intervention -
ElementW Messages postés 4814 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je cherche à réaliser un répertoire téléphonique à l'aide de programme C++
Svp.....est ce quelqu'un peut m'aider.
Merci d'avance.
Je cherche à réaliser un répertoire téléphonique à l'aide de programme C++
Svp.....est ce quelqu'un peut m'aider.
Merci d'avance.
A voir également:
- Répertoire téléphonique en langage c++
- Langage ascii - Guide
- Répertoire téléphonique gratuit - Télécharger - Bureautique
- Règle en cm sur téléphone - Guide
- Indicatif téléphonique - Guide
- Langage binaire - Guide
2 réponses
Salut, sachant qu'on va pas faire l'exo a ta place, voici quelques pistes:
- Apprends à créer une classe
- Fais un tableau dynamique de contacts (vide au début, hein?)
- À l'aide de l'entrée/sortie standard (
- Apprends à créer une classe
Contact
- Fais un tableau dynamique de contacts (vide au début, hein?)
- À l'aide de l'entrée/sortie standard (
std::cinet
std::cout), réalise un menu (à choix numérique) qui te permet d'ajouter, supprimer ou modifier un contact en te demandant de remplir les champs que contient un
Contact.
j'ai commencé mon projet mais je suis caller au stockage aidez moi svp voici mon code
#include <string>
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <ctype.h>
#include<stdlib.h>
using namespace std;
class contact
{
private:
string nom;
string prenom;
int numero;
public:
string getNom(){return nom;}
string getPrenom(){return prenom;}
int getNumero(){return numero;}
int addContact(contact *TC[], string Nm, int nbp)
{
int i,t;
string tel;
// Insertion du nom par ordre alphabétique
TC[i+1] = TC[i];
i = i + 1;
TC[i] = (contact*)malloc(sizeof(contact));
TC[i]->nom = Nm;
cout<<" Veuillez saisir le numero de Telephone : "<< endl;
cin>>tel;
TC[i]->numero = tel;
cout<<"INSCRIPTION EFFECTUE"<<Nm;
nbp++;
return(nbp);
}
};
class Ami : public contact
{
private:
string date_naissance;
string adresse_postale;
string adresse_mail;
public:
string getdN(){return date_naissance;}
string getBP(){return adresse_postale;}
string getMail(){return adresse_mail;}
int addami(contact *TC[], string Nm, int nbp,string dNaissance,string BP,string mail)
{
int i,t;
string tel;
// Insertion du nom par ordre alphabétique
TC[i+1] = TC[i];
i = i + 1;
TC[i] = (contact*)malloc(sizeof(contact));
TC[i]->nom = Nm;
printf(" Veuillez saisir le numero de Telephone : ");
cin>>tel;
TC[i]->numero = tel;
cout<<"INSCRIPTION EFFECTUE"<<Nm;
nbp++;
return(nbp);
}
};
public:
//constructeurs
contact(){}
contact(string nom, string pnom, string num){
this-> nom=nom;
prenom=pnom;
numero=num;
}
//accesseurs
string getNom(){return nom;}
string getPrenom(){return prenom;}
string getNumero(){return numero;}
//modificateurs
void mnom(string nnom){
nom=nnom;
}
void mprenom(string npnom){
prenom=npnom;
}
void mnum(string nnum){
numero=nnum;
}*/
/* Prototypes des fonctions */
int addContact(contact *TC[], string zlNom, int nbp);
int SUPPRIMER(contact *TC[], int nbp, int r);
void CONSULTER(contact *TP[], int r);
void AFFICHER(contact *TP[], int nbp);
int RECHERCHER(contact *TP[], string zlNom[], int nbp);
void QUITTER(contact *TP[], int nbp);
void PAUSE();
//Affichage
void affichecontact(){
cout<<"Nom: "<<nom<<endl;
cout<<"Prenom: "<<prenom<<endl;
cout<<"Numero: "<<numero<<endl;
}
};
//Amis
class Ami : public contact
{
private:
string date_naissance;
string adresse_postale;
string adresse_mail;
public:
//constructeurs
Ami(){}
Ami(string nom,string pnom,string num,string dNaissance,string BP,string mail):contact(nom,pnom,num){
date_naissance=dNaissance;
adresse_postale=BP;
adresse_mail=mail;
}
//accesseurs
string getdN(){return date_naissance;}
string getBP(){return adresse_postale;}
string getMail(){return adresse_mail;}
//modificateurs
void mdn(string ndN){
date_naissance=ndN;
}
void mbp(string nBP){
adresse_postale=nBP;
}
void mmail(string nMail){
adresse_mail=nMail;
}
//Affichage
void affichecontact(){
contact::affichecontact();
cout<<"Date de naissance: "<<date_naissance<<endl;
cout<<"BP: "<<adresse_postale<<endl;
cout<<"E-mail: "<<adresse_mail<<endl;
}
};
//Repertoire
class repertoire{
private:
contact *t;
int N,n;//N=taille max, n=taille courante.
public:
repertoire(){}
repertoire(int Tmax){
t=new contact[N=Tmax];
n=0;
}
void saisir(string nom, string prenom, string numero){
contact *c;
cout<<"Donner le nom du contact: "<<endl;
cin>>nom;
cout<<"Donner le prenom du contact: "<<endl;
cin>>prenom;
cout<<"Donner le numero du contact: "<<endl;
cin>>numero;
c=new contact(nom,prenom,numero);
}
void addcontact(contact a){
if (n<N){
t[n++]=a;
}
}
void afficherepertoire(){
for (int i=0; i<n; i++)
t[i].affichecontact();
}
};
int main()
{
cout<<"--------------------------------------------------------------------"<<endl;
cout<<"1:----------------|Creer un nouveau repertoire|---------------------"<<endl;
cout<<"2:-----------------|Ajouter un nouveau contact|---------------------"<<endl;
cout<<"3:-------------------|Supprimer un contact|-------------------------"<<endl;
cout<<"4:-----------------|Afficher tous les contacts|---------------------"<<endl;
cout<<"5:-------------|Afficher tous les contacts(avec tri)|---------------"<<endl;
cout<<"6:---------------|Afficher tous les amis(avec tri)|-----------------"<<endl;
cout<<"7:-------------------|Rechercher un contact|------------------------"<<endl;
cout<<"8:--------------------|Vider le repertoire|-------------------------"<<endl;
cout<<"0:-------------------------|Quitter|--------------------------------"<<endl;
cout<<"---------------------|COPYRIGHT MAF 2013|-------------------------"<<endl;
cout<<"-------------------------|Faites un choix|--------------------------"<<endl;
int n=9;
cin>>n;
switch(n)
{
case 1 :{
cout<<"Donner la taille max du repertoire: "<<endl;
int taille_max;
cin>>taille_max;
repertoire r(taille_max);
contact c1("BA","Aly","77");*/
contact *c2= new contact ("fd","sdrr","767","10-3-244","23","dfe@dff");
r.addcontact(c1);
r.addcontact(c2);
}
break;
case 2 :{
repertoire r;
contact *c;
void repertoire::saisir(string nom, string prenom, string numero);
r.addcontact(c);
r.afficherepertoire();
}
break;
case 3 :;
break;
case 4 :;
break;
case 5 :;
break;
case 6 :;
break;
case 7 :;
break;
case 8 :;
break;
case 9 :;
break;
case 10 :;
break;*/
}
system("PAUSE");
return EXIT_SUCCESS;
}
#include <string>
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <ctype.h>
#include<stdlib.h>
using namespace std;
class contact
{
private:
string nom;
string prenom;
int numero;
public:
string getNom(){return nom;}
string getPrenom(){return prenom;}
int getNumero(){return numero;}
int addContact(contact *TC[], string Nm, int nbp)
{
int i,t;
string tel;
// Insertion du nom par ordre alphabétique
TC[i+1] = TC[i];
i = i + 1;
TC[i] = (contact*)malloc(sizeof(contact));
TC[i]->nom = Nm;
cout<<" Veuillez saisir le numero de Telephone : "<< endl;
cin>>tel;
TC[i]->numero = tel;
cout<<"INSCRIPTION EFFECTUE"<<Nm;
nbp++;
return(nbp);
}
};
class Ami : public contact
{
private:
string date_naissance;
string adresse_postale;
string adresse_mail;
public:
string getdN(){return date_naissance;}
string getBP(){return adresse_postale;}
string getMail(){return adresse_mail;}
int addami(contact *TC[], string Nm, int nbp,string dNaissance,string BP,string mail)
{
int i,t;
string tel;
// Insertion du nom par ordre alphabétique
TC[i+1] = TC[i];
i = i + 1;
TC[i] = (contact*)malloc(sizeof(contact));
TC[i]->nom = Nm;
printf(" Veuillez saisir le numero de Telephone : ");
cin>>tel;
TC[i]->numero = tel;
cout<<"INSCRIPTION EFFECTUE"<<Nm;
nbp++;
return(nbp);
}
};
public:
//constructeurs
contact(){}
contact(string nom, string pnom, string num){
this-> nom=nom;
prenom=pnom;
numero=num;
}
//accesseurs
string getNom(){return nom;}
string getPrenom(){return prenom;}
string getNumero(){return numero;}
//modificateurs
void mnom(string nnom){
nom=nnom;
}
void mprenom(string npnom){
prenom=npnom;
}
void mnum(string nnum){
numero=nnum;
}*/
/* Prototypes des fonctions */
int addContact(contact *TC[], string zlNom, int nbp);
int SUPPRIMER(contact *TC[], int nbp, int r);
void CONSULTER(contact *TP[], int r);
void AFFICHER(contact *TP[], int nbp);
int RECHERCHER(contact *TP[], string zlNom[], int nbp);
void QUITTER(contact *TP[], int nbp);
void PAUSE();
//Affichage
void affichecontact(){
cout<<"Nom: "<<nom<<endl;
cout<<"Prenom: "<<prenom<<endl;
cout<<"Numero: "<<numero<<endl;
}
};
//Amis
class Ami : public contact
{
private:
string date_naissance;
string adresse_postale;
string adresse_mail;
public:
//constructeurs
Ami(){}
Ami(string nom,string pnom,string num,string dNaissance,string BP,string mail):contact(nom,pnom,num){
date_naissance=dNaissance;
adresse_postale=BP;
adresse_mail=mail;
}
//accesseurs
string getdN(){return date_naissance;}
string getBP(){return adresse_postale;}
string getMail(){return adresse_mail;}
//modificateurs
void mdn(string ndN){
date_naissance=ndN;
}
void mbp(string nBP){
adresse_postale=nBP;
}
void mmail(string nMail){
adresse_mail=nMail;
}
//Affichage
void affichecontact(){
contact::affichecontact();
cout<<"Date de naissance: "<<date_naissance<<endl;
cout<<"BP: "<<adresse_postale<<endl;
cout<<"E-mail: "<<adresse_mail<<endl;
}
};
//Repertoire
class repertoire{
private:
contact *t;
int N,n;//N=taille max, n=taille courante.
public:
repertoire(){}
repertoire(int Tmax){
t=new contact[N=Tmax];
n=0;
}
void saisir(string nom, string prenom, string numero){
contact *c;
cout<<"Donner le nom du contact: "<<endl;
cin>>nom;
cout<<"Donner le prenom du contact: "<<endl;
cin>>prenom;
cout<<"Donner le numero du contact: "<<endl;
cin>>numero;
c=new contact(nom,prenom,numero);
}
void addcontact(contact a){
if (n<N){
t[n++]=a;
}
}
void afficherepertoire(){
for (int i=0; i<n; i++)
t[i].affichecontact();
}
};
int main()
{
cout<<"--------------------------------------------------------------------"<<endl;
cout<<"1:----------------|Creer un nouveau repertoire|---------------------"<<endl;
cout<<"2:-----------------|Ajouter un nouveau contact|---------------------"<<endl;
cout<<"3:-------------------|Supprimer un contact|-------------------------"<<endl;
cout<<"4:-----------------|Afficher tous les contacts|---------------------"<<endl;
cout<<"5:-------------|Afficher tous les contacts(avec tri)|---------------"<<endl;
cout<<"6:---------------|Afficher tous les amis(avec tri)|-----------------"<<endl;
cout<<"7:-------------------|Rechercher un contact|------------------------"<<endl;
cout<<"8:--------------------|Vider le repertoire|-------------------------"<<endl;
cout<<"0:-------------------------|Quitter|--------------------------------"<<endl;
cout<<"---------------------|COPYRIGHT MAF 2013|-------------------------"<<endl;
cout<<"-------------------------|Faites un choix|--------------------------"<<endl;
int n=9;
cin>>n;
switch(n)
{
case 1 :{
cout<<"Donner la taille max du repertoire: "<<endl;
int taille_max;
cin>>taille_max;
repertoire r(taille_max);
contact c1("BA","Aly","77");*/
contact *c2= new contact ("fd","sdrr","767","10-3-244","23","dfe@dff");
r.addcontact(c1);
r.addcontact(c2);
}
break;
case 2 :{
repertoire r;
contact *c;
void repertoire::saisir(string nom, string prenom, string numero);
r.addcontact(c);
r.afficherepertoire();
}
break;
case 3 :;
break;
case 4 :;
break;
case 5 :;
break;
case 6 :;
break;
case 7 :;
break;
case 8 :;
break;
case 9 :;
break;
case 10 :;
break;*/
}
system("PAUSE");
return EXIT_SUCCESS;
}
J'ai essayé de le compiler en enlevant l'include de
Après, ou la la le tas d'erreurs de compilation. Ça marche chez toi? Voilà ce qui ne va pas:
l. 32:
l. 49 dans
Vers la ligne 70 ça devient n'importe quoi: tu as une partie d'une classe par-ci, une autre par-là, c'est un gros bazar.
Tu as écrit ce code à la main sans tester? Car la c'est loin d'être fonctionnel...
Et en plus tu viens visiblement du monde du C: on ne fait pas de
conio.het le
system("PAUSE");car c'est pas portable, vire l'include et remplace le system(PAUSE) par
std::getchar();, ça aura le même effet et aura le mérite d'être portable.
Après, ou la la le tas d'erreurs de compilation. Ça marche chez toi? Voilà ce qui ne va pas:
l. 32:
TC[i]->numero = tel;, numero est un
intet tel un
string, la conversion ne se fera pas toute seule. De plus un int ne t'affichera pas le zéro du numéro ou le code de pays (ex: +33 pour la france), change le champ
int numeroen
string, de même du type retour de
contact::getNumero.
l. 49 dans
int addami, tu assignes une valeur à des champs qui ne te sont pas accessibles, utilises les fonctions getXYZ et utilises tes fonctions
mnom, etc.
Vers la ligne 70 ça devient n'importe quoi: tu as une partie d'une classe par-ci, une autre par-là, c'est un gros bazar.
Tu as écrit ce code à la main sans tester? Car la c'est loin d'être fonctionnel...
Et en plus tu viens visiblement du monde du C: on ne fait pas de
mallocd'une
classdans un tableau, on utilise une référence de
std::vectoret on instancie sa classe avec
new...