Répertoire téléphonique en langage c++
Fermé
djibeson-howard
Messages postés
6
Date d'inscription
dimanche 29 décembre 2013
Statut
Membre
Dernière intervention
4 janvier 2014
-
30 déc. 2013 à 20:57
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 4 janv. 2014 à 20:00
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 4 janv. 2014 à 20:00
A voir également:
- Répertoire téléphonique en langage c++
- Règle en cm sur téléphone - Guide
- Répertoire téléphonique gratuit - Télécharger - Bureautique
- Indicatif téléphonique - Guide
- Annuaire téléphonique gratuit - Télécharger - Bases de données
- Ysé reçoit un appel téléphonique de gautier ✓ - Forum Mail
2 réponses
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 225
30 déc. 2013 à 22:18
30 déc. 2013 à 22:18
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.
djibeson-howard
Messages postés
6
Date d'inscription
dimanche 29 décembre 2013
Statut
Membre
Dernière intervention
4 janvier 2014
4 janv. 2014 à 19:36
4 janv. 2014 à 19:36
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;
}
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 225
Modifié par gravgun le 4/01/2014 à 20:05
Modifié par gravgun le 4/01/2014 à 20:05
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...