salut j'ai besoin d'aide au niveau de l'ajout contact.Si j choisi dajouter un contact ami le programme sarrete.
MERCI
#include<stdio.h>
#include<ctype.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
/* Déclaration des structures*/
typedef struct Contact{
char Nom[15];
char Prenom[30];
char Numero[15];
}Contact;
typedef struct Contact_Ami{
char nom[15];
char prenom[30];
char portable[15];
char domicile[15];
char email[30];
char anniversaire[8];
char ville[20];
char adresse_postale[15];
}Contact_Ami;
//Déclaration des fonctions.
void Creer_repertoire(Contact *A,Contact_Ami *B,int n);
void ajouter_contact(Contact Nom[],Contact Prenom[],Contact Numero[],int n);
void ajouter_contact_Ami(Contact_Ami nom[],Contact_Ami prenom[],Contact_Ami portable[],Contact_Ami domicile[],Contact_Ami email[],Contact_Ami anniversaire[],Contact_Ami ville[],Contact_Ami adresse_postale[],int n);
/*void afficher_contact(Contact Nom[],Contact Prenom[],Contact Numero[],int n);
void afficher_contact_Ami(Contact_Ami nom[],Contact_Ami prenom[],Contact_Ami portable[],Contact_Ami domicile[],Contact_Ami email[],Contact_Ami anniversaire[],Contact_Ami ville[],Contact_Ami adresse_postale[],int n);
void afficher_tri_contact(Contact Nom[],Contact Prenom[],Contact Numero[],int n);
void afficher_tri_contact_Ami(Contact_Ami nom[],Contact_Ami prenom[],Contact_Ami portable[],Contact_Ami domicile[],Contact_Ami email[],Contact_Ami anniversaire[],Contact_Ami ville[],Contact_Ami adresse_postale[],int n);
void recherche_contact(Contact Nom[],Contact Prenom[],Contact Numero[],int n);
void recherche_Ami(Contact_Ami nom[],Contact_Ami prenom[],Contact_Ami portable[],Contact_Ami domicile[],Contact_Ami email[],Contact_Ami anniversaire[],Contact_Ami ville[],Contact_Ami adresse_postale[],int n);
void modifier_contact(Contact Nom[],Contact Prenom[],Contact Numero[],int n);
void modifier_Ami(Contact_Ami nom[],Contact_Ami prenom[],Contact_Ami portable[],Contact_Ami domicile[],Contact_Ami email[],Contact_Ami anniversaire[],Contact_Ami ville[],Contact_Ami adresse_postale[],int n);
void supprimer_contact(Contact Nom[],Contact Prenom[],Contact Numero[],int n);
void supprimer_Ami(Contact_Ami nom[],Contact_Ami prenom[],Contact_Ami portable[],Contact_Ami domicile[],Contact_Ami email[],Contact_Ami anniversaire[],Contact_Ami ville[],Contact_Ami adresse_postale[],int n);
void vider_repertoire(Contact *A,Contact_Ami *B,int n);
void pause();
void Quitter();*/
Contact *A;
Contact_Ami *B;
int main(){
int i,n;
Contact *Nom,*Prenom,*Numero;
A=(Contact*)malloc(n*sizeof(Contact));
Contact_Ami *nom,*prenom,*portable,*domicile,*email,*anniversaire,*ville,*adresse_postale;
B=(Contact_Ami*)malloc(n*sizeof(Contact_Ami));
int choix;
char option;
do{
//Affichage du menu
system("cls");
printf("\n");
printf(" ****************REPERTOIRE TELEPHONIQUE*************** \n");
printf("\n");
printf(" &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& \n");
printf("\n");
printf(" MENU DU REPERTOIRE TELEPHONIQUE \n");
printf(" ¦ [1] © Creer un repertoire ¦ \n");
printf(" ¦ [2] © Ajouter un contact ¦ \n");
printf(" ¦ [3] © Ajouter un contact_Ami ¦ \n");
printf(" ¦ [4] © Afficher les contacts ¦ \n");
printf(" ¦ [5] © Afficher un contact_Ami ¦ \n");
printf(" ¦ [6] © Afficher les contacts avec trie ¦ \n");
printf(" ¦ [7] © Afficher les contacts Amis(e) ¦ \n");
printf(" ¦ [8] © Afficher les contacts Amis(e) avec trie ¦ \n");
printf(" ¦ [9] © Rechercher un contact ¦ \n");
printf(" ¦ [9] © Rechercher un contact_Ami ¦ \n");
printf(" ¦ [10] © Modifier un contact ¦ \n");
printf(" ¦ [11] © Modifier un contact_Ami ¦ \n");
printf(" ¦ [12] © Supprimer un contact ¦ \n");
printf(" ¦ [13] © Supprimer un contact_Ami ¦ \n");
printf(" ¦ [14] © Vider le repertoire ¦ \n");
printf(" ¦ [0] © Quitter ¦ \n");
printf("\n");
printf(" &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& \n");
printf("\n");
//Demander un choix
printf("\t\t\t veuiller choisir une option: ");
scanf("%d",&choix);
fflush(stdin);
system("cls");
printf("\n");
switch(choix){
case 1:
printf(" ***************Nouveau repertoire*************\n");
printf("\n");
printf("\n");
Creer_repertoire(A,B,n);
break;
case 2:
printf("\t voulez vous ajouter un contact Ami ( y / n ): ");
scanf("%s",&option);
fflush(stdin);
system("cls");
printf("\n");
switch(option){
case 'n':
printf("********************Ajouter un contact****************\n");
printf("\n");
printf("\n");
ajouter_contact(Nom,Prenom,Numero,n);
break;
case 'y':
printf("****************Ajouter un contact Ami****************\n");
printf("\n");
printf("\n");
ajouter_contact_Ami(nom,prenom,portable,domicile,email,anniversaire,ville,adresse_postale,n);
break;
default:
printf(" choix invalide ");
}
printf("\nOperation avec succes...");
/*case 3:
printf("Nouveau contact_Ami:\n");
ajouter_contact_Ami(nom,prenom,portable,domicile,email,anniversaire,ville,adresse_postale,n);
break;*/
case 4:
printf("liste des contacts:\n");
//afficher_contact(Nom,Prenom,Numero,n);
break;
case 5:
printf("Liste des contacts avec tri:\n");
//afficher_contact(Nom,Prenom,Numero,n);
break;
/*case 6:
printf("liste de contacts Amis(e):\n");
afficher_contact_Ami(nom,prenom,portable,domicile,email,anniversaire,ville,adresse_postale,n);
break;
case 7:
printf("liste de contacts Amis(e):\n");
afficher_tri_contact_Ami(nom,prenom,portable,domicile,email,anniversaire,ville,adresse_postale,n);
break;*/
case 8:
printf("Recherche d'un contact:\n");
//recherche_contact(Nom,Prenom,Numero,n);
break;
/*case 9:
printf("Recherche d'un contact Ami:\n");
recherche_Ami(nom,prenom,portable,domicile,email,anniversaire,ville,adresse_postale,n);
break;*/
case 10:
printf("Modifier un contact:\n");
//modifier_contact(Nom,Prenom,Numero,n);
break;
/* case 11:
printf("Modifier un contact_Ami:\n");
modifier_Ami(nom,prenom,portable,domicile,email,anniversaire,ville,adresse_postale,n);
break;*/
case 12:
printf("Suppression d'un contact:\n");
//supprimer_contact(Nom,Prenom,Numero,n);
break;
/* case 13:
printf("Suppression d'un contact_Ami:\n");
supprimer_Ami(nom,prenom,portable,domicile,email,anniversaire,ville,adresse_postale,n);
break;*/
case 14:
printf("Répertoire vidé!!");
//vider_repertoire(A,n);
break;
case 0:
//Quitter();
break;
default:
printf(" choix invalide ");
} printf("\nOperation avec succes...");
//pause();// On appelle une fonction Pause() une fonction qui permet de revenir au menu en appuyant sur une touche quelconque du clavier.
}while(1);
getch();
return 0;
}
/*Definition des fonctions.*/
//Créer repertoire
void Creer_repertoire(Contact *A,Contact_Ami *B,int n)
{
int i;
do{
printf("Creer un repertoire: ");
scanf("%d",&n);
}while(n<0);
printf("\n");
}
//Ajout d'un contact
void ajouter_contact(Contact Nom[],Contact Prenom[],Contact Numero[],int n)
{
int i;
do{
printf("Donner le nombre de contact a ajouter:");
scanf("%d",&n);
}while(n<0 || n>100);
for(i=0;i<n;i++)
{
printf("Nom:");
scanf("%s",&A[i].Nom);
printf("Prenom: ");
scanf("%s",&A[i].Prenom);
printf("Numero: ");
scanf("%s",&A[i].Numero);
printf("\n");
}
}
void ajouter_contact_Ami(Contact_Ami nom[],Contact_Ami prenom[],Contact_Ami portable[],Contact_Ami domicile[],Contact_Ami email[],Contact_Ami anniversaire[],Contact_Ami ville[],Contact_Ami adresse_postale[],int n)
{
int j,m;
do{
printf("Donner le nombre de contact a ajouter:");
scanf("%d",&m);
}while(m<0 || m>100);
for(j=0;j<m;j++)
{
printf("Nom:");
scanf("%s",&B[j].nom);
printf("Prenom: ");
scanf("%s",&B[j].prenom);
printf("Portable: ");
scanf("%s",&B[j].portable);
printf("Domicile: ");
scanf("%s",&B[j].domicile);
printf("Email: ");
scanf("%s",&B[j].email);
printf("Anniversaire: ");
scanf("%s",&B[j].anniversaire);
printf("Ville: ");
scanf("%s",&B[j].ville);
printf("Adresse_postale: ");
scanf("%s",&B[j].adresse_postale);
printf("\n");
}
}
void afficher_contact(Contact Nom[],Contact Prenom[],Contact Numero[],int n)
{
int i;
if(n>0){
for(i=1;i<n;i++){
printf("Nom: %s",A[i].Nom);
printf("Prenom: %s",A[i].Prenom);
printf("Numero: %s",A[i].Numero);
}
} else
printf("Repertoire Vide!!");
}
/* Pause de saisie */
/*void pause()
{
printf("\n... appuyer sur une touche pour retourner au menu...");
getch();
}
/* Quitter */
/*void quitter()
{
exit(0);
}*/
Afficher la suite