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
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.


A voir également:

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
Salut, sachant qu'on va pas faire l'exo a ta place, voici quelques pistes:
- 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::cin
et
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
.
0
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
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;
}
0
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
J'ai essayé de le compiler en enlevant l'include de
conio.h
et 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
int
et 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 numero
en
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
malloc
d'une
class
dans un tableau, on utilise une référence de
std::vector
et on instancie sa classe avec
new
...
0