Supprimer un adhérent fonctionnel -> y appeler la fonction des informations des adhérents + liste des adhérents

main
DahmaneYanis 3 years ago
parent 9a98ef99c9
commit c65be45aaa

Binary file not shown.

@ -11,95 +11,115 @@
*/ */
int SupprimerAdherent(int *nbAdherent, int tabNoCarte[], int tabEtatCarte[], int tabPointCarte[]) int SupprimerAdherent(int *nbAdherent, int tabNoCarte[], int tabEtatCarte[], int tabPointCarte[])
{ {
int cible; int cible, boucle = 0;
char rep = 'N'; char rep;
printf("\nBienvenue sur le menu de suppression d'adherents.\nEntrer le numero de la carte de l'adherent que vous souhaitez supprimer : ");
scanf("%d", &cible);
clean
// Verification de l'existance de l'adherent
int trouve = 0; int trouve = 0;
int indice = 0; int indice = 0;
for (int i = 0; i < *nbAdherent ; i++) int exit = 0;
{
if (tabNoCarte[i] == cible)
{
trouve = 1;
indice = i;
break;
}
}
// Si la carte de l'adherent n'existe pas clean
if (trouve == 0) printf("\nBienvenue sur le menu de suppression d'adherents.\n");
while (!exit)
{ {
printf("\nNumero de carte %d inexistant. Souhaitez vous un affichage détaille des adherents (O/N) : "); trouve = 0;
scanf("%*c%c", &rep); indice = 0;
// Verification de la validité de la réponse printf("Entrer le numero de la carte de l'adherent que vous souhaitez supprimer : ");
while (rep != 'N' && rep != 'O') scanf("%d", &cible);
clean
// Verification de l'existance de l'adherent
for (int i = 0; i < *nbAdherent ; i++)
{ {
clean if (tabNoCarte[i] == cible)
printf("Reponse incorrecte. Souhaitez vous un affichage détaille des adherents (O/N) : "); {
scanf("%*c%c", &rep); trouve = 1;
indice = i;
break;
}
} }
if (rep == 'O') // Si la carte de l'adherent n'existe pas
if (trouve == 0)
{ {
// AfficheAdherents(); --> APPEL DE L'AFFICHAGE DES ADHERENTS printf("\nNumero de carte %d inexistant. Souhaitez vous un affichage detaille des adherents (O/N) : ", cible);
} scanf("%*c%c", &rep);
}
// Si la carte a été trouvée // Verification de la validité de la réponse
while (rep != 'N' && rep != 'O')
{
clean
printf("Reponse incorrecte. Souhaitez vous un affichage detaille des adherents (O/N) : ");
scanf("%*c%c", &rep);
}
else if (rep == 'O')
{ {
clean // AfficheAdherents(); --> APPEL DE L'AFFICHAGE DES ADHERENTS
printf("Adherent trouve. Voici ses informations :\nNumero de carte : %d\nEtat de la carte : %d\nPoint(s) sur la carte : %d\nConfirmez vous la suppression de l'adherent (O/N) : ", tabNoCarte[indice], tabEtatCarte[indice], tabPointCarte[indice]); }
}
// Verification de la validité de la réponse // Si la carte a été trouvée
while (rep != 'N' && rep != 'O')
else
{ {
clean clean
printf("Reponse incorrecte. Confirmez vous la suppression de l'adherent %d (O/N) : ", tabNoCarte[indice]); printf("Adherent trouve. Voici ses informations :\nNumero de carte : %d\nEtat de la carte : %d\nPoint(s) sur la carte : %d\nConfirmez vous la suppression de l'adherent (O/N) : ", tabNoCarte[indice], tabEtatCarte[indice], tabPointCarte[indice]);
scanf("%*c%c", &rep); scanf("%*c%c", &rep);
}
// Suppression de l'adherent // Verification de la validité de la réponse
if (rep == 'O') while (rep != 'N' && rep != 'O')
{
for (int i = indice; i < *nbAdherent ; i++)
{ {
tabNoCarte[i] = tabNoCarte[i+1]; clean
tabEtatCarte[i] = tabEtatCarte[i+1]; printf("Reponse incorrecte. Confirmez vous la suppression de l'adherent %d (O/N) : ", tabNoCarte[indice]);
tabPointCarte[i] = tabPointCarte[i+1]; scanf("%*c%c", &rep);
} }
// Suppression de l'adherent
if (rep == 'O')
{
for (int i = indice; i < *nbAdherent ; i++)
{
tabNoCarte[i] = tabNoCarte[i+1];
tabEtatCarte[i] = tabEtatCarte[i+1];
tabPointCarte[i] = tabPointCarte[i+1];
}
clean clean
printf("Adherent supprime.\n"); printf("Adherent supprime.\n");
*nbAdherent -= 1;
}
*nbAdherent -= 1; // Suppression annulée
else
{
clean
printf("Suppression annulee.\n");
}
} }
// Suppression annulée // Test pour savoir si on supprime encore un adhérent ou si on retourne au menu principal
else printf("\nSouhaitez vous entrer un autre numero d'adherent (O/N) : ");
scanf("%*c%c", &rep);
clean
while (rep != 'N' && rep != 'O')
{ {
clean clean
printf("Suppression annulee.\n"); printf("Reponse incorrecte. Confirmez vous la suppression de l'adherent %d (O/N) : ", tabNoCarte[indice]);
scanf("%*c%c", &rep);
} }
}
printf("\nSouhaitez vous entrer un autre numéro d'adhérent (O/N) : ");
scanf("%*c%c", &rep);
clean
if(rep == 'N') if(rep == 'N')
{ {
clean clean
printf("Retour au menu principal.\n"); exit = 1;
printf("Retour au menu principal.\n");
}
} }
return 0;
} }
Loading…
Cancel
Save