Recharger carte terminée mais non testée

main
DahmaneYanis 3 years ago
parent f3ffc48c7e
commit 2a0ae3a06a

Binary file not shown.

@ -291,43 +291,165 @@ void RechargeCarte(int noCarte, int tabNoCarte[], int tabEtatCarte[], int tabPoi
clean
char rep;
int trouve = 0, actif = 1;
int indice = TrouverAdherent(tabNoCarte, nbAdherents, noCarte, &trouve);
int indice;
int trash, credit;
while (actif)
{
indice = TrouverAdherent(tabNoCarte, nbAdherents, noCarte, &trouve); // Récupération de l'indice de l'adhérent si il existe
// Si l'adhérent cherché n'existe pas
if (!trouve && indice == -1)
{
printf("Adherent %d introuvable. Souhaitez-vous rechercher un autre adherent (O/N) : ", noCarte);
printf("Souhaitez-vous rechercher un autre adherent (O/N) : ", noCarte);
scanf(" %c", &rep);
while (rep != 'N' && rep != 'O')
{
clean
printf("Reponse incorrecte. Souhaitez vous entrer un autre numero d'adherent (O/N) : ");
printf("\nrep : %c\n", rep);
scanf(" %c", &rep);
printf("\nRep : %c\n", rep);
}
// Abandon de la recharge
if(rep == 'N')
{
clean
printf("\nRetour au menu principal.\n");
actif = 0 ;
}
// Relancement de la fonction pour une autre carte adhérent
else
{
clean
printf("Numero d'adherent a recharger : ");
printf("Numero carte d'adherent a recharger : ");
scanf(" %d", &noCarte);
indice = TrouverAdherent(tabNoCarte, nbAdherents, noCarte, &trouve);
}
}
// Adhérent trouvé
else
{
AfficheInfosAdherent(noCarte, tabNoCarte, tabEtatCarte, tabPointCarte, nbAdherents);
actif = 0;
printf("\nVoulez-vous toujours recharger la carte numero %d (O/N) : ", noCarte);
scanf(" %c", rep);
while (rep != 'N' && rep != 'O')
{
clean
printf("Reponse incorrecte. Voulez-vous toujours recharger la carte numero %d (O/N) : ", noCarte);
scanf(" %c", &rep);
}
// Annulation de la recharge
if (rep == 'N')
actif = 0;
// Validation de la volonté de recharger
else
{
// Récupération du nombre de crédit à ajouter
clean
printf("Combien souhaitez-vous ajouter de credit : ");
scanf(" %d", &credit);
// Vérification de l'état de la carte
if (tabEtatCarte[indice] != 1)
{
clean
printf("Etat de la carte actuel : %d", tabEtatCarte[indice]);
printf("\nVoulez-vous la reactiver (O/N) : ");
scanf(" %c", &rep);
while (rep != 'N' && rep != 'O')
{
clean
printf("Reponse incorrecte.\nEtat de la carte actuel : %d. Voulez-vous reactiver la carte numero %d (O/N) : ", tabEtatCarte[indice], noCarte);
scanf(" %c", &rep);
}
// Réactivation de la carte et ajout des crédits
if (rep == 'O')
{
tabEtatCarte[indice] = 1;
tabPointCarte[indice] += credit;
clean
printf("Carte reactivee. Transaction de %d credits faite.\n", credit);
AfficheInfosAdherent(noCarte, tabNoCarte, tabEtatCarte, tabPointCarte, nbAdherents);
printf("\nAppuyer sur entree pour continuer...");
scanf("%*c%c", &trash);
actif = 0;
}
// Etat de la carte non modifié
else
{
clean
printf("Souhaitez-vous effectuer quand meme la transaction de %d credit (O/N) : ", credit);
scanf(" %c", &rep);
while (rep != 'N' && rep != 'O')
{
clean
printf("Reponse incorrecte. Souhaitez-vous effectuer quand meme la transaction de %d credit (O/N) : ", credit);
scanf(" %c", &rep);
}
// Mettre des crédits sans réactiver la carte
if (rep == 'O')
{
tabPointCarte[indice] += credit;
clean
printf("Transaction de %d credits faite.\n", credit);
AfficheInfosAdherent(noCarte, tabNoCarte, tabEtatCarte, tabPointCarte, nbAdherents);
printf("\nAppuyer sur entree pour continuer...");
scanf("%*c%c", &trash);
actif = 0;
}
// Annulation de la transaction car carte annulée
else
{
clean
printf("Transaction annulée.\nSouhaitez-vous faire une nouvelle transaction de credit (O/N) : ");
scanf(" %c", &rep);
while (rep != 'N' && rep != 'O')
{
clean
printf("Reponse incorrecte. Souhaitez-vous faire une nouvelle transaction de credit (O/N) : ");
scanf(" %c", &rep);
}
// Fin de programme
if (rep == 'N')
actif = 0;
// Relancment du programme avec une nouvelle carte adhérente
else
{
clean
printf("Numero carte d'adherent a recharger : ");
scanf(" %d", &noCarte);
indice = TrouverAdherent(tabNoCarte, nbAdherents, noCarte, &trouve);
}
}
}
}
}
}
}
}

Loading…
Cancel
Save