116 lines
2.9 KiB
C
116 lines
2.9 KiB
C
|
//REPERTOIRE
|
||
|
|
||
|
#include <stdio.h>
|
||
|
#define nb_f_max 100
|
||
|
|
||
|
struct fiche{
|
||
|
char nom[50];
|
||
|
char prenom[50];
|
||
|
int tel;
|
||
|
};
|
||
|
|
||
|
struct repertoire{
|
||
|
struct fiche Fiches[nb_f_max];
|
||
|
int nb_f_rem;
|
||
|
};
|
||
|
|
||
|
int main(){
|
||
|
struct repertoire rep={{{"Munck","Emma",767},{"Ogata","Jade",776},{"Munck","Alix",444},{"Munck","Stephanie",333},{"Munck","Bertrand",555}},5};
|
||
|
struct fiche temp;
|
||
|
int num;
|
||
|
int test=0;
|
||
|
int i;
|
||
|
int j=0;
|
||
|
int n1,n2,nsup;
|
||
|
int nb_fiches_dispo;
|
||
|
|
||
|
|
||
|
|
||
|
while (test==0){
|
||
|
|
||
|
puts("\nMENU:\n0. Quitter le programme \n1. Affichage du nombre de fiches disponibles\n2. Saisie d'une fiche \n3. Modification d'une fiche \n4. Affichage du repertoire \n5. Echange de deux fiches \n6. Suppression d'une fiche\n ");
|
||
|
|
||
|
puts("Choisir le numero d'une action");
|
||
|
scanf("%d",&num);
|
||
|
|
||
|
switch(num){
|
||
|
case 0 :
|
||
|
puts("Vous avez choisi de quitter le programme (0)");
|
||
|
puts("Au revoir!");
|
||
|
return 0;
|
||
|
|
||
|
case 1 :
|
||
|
puts("Vous avez choisi d'afficher le nombre de fiches disponibles(1)");
|
||
|
nb_fiches_dispo=nb_f_max-rep.nb_f_rem;
|
||
|
printf("Nombre fiches disponibles=%d\n",nb_fiches_dispo);
|
||
|
break;
|
||
|
|
||
|
case 2:
|
||
|
puts("Vous avez choisi de saisir une fiche(2)");
|
||
|
nb_fiches_dispo=nb_f_max-rep.nb_f_rem;
|
||
|
if (rep.nb_f_rem==nb_f_max){
|
||
|
puts("Aucune fiche disponible");
|
||
|
}else{
|
||
|
puts("Saisir le nom, prénom et numéro de téléphone");
|
||
|
scanf("%s",rep.Fiches[rep.nb_f_rem].nom);
|
||
|
scanf("%s",rep.Fiches[rep.nb_f_rem].prenom);
|
||
|
scanf("%d",&rep.Fiches[rep.nb_f_rem].tel);
|
||
|
|
||
|
rep.nb_f_rem++;
|
||
|
}
|
||
|
break;
|
||
|
|
||
|
case 3:
|
||
|
puts("Vous avez choisi de modifier une fiche (3)");
|
||
|
puts("Numero de la fiche que vous voulez modifier");
|
||
|
scanf("%d",&i);
|
||
|
puts("Saisir les nouveaux nom, prénom et numero de téléphone");
|
||
|
scanf("%s",rep.Fiches[i].nom);
|
||
|
scanf("%s",rep.Fiches[i].prenom);
|
||
|
scanf("%d",&rep.Fiches[i].tel);
|
||
|
break;
|
||
|
|
||
|
case 4 :
|
||
|
puts("Vous avez choisi d'afficher le repertoire (4)");
|
||
|
if (rep.nb_f_rem==0){
|
||
|
puts("Le repertoire est vide");
|
||
|
}else{
|
||
|
for (i=0;i<rep.nb_f_rem;i++){
|
||
|
printf("Fiche %d: %s\t%s\t%d",i,rep.Fiches[i].nom,rep.Fiches[i].prenom,rep.Fiches[i].tel);
|
||
|
printf("\n");
|
||
|
}
|
||
|
}
|
||
|
break;
|
||
|
|
||
|
case 5 :
|
||
|
puts("Vous avez choisi d'echanger deux fiches (6)");
|
||
|
puts("Entrez les numeros respectifs des fiches à échanger");
|
||
|
scanf("%d",&n1);
|
||
|
scanf("%d",&n2);
|
||
|
if (n1<0 || n1>=rep.nb_f_rem || n2>=rep.nb_f_rem || n2<0){
|
||
|
puts("La saisie est incorrecte");
|
||
|
}else{
|
||
|
temp=rep.Fiches[n1];
|
||
|
rep.Fiches[n1]=rep.Fiches[n2];
|
||
|
rep.Fiches[n2]=temp;
|
||
|
}
|
||
|
break;
|
||
|
|
||
|
case 6 :
|
||
|
puts("Vous avez choisi de supprimer une fiche (6)");
|
||
|
puts("Numero de la fiche que vous souhaitez supprimer:");
|
||
|
scanf("%d",&nsup);
|
||
|
for (i=nsup;i<rep.nb_f_rem;i++){
|
||
|
rep.Fiches[i]=rep.Fiches[i+1];
|
||
|
};
|
||
|
rep.nb_f_rem--;
|
||
|
break;
|
||
|
|
||
|
default :
|
||
|
puts("La saisie est incorrecte");
|
||
|
printf("\n");
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|