Open Yasmtidk opened 5 months ago
// / D�FINITION DU SOUS-PROGRAMME PRINCIPALE / // /* Date : 23/01/24 Par : Yasmine Beddouch
Description : Copier les trois exercices précédents dans un nouveau fichier,
car nous y effectuerons des modifications.
Modifier la fonction solde_apres_paiement pour qu'elle inscrive,
dans trois références, le paiement effectué, les intérêts payés et le remboursement
en capital effectué chaque mois, en plus de retourner le nouveau solde hypothécaire.
Note : cette fonction a maintenant 5 paramètres
(solde, taux_interet, paiement, interet, remboursement).
Modifier la procédure relever_compte pour qu'elle s'adapte à la nouvelle signature de la
fonction solde_apres_paiement. Les paiements et les remboursements effectués chaque mois
doivent être ajoutés à l'affichage.
*/ /***/
// / D�FINITION DES TYPES ET CONSTANTES / //
// / D�CLARATION DES SOUS-PROGRAMMES PRIV�ES / //
// Déclaration de fonction solde_apres_paiement void relever_compte(double montant_solde_hypothecaire, double montant_paiement_mensuel, double taux_interet_annuel);
// Déclaration de fonction solde_apres_paiement double solde_apres_paiement(double solde, double taux_annuel, double paiement, double interet, double* remboursement);
// / D�FINITION DU SOUS-PROGRAMME PRINCIPALE / //
int main() { double montant_solde_hypothecaire; // Le montant d'un solde hypothécaire saisit par l'utilisateur double montant_paiement_mensuel; // Le montant du paiement mensue saisit par l'utilisateur double taux_interet_annuel; // Le taux d'intérêt annuel sur l'hypothèque saisit par l'utilisateur double interet; // Le taux d'intérêt mensuel sur l'hypothèque double remboursement; // Le montant du remboursement effectuer mensuellement
// Demande a l'utilisateur de saisir le montant d'un solde hypothécaire saisit par l'utilisateur
printf("Quel est le montant de l'hypotheque : ");
scanf("%lf", &montant_solde_hypothecaire);
// Demande a l'utilisateur de saisir le montant du paiement mensuel saisit par l'utilisateur
printf("Quel est le montant du paiement mensuel : ");
scanf("%lf", &montant_paiement_mensuel);
// Demande a l'utilisateur de saisir le taux d'intérêt annuel sur l'hypothèque saisit par l'utilisateur
printf("Quel est le montant du taux d'interet annuel : ");
scanf("%lf", &taux_interet_annuel);
// Appelle de la fonction relever_compte :
relever_compte(montant_solde_hypothecaire, montant_paiement_mensuel, taux_interet_annuel);
return EXIT_SUCCESS;
}
// / D�CLARATION DES SOUS-PROGRAMMES PRIV�ES / //
// Définition de fonction relever_compte : void relever_compte(double montant_solde_hypothecaire, double montant_paiement_mensuel, double taux_interet_annuel) { double interet; // Les interet calculer (solde * taux mensuel interet) double remboursement; // Le remboursement payer par l'utilisateur int No_Mois = 0; // Le nombre de mois depuis le premier paiement
//Affichage de la nouvelle signature
printf("Solde initiale : %.2f$ @ %.2f%", montant_solde_hypothecaire, taux_interet_annuel);
printf("\n----------------------------------------------\n");
printf("No Mois | Paiement | Interet | Remboursement| Solde \n");
while(montant_solde_hypothecaire > 0)
{
//Compteur de boucle et nombre de mois depuis le premier paiement
No_Mois++;
// Calculer le montant solde hypothecaire apres le paiement
montant_solde_hypothecaire = solde_apres_paiement(montant_solde_hypothecaire, taux_interet_annuel,
&montant_paiement_mensuel, &interet, &remboursement);
//On affiche l'information.
printf(" %d | %.2lf | %.2lf | %.2lf | %.2lf \n", No_Mois, montant_paiement_mensuel,
interet, remboursement, montant_solde_hypothecaire);
}
}
// Définition de fonction solde_apres_paiement : double solde_apres_paiement(double solde, double taux_annuel, double paiement, double interet, double* remboursement) { double taux_interet_mensuel; // Le taux d'intérêt mensuel sur l'hypothèque
//Calculer le taux d'interet mensuel
taux_interet_mensuel = taux_annuel / 12;
//On calucle les intérêt
*interet = solde * taux_interet_mensuel;
//Calculer le montant du paiement mensuel sans les interet mensuel
//On applique le remboursement s'il reste plus d'un paiement
if(solde + *interet > *paiement)
{
*remboursement = *paiement - *interet;
}
else
{
*paiement = solde + *interet;
*remboursement = solde;
}
// Calculer le montant solde hypothecaire apres le paiement;
solde = solde - *remboursement;
return solde;
}