Repertoire telephonique

Fermé
kousteaucisko Messages postés 12 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 20 novembre 2015 - 4 juin 2014 à 03:56
kousteaucisko Messages postés 12 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 20 novembre 2015 - 5 juin 2014 à 01:59
Bonjour,
c etais a propos du progamme de repertoire telephonique . j ai tout fait il ne me reste que la fonction qui permet de supprimer un contact et si je compile il m amene beaucoup d erreurs . peut tu me le corriger . svp c tres urgent. voici le code .



#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>

typedef struct contact{
char prenom[30];
char nom[25];
char numero[20];
}cont;
struct ami{
char Prenom[30];
char Nom[25];
char Numero[20];
char date_naissance[30];
char email[30];
char boite_postale[30];
}AMI;
/*prototypes des fonctions*/
void ajout_contact(FILE *f,int n);
void affiche_contact(FILE *f);
void creer_repertoire(cont *t,int n);
void ajouter_contact(cont nom[],cont prenom[],cont numero[],int n);
void ajouter_contact_ami(AMI Nom[],AMI Prenom[],AMI Numero[],AMI date_naissance[],AMI email[],AMI boite_postale[],int n);
void afficher_contact(cont nom[],cont prenom[],cont numero[],int n);
void afficher_tri(cont nom[],cont prenom[],cont numero[]);
void afficher_ami(AMI Numero[],AMI Prenom[],AMI email[],AMI boite_postale[],AMI date_naissance[],int n);
void rechercher_contact(cont nom[],cont prenom[],cont numero[],int n);
void rechercher_contact_ami(AMI Nom[],AMI Prenom[],AMI date_naissance[],AMI email[],AMI boite_postale[],int n);
void modifier_contact(cont nom[],cont prenom[],int n);
void supprimer_contact(cont nom[],cont prenom[],cont numero[]);
void supprimer_contact_ami(AMI Nom[],AMI Prenom[],AMI date_naissance[],AMI email[],AMI boite_postale[],int n);
void quitter();
cont *t;
AMI *A;
int n,i;
cont *prenom,*nom,*numero;
AMI *Prenom,*Nom,*Numero,*date_naissance,*email,*boite_postale;
t=(cont*)malloc(n*sizeof(cont));
A=(AMI*)malloc(n*sizeof(AMI));

int main(){
int rep,reponse=0;
do{
/*Affichage du menu*/
system("cls");
printf("\n");
printf(" ");
printf("\t\t GESTION D'UN REPERTOIRE TELEPHONIQUE EN C\n\n");
printf ("\t===========================<<<<<<<<<<<!!!!!>>>>>>>>>>>============================\n\n");
printf ("\t{} {} \n");
printf ("\t{} [1] : ==========<<<<<<< Creer un repertoire >>>>>>======== {} \n");
printf ("\t{} [2] : ==========<<<<<<< Ajouter un contact >>>>>>======== {} \n");
printf ("\t{} [3] : ==========<<<<<<< Afficher les contacts >>>>>>======== {} \n");
printf ("\t{} [4] : ==========<<<<<<< Afficher les contacts(avec tri) >>>>>>======== {} \n");
printf ("\t{} [5] : ==========<<<<<<< Afficher les contacts d'un ami >>>>>>======== {} \n");
printf ("\t{} [6] : ==========<<<<<<< Rechercher un contact >>>>>>======== {} \n");
printf ("\t{} [7] : ==========<<<<<<< Rechercher un ami >>>>>>======== {} \n");
printf ("\t{} [8] : ==========<<<<<<< Modifier un contact >>>>>>======== {} \n");
printf ("\t{} [9] : ==========<<<<<<< Supprimer un contact >>>>>>======== {} \n");
printf ("\t{} [10]: ==========<<<<<<< Supprimer un contact-ami >>>>>>======== {} \n");
printf ("\t{} [11]: ==========<<<<<<< Quitter >>>>>>======== {} \n");
printf ("\t{} {} \n");
printf ("\t============================<<<<<<<<<<!!!!!>>>>>>>>>>>===========================\n\n");
printf("Veuillez faire votre choix : ");
rep = toupper(getchar());
fflush(stdin);
system("cls")
switch(rep){
case 1:
printf("\t\t\tCREATION DE REPERTOIRE TELEPHONIQUE\n\n");
creer_repertoire(t,n);
break;
case 2:
printf("\t\t\tAJOUTER NOUVEAU CONTACT\n\n");
printf("Voulez-vous ajouter un ami ou un simple contact(0/1)");
printf("(appuyer sur 1 pour un ami et 0 pour un contact)");
if(reponse==0)
ajouter_contact(nom,prenom,numero,n);
else if(reponse==1)
ajouter_contact_ami(Nom,Prenom,Numero,date_naissance,email,boite_postale,n);
break;
case 3:
printf("\t\t\tAFFICCHAGE DES CONTACTS\n\n");
afficher_contact(nom,prenom,numero,n);
break;
case 4:
printf("\t\t\tAFFICHAGE DES CONTACTS PAR ORDRE ALPHABETIQUE\n\n");
afficher_tri(nom,prenom,numero);
break;
case 5 :
printf("\t\t\tAFFICHAGE DES CONTACTS-AMIS");
afficher_ami(Nom,Prenom,date_naissance,email,boite_postale,n);
break;
case 6:
printf("\t\t\tRECHERCHER UN CONTACT\n\n");
rechercher_contact(nom,prenom,numero,n);
break;
case 7:
printf("\t\t\tRECHERCHER UN CONTACT-AMI\n\n");
rechercher_contact_ami(Nom,Prenom,date_naissance,email,boite_postale,n);
case 8:
printf("\t\t\tMODIFICATION D'UN CONTACT\n\n");
modifier_contact(nom,prenom,numero);
break;
case 9:
printf("\t\t\tSUPPRESSION D'UN CONTACT\n\n");
supprimer_contact(nom,prenom,cont numero);
break;
case 10:
printf("\t\t\tSUPPRESSION D'UN CONTACT-AMI\n\n");
supprimer_contact_ami(Nom,Prenom,date_naissance,email,boite_postale,n);
break;
case 11:
quitter();
break;
default:
printf("\n choix incorrect");
}
pause();// On appelle une fonction Pause() qui permet de revenir au menu en appuyant sur une touche quelconque du clavier.
}
while(1);// J'utilise ici une boucle infini, ça me permet d'afficher le menu une fois qu'une tâche a été réalisé.
getch();
return 0;
}

/*creation des differentes fonctions*/

/*creation du repertoire*/

void creer_repertoire(cont *t,int n);{
do{
printf("Votre repertoire a ete cree avec succes........\n");
printf("Il contiendra au plus 1000 contacts\n");
} while(rep<=0);
printf("\n");
}
/*Ajouter un contact*/

void ajouter_contact(cont nom[],cont prenom[],cont numero[],int n);
{
int i;
do{
printf("Donner le nombre de contact a ajouter \n");
scanf("%d",&n);
}while(n<=0&&n>1000);
for(i=0;i<n;i++){
printf("Donner le numero : ");
scanf("%s",t[i].numero);
fflush(stdin); /*permet de vider le tampon*/
printf("Donner le nom : ");
scanf("%s",t[i].nom);
fflush(stdin);
prinf("Donner le prenom : ");
scanf("%s",t[i].prenom);
fflush(stdin);
}
}

/*creation du fichier et ecriture sur le fichier*/

void ajout_contact(FILE *f,int n)
{
cont t;
int i;
f=fopen("repertoire.txt","w");
if(f==NULL)
return 0;
for(i=0;i<N;i++){
cont=ajouter_contact();
fwrite(&t,sizeof(cont),1,f);
}
fclose(f);

/*creation du fichier et lecture du contenu du fichier*/

void affiche_contact(FILE *f)
{
cont t;
f=fopen("repertoire.txt","r");
if(f==NULL)
return 0;
while(!feof(f)){
fread(&t,sizeof(cont),1,f);
afficher_contact();
}
fclose(f);


}
void ajouter_contact_ami(AMI Nom[],AMI Prenom[],AMI Numero[],AMI date_naissance[],AMI email[],AMI boite_postale[],int n);
{
int i;
do{
printf("Donner le nombre de contact a ajouter \n");
scanf("%d",&n);
}while(n<=0);
for(i=0;i<n;i++){
printf("Donner le nom : ");
scanf("%s",A[i].Nom);
fflush(stdin);
printf("Donner le prenom : ");
scanf("%s",A[i].Prenom);
fflush(stdin);
printf("Donner le numero : ");
scanf("%s",A[i].Numero);
fflush(stdin);
printf("Donner la date de naissance : ");
scanf("%s",A[i].date_naissance);
fflush(stdin);
printf("Donner le mail : ");
scanf("%s",A[i].email);
fflush(stdin);
printf("Donner la boite postale : ");
scanf("%s",A[i].boite_postale);
fflush(stdin);
}
}
/*Afficher un contact*/

void afficher_contact(cont nom[],cont prenom[],cont numero[],int n);
{
int i;
if(n>0){
for(i=0;i<n;i++){
printf("\t=====================================================");
printf("\t\tInformations sur le contact N i+1\n\n");
printf("\t=====================================================");printf("\n\n");
printf("----------------------------------------------------\n");
printf("\tPrenom : %s",&t[i].prenom);printf("\n");
printf("\tNom : %s",&t[i].nom);printf("\n");
printf("\tNumero : %s",&t[i].numero);
printf("----------------------------------------------------\n");
printf("\n");
}
}else
printf("Repertoire vide!!");
}
/*Afficher un contact_ami*/

void afficher_ami(AMI Numero[],AMI Prenom[],AMI email[],AMI boite_postale[],AMI date_naissance[],int n);
{
int i;
if(n>0){
for(i=0;i<n;i++){
printf("\t=====================================================");
printf("\t\tInformations sur le contact-ami N i+1\n\n");
printf("\t=====================================================");printf("\n\n");
printf("----------------------------------------------------\n");
printf("\tPrenom : %s",&A[i].Prenom);printf("\n");
printf("\tNom : %s",&A[i].Nom);printf("\n");
printf("\tNumero : %s",A[i].Numero);printf("\n");
printf("Date de naissance : ",A[i].date_naissance);printf("\n");
printf("Email : %s",A[i].email");printf("\n");
printf("Boite postale : ",A[i].boite_postale");
printf("----------------------------------------------------\n");
printf("\n");
}
}else
printf("Repertoire vide!!");
}

/*Afficher un contact avec tri*/

void afficher_tri(cont nom[],cont prenom[],cont numero[]);
{
int i,j;
char nom_echange[30];
char num_echange[15];
char pren_echange[30];
if(n>0){
for(i=0;i<=n-2;i++)
for(j=n-1;j>=i+1;j--)
if(strcmp(t[j-1].nom,t[j].nom)>0&&strcmp(t[j-1].prenom,t[j].prenom)>0)
{
strcpy(nom_echange[30],t[j-1].nom);
strcpy(t[j-1].nom,t[j].nom);
strcpy(t[j].nom,nom_echange[30]);

strcpy(num_echange[15],t[j-1].numero);
strcpy(t[j-1].numero,t[j].numero);
strcpy(t[j].numero,num_echange[15]);

strcpy(pren_echange[30],t[j-1].prenom);
strcpy(t[j-1].prenom,t[j].prenom);
strcpy(t[j].prenom,pren_echange[30]);

}printf("\n");

for(i=0;i<n;i++)
{
printf("\tNumero : %s",t[i].numero);printf("\n");
printf("\tNom : %s",t[i].nom);printf("\n");
printf("\tPrenom : %s",t[i].prenom);printf("\n");
printf"\n");
}
else printf("repertoire vide..");
}
}
/*Rechercher un contact*/

void rechercher_contact(cont nom[],cont prenom[],cont numero[],int n);
{
int i,r=0;
char firstname[30];
printf("Entrer le prenom a rechercher : ");
scanf("%s",&firstname);
if(n>0){
for(i=0;i<n;i++)
{
if(strcmp(t[i].prenom,firstnamename)==0){
break;
r=1;
}
else
r=0;
if(r==1){
printf("----------------------------------------------------\n");
printf("\tPrenom : %s",&t[i].prenom);printf("\n");
printf("\tNom : %s",&t[i].nom);printf("\n");
printf("\tNumero : %s",&t[i].numero);
printf("----------------------------------------------------\n");
printf("\n");
}
else
printf("ce nom n'existe pas dans le repertoire");
}
}
else printf("repertoire vide");

}
/*Rechercher un contact_ami*/

void rechercher_contact_ami(AMI Nom[],AMI Prenom[],AMI date_naissance[],AMI email[],AMI boite_postale[],int n);
{
int i,r=0;
char firstnameami[30];
printf("Entrer le prenom de l'ami a rechercher : ");
scanf("%s",&firstnameami);
if(n>0){
for(i=0;i<n;i++)
{
if(strcmp(A[i].Prenom,firstnamenameami)==0){
break;
r=1;
}
else
r=0;
if(r==1){
printf("----------------------------------------------------\n");
printf("\tPrenom : %s",&A[i].Prenom);printf("\n");
printf("\tNom : %s",&A[i].Nom);printf("\n");
printf("\tNumero : %s",A[i].Numero);printf("\n");
printf("Date de naissance : ",A[i].date_naissance);printf("\n");
printf("Email : %s",A[i].email");printf("\n");
printf("Boite postale : ",A[i].boite_postale");
printf("----------------------------------------------------\n");
printf("\n");
}
else
printf("ce nom n'existe pas dans le repertoire");
}
}
else printf("repertoire vide");

}

/* Modification d'un contact */

void modifier_contact(cont nom[],cont prenom[],int n);
{
int i;
int resultat=0;
char namefirst[30],new_name[30],new_prenom[30],new_numb[15];
printf("Veuillez saisir le prenom du contact a modifier : ");
scanf("%s",&namefirst);
if(n>0){
for(i=0;i<n;i++)
{
if(strcmp(namefirst,t[i].prenom)==0){
break;
resultat=1;
}
else
resultat=0;
if(resultat==1){
printf("Nouveau numero: ");
scanf("%s",&new_numb);
printf("Nouveau nom: ");
scanf("%s",&new_name);
printf("Nouveau prenom: ");
scanf("%s",&new_prenom);
strncpy(t[i].numero,new_numb);
strncpy(t[i].nom,new_name);
strncpy(t[i].prenom,new_prenom);
printf("\n");
}
else
printf("ce nom n'existe pas dans le repertoire");
}

}
else printf("repertoire vide");
}
/* Pause de saisie */
void pause()/* cette fonction nous permettra de retourner au menu en appuyant sur n'importe quelle touche du clavier */
{
printf("\n... appuyer sur une touche pour retourner au menu...");
getch();
}

/*creation de la fonction quitter */
void quitter()
{
exit(0);
}




A voir également:

3 réponses

sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 49
4 juin 2014 à 15:02
Bonjour
il est préférable de mettre ton code source dans les balises mise à ta disposition
à bientôt
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
4 juin 2014 à 17:50
'lut, DOUBLON!
0
kousteaucisko Messages postés 12 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 20 novembre 2015
5 juin 2014 à 01:59
j'ai corrigé les erreurs maintenant je compile et sa marche mais sans les fichiers car j'ai eu des problémes aves les fichiers. mais je n'arrive toujours pas a faire la fonction "supprimer" et l'enregistrement des contacts sur un fichier. :oops::oops: [ATTACH=CONFIG]147818/ATTACH
0