begin process at 2012 02 04 08:20:09
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

.NET

 > SIMULATION D'UN CRÉDIT À INTÉRÊTS COMPOSÉS

SIMULATION D'UN CRÉDIT À INTÉRÊTS COMPOSÉS


 Information sur la source

Note :
Aucune note
Catégorie :.NET Source .NET ( DotNet ) Classé sous :crédit, simulation, intérêt, amortissement, calcul Niveau :Débutant Date de création :04/03/2007 Date de mise à jour :06/03/2007 15:25:50 Vu / téléchargé :28 749 / 588

Auteur : Mimo24

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Bon voila! c'est un programme qui calcul l'échéance d'un crédit sur une durée avec un taux d'intérêts.
Le fichier texte générer vous donnera les informations et le tableau d'amortissements de votre prêt.

C'est mon premier programme que je mets sur site... j'attend vos commentaires !!!!

Merci.

Source

  • static void Main(string[] args)
  • {
  • /* N'oublier pas m'envoyer un email si quelque chose cloche avec le programme.
  • * Benbekka Mohamed: mailto:contact@mbenbekka.ecv.ms
  • * Début du programme: Modifier le 06/03/2007 à ALGER */
  • float credit=MontantCredit();
  • int duree=DureeCredit();
  • float taux=TauxCredit();
  • result(credit,duree,taux);
  • Console.Read();
  • }
  • static float MontantCredit()
  • {
  • bool ok=false; float _credit=0;
  • do {
  • Console.Write("Montant de l'emprunt [Min:1000] ? ");
  • try {
  • _credit=float.Parse(Console.ReadLine().Replace(".",",").Trim());
  • if(_credit<1000) {
  • Console.WriteLine("Montant non valide [Min:1000], Recommencez...");
  • ok=false;} else {ok=true;} // if/else
  • } catch(Exception e) {
  • Console.WriteLine(e.GetType().ToString());
  • Console.WriteLine("Montant non valide ! Recommencez...");
  • } // try/catch
  • } while(ok==false); // do/while
  • return _credit; // Montant du crédit validé
  • } // MontantCredit()
  • static int DureeCredit()
  • {
  • bool ok=false; int _duree=0;
  • do {
  • Console.Write("Durée du crédit en mois [Min:2 - Max:360]? ");
  • try {
  • _duree=int.Parse(Console.ReadLine().Trim());
  • if((_duree<2) | (_duree>360)) {
  • Console.WriteLine("Durée non valide [Min:2 - Max:360], Recommencez...");
  • ok=false;} else {ok=true;} // if/else
  • } catch(Exception e) {
  • Console.WriteLine(e.GetType().ToString());
  • Console.WriteLine("Durée non valide ! Recommencez...");
  • } // try/catch
  • } while(ok==false); // do/while
  • return _duree; // Durée du crédit validée
  • } // DureeCredit()
  • static float TauxCredit()
  • {
  • bool ok=false; float _taux=0;
  • do {
  • Console.Write("Taux d'intérêts du crédit [Min:1.5 - Max:20.5]? ");
  • try {
  • _taux=float.Parse(Console.ReadLine().Replace(".",",").Trim());
  • if((_taux<1.5f) | (_taux>20.5f)) {
  • Console.WriteLine("Taux non valide [Min:1.5 - Max:20.5], Recommencez...");
  • ok=false;
  • } else {ok=true;} // if/else
  • } catch(Exception e) {
  • Console.WriteLine(e.GetType().ToString());
  • Console.WriteLine("Durée non valide ! Recommencez...");
  • } // try/catch
  • } while(ok==false); // do/while
  • return _taux; // Taux du crédit validé
  • } // TauxCredit()
  • static void result(float credit, int duree, float taux)
  • {
  • /*
  • La formule du calcul je l'est trouvée sue le site:
  • http://www.cbanque.com/
  • */
  • // Juste pour le calcul du montant de l'échéance (Mensualité à payer)
  • float Tp=((taux/100)/12); // Taux périodique du crédit
  • float Tpx=1+Tp;
  • // Pour le tableau d'amortissement du crédit:
  • float reste=credit; // Le reste du crédit
  • float capital=0; // Le capital du crédit
  • float interet=0; // Intérêt du crédit
  • Tpx=(float)Math.Pow(Tpx,duree);
  • float mensualite=(credit*Tpx*Tp)/(Tpx-1); // Le montant de l'échéache
  • try
  • {
  • System.IO.StreamWriter fichier = new System.IO.StreamWriter("c:\\simulation.html");
  • fichier.AutoFlush=true;
  • fichier.WriteLine("<html><head><title>Simulation</title></head>");
  • fichier.WriteLine("<body leftmargin=10 topmargin=10 rightmargin=10 bottommargin=10>");
  • fichier.WriteLine("<font size=3 color='#000080' face='Arial'>");
  • fichier.WriteLine("<b>&#160&#187&#160&#160Montant de l&#146emprunt : " + credit.ToString()+"<br>");
  • fichier.WriteLine("&#160&#187&#160&#160Dur&#233e : "+duree.ToString()+" Mois<br>");
  • fichier.WriteLine("&#160&#187&#160&#160Taux annuel du pr&#234t : "+taux.ToString()+"%<br>");
  • fichier.WriteLine("<font color='red'>&#160&#187&#160&#160Mensualit&#233 du cr&#233dit : "+mensualite.ToString()+"</font><br>");
  • fichier.WriteLine("&#160&#187&#160&#160Assurance mensuelle : 0<br>");
  • fichier.WriteLine("&#160&#187&#160&#160Frais additionnelles : 0</font></b><br><br>");
  • fichier.WriteLine("<table width='65%' border=1 bordercolor='#000080'>");
  • fichier.WriteLine("<caption><font color='#000080' size=3><b>TABLEAU D&#146AMORTISSEMENT CREDIT</b></font></caption>");
  • fichier.WriteLine("<tr bgcolor='#99ccff'><font color='#000080' size=2 face='Arial'><td><b>N&#186 Ech&#233ance</b></td>");
  • fichier.WriteLine("<td><b>Cr&#233dit</b></td><td><b>Capital</b></td><td><b>Int&#233r&#234t</b></td><td><b>Mensualit&#233</b></td></font></tr>");
  • for(int i=1; i<=duree; i++) // Tableau d'amortissement
  • {
  • interet=((reste*(taux/100))/12);
  • capital=mensualite-interet;
  • reste-=capital;
  • string L; // Les colonnes du tableau
  • L="<tr><td>"+i.ToString()+"</td>"; // L'actuelle échéance
  • L+="<td>"+reste.ToString()+"</td>"; // Reste crédit pour l'actuelle échéance
  • L+="<td>"+capital.ToString()+"</td>"; // Capital prélevé pour l'actuelle échéance
  • L+="<td>"+interet.ToString()+"</td>"; // Intérêt prélevé pour l'actuelle échéance
  • L+="<td>"+mensualite.ToString()+"</td></tr>"; // Mensualité
  • fichier.WriteLine(L);
  • } // for
  • fichier.WriteLine("</table></body></html>");
  • fichier.Close();
  • Console.WriteLine("\r\n"+"Les informations sont stockés dans un fichier texte.");
  • Console.WriteLine("Chemin du fichier est: C:\\simulation.html");
  • } catch(Exception e){
  • Console.WriteLine("L'erreur suivante c'est produite:");
  • Console.WriteLine(e.GetType().ToString());
  • Console.WriteLine(e.Message);
  • } // try/catch
  • } // result()
		static void Main(string[] args)
		{
			/* N'oublier pas m'envoyer un email si quelque chose cloche avec le programme.
			 * Benbekka Mohamed: mailto:contact@mbenbekka.ecv.ms 
			 * Début du programme: Modifier le 06/03/2007 à ALGER */
			float credit=MontantCredit(); 
			int duree=DureeCredit();
			float taux=TauxCredit();
			result(credit,duree,taux);
			Console.Read();
		}

		static float MontantCredit() 
		{
			bool ok=false; float _credit=0;
			do { 
				Console.Write("Montant de l'emprunt [Min:1000] ? "); 
				try { 
					_credit=float.Parse(Console.ReadLine().Replace(".",",").Trim());
					if(_credit<1000) {
						Console.WriteLine("Montant non valide [Min:1000], Recommencez..."); 
						ok=false;} else {ok=true;} // if/else
				} catch(Exception e) { 
					Console.WriteLine(e.GetType().ToString());
					Console.WriteLine("Montant non valide ! Recommencez...");
				} // try/catch
			}  while(ok==false); // do/while
			return _credit; // Montant du crédit validé
		} // MontantCredit()

		static int DureeCredit() 
		{
			bool ok=false; int _duree=0;
			do {
				Console.Write("Durée du crédit en mois [Min:2 - Max:360]? ");
				try	{
					_duree=int.Parse(Console.ReadLine().Trim()); 
					if((_duree<2) | (_duree>360)) {
						Console.WriteLine("Durée non valide [Min:2 - Max:360], Recommencez..."); 
						ok=false;} else {ok=true;} // if/else
				} catch(Exception e) {
					Console.WriteLine(e.GetType().ToString());
					Console.WriteLine("Durée non valide ! Recommencez..."); 
				} // try/catch
			} while(ok==false);  // do/while
			return _duree; // Durée du crédit validée
		} // DureeCredit()

		static float TauxCredit() 
		{
			bool ok=false; float _taux=0;
			do {
				Console.Write("Taux d'intérêts du crédit [Min:1.5 - Max:20.5]? ");
				try	{
					_taux=float.Parse(Console.ReadLine().Replace(".",",").Trim()); 
					if((_taux<1.5f) | (_taux>20.5f)) {
						Console.WriteLine("Taux non valide [Min:1.5 - Max:20.5], Recommencez..."); 
						ok=false;
					} else {ok=true;} // if/else
				} catch(Exception e) {
					Console.WriteLine(e.GetType().ToString());
					Console.WriteLine("Durée non valide ! Recommencez..."); 
				} // try/catch
			} while(ok==false);  // do/while
			return _taux; // Taux du crédit validé
		} // TauxCredit()

		static void result(float credit, int duree, float taux)
		{
			/*
				La formule du calcul je l'est trouvée sue le site:
				http://www.cbanque.com/  
			*/ 
			// Juste pour le calcul du montant de l'échéance (Mensualité à payer)
			float Tp=((taux/100)/12); // Taux périodique du crédit
			float Tpx=1+Tp; 
			// Pour le tableau d'amortissement du crédit:
			float reste=credit; // Le reste du crédit
 			float capital=0; // Le capital du crédit
			float interet=0; // Intérêt du crédit
			Tpx=(float)Math.Pow(Tpx,duree); 
			float mensualite=(credit*Tpx*Tp)/(Tpx-1); // Le montant de l'échéache
			try
			{
				System.IO.StreamWriter fichier = new System.IO.StreamWriter("c:\\simulation.html");
				fichier.AutoFlush=true;
				fichier.WriteLine("<html><head><title>Simulation</title></head>");
				fichier.WriteLine("<body leftmargin=10 topmargin=10 rightmargin=10 bottommargin=10>");
				fichier.WriteLine("<font size=3 color='#000080' face='Arial'>");
				fichier.WriteLine("<b>&#160&#187&#160&#160Montant de l&#146emprunt : " + credit.ToString()+"<br>");
				fichier.WriteLine("&#160&#187&#160&#160Dur&#233e : "+duree.ToString()+" Mois<br>");
				fichier.WriteLine("&#160&#187&#160&#160Taux annuel du pr&#234t : "+taux.ToString()+"%<br>");
				fichier.WriteLine("<font color='red'>&#160&#187&#160&#160Mensualit&#233 du cr&#233dit : "+mensualite.ToString()+"</font><br>");
				fichier.WriteLine("&#160&#187&#160&#160Assurance mensuelle : 0<br>");
				fichier.WriteLine("&#160&#187&#160&#160Frais additionnelles : 0</font></b><br><br>");
				fichier.WriteLine("<table width='65%' border=1 bordercolor='#000080'>");
				fichier.WriteLine("<caption><font color='#000080' size=3><b>TABLEAU D&#146AMORTISSEMENT CREDIT</b></font></caption>");
				fichier.WriteLine("<tr bgcolor='#99ccff'><font color='#000080' size=2 face='Arial'><td><b>N&#186 Ech&#233ance</b></td>");
				fichier.WriteLine("<td><b>Cr&#233dit</b></td><td><b>Capital</b></td><td><b>Int&#233r&#234t</b></td><td><b>Mensualit&#233</b></td></font></tr>");
				for(int i=1; i<=duree; i++) // Tableau d'amortissement
				{
					interet=((reste*(taux/100))/12);
					capital=mensualite-interet;
					reste-=capital;
					string L; // Les colonnes du tableau
					L="<tr><td>"+i.ToString()+"</td>"; // L'actuelle échéance
					L+="<td>"+reste.ToString()+"</td>"; // Reste crédit pour l'actuelle échéance
					L+="<td>"+capital.ToString()+"</td>"; // Capital prélevé pour l'actuelle échéance
					L+="<td>"+interet.ToString()+"</td>"; // Intérêt prélevé pour l'actuelle échéance
					L+="<td>"+mensualite.ToString()+"</td></tr>"; // Mensualité
					fichier.WriteLine(L); 			
				} // for 
				fichier.WriteLine("</table></body></html>");
				fichier.Close();
				Console.WriteLine("\r\n"+"Les informations sont stockés dans un fichier texte.");
				Console.WriteLine("Chemin du fichier est: C:\\simulation.html"); 
			} catch(Exception e){
				Console.WriteLine("L'erreur suivante c'est produite:");
				Console.WriteLine(e.GetType().ToString());
				Console.WriteLine(e.Message);
			} // try/catch
		} // result()


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

05 mars 2007 12:25:37 :
j'ai ajouté un zip avec 2 projets C#/VB.NET....
06 mars 2007 15:25:50 :
Pour les fans de l'HTML...

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) ORIONBANQUE par toutphp
Source avec Zip Source avec une capture Source .NET (Dotnet) ORIONAPPLICATION par toutphp
Source avec Zip SOCKET CONNEXION CLIENT & SERVEUR par ziedto83
Source avec Zip Source .NET (Dotnet) FFMPEG.NET : WRAPPER .NET DE FFMPEG par MasterShadows
Source avec Zip Source .NET (Dotnet) ATTACHER, CRÉER ET SAUVEGARDER UNE BASE DE DONNÉES SQL SERVE... par Alvepinai

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) EXERCICE DE CALCUL MENTAL par Sat7121
Source avec Zip Source avec une capture Source .NET (Dotnet) APPLICATION TRACEUR DE COURBE par Kite37
Source avec Zip Source avec une capture Source .NET (Dotnet) LOGICIEL DE RÉGULATION PID EN C# - VS 2008 EXPRESS par brunovan
Source avec Zip Source avec une capture Source .NET (Dotnet) GÉNÉRATION ET AFFICHAGE D'HARMONIQUES par Yoteco
Source avec Zip Source avec une capture Source .NET (Dotnet) CALCUL D'AMORTISSEMENT par leproc

Commentaires et avis

Commentaire de romagny13 le 04/03/2007 14:06:51

Salut le pb de ton code c'est que c'est assez reutilisable tel quel, il vaudrait peut etre mieux creer des fonctions qui remplissent une tache et qui renvoient un resultat ainsi on peut tres facilement reprendre le code pour l'integrer dans un autre programme qui remplirait une tache similaire
++

Commentaire de Mimo24 le 04/03/2007 14:23:04

C'est vrai !! je pouvais créer une class, qui fait le boulot, et c'est ce que je vais faire, en ajoutant les autres types du crédits .... et biensur implémenter tout ça dans une interface  

Commentaire de romagny13 le 04/03/2007 14:26:29

oui
ou juste une fonction qui fait le calcul complet (donc il faut quelle recoive les parametres necessaire) , cette fonction effectuer le calcul (avec tous les tests) et retourne le resultat

imagine ainsi une personne qui aurait besoin de ce meme calcul il fait une recherche,tombe sur le code, et n'a plus qu'a le reutiliser !! merveilleux

++

Commentaire de Mimo24 le 04/03/2007 15:01:34

tout à fait d'accord avec toi !!! merci du conseil

Commentaire de sebmafate le 05/03/2007 09:25:34 administrateur CS

et puis... faire un zip de la source ;)

Commentaire de Bidou le 05/03/2007 11:04:48 administrateur CS

Après un rapide coup d'oeil:

Si on enlève les Console.WriteLine, il ne reste pas grand chose (un snippet aurait-il suffit?)
En plus:

- Ne pas utiliser Parse mais TryParse (plus besoin de bloc try-catch)
- String.Format au lieu de tout ces '+' !!!!!!!!!!!!
- Le stream 'fichier' n'est jamais fermé
- ok==false  => !ok
- _credit=float.Parse(Console.ReadLine().Replace(".",",").Trim()); keskeCkesa !? => System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator

Dans l'état, je ne pense psa que cette source restera, merci donc de bien vouloir la mettre à jour!

Commentaire de Mimo24 le 05/03/2007 12:31:56

Je suis d'accord avec Bidou pour le stream.......pour le reste ça reste juste un gout de programmation, mais merci quand même.
sebmafate voila le zip même en VB.NET l'interface et la classe si ça t'intéresse...

Commentaire de Bidou le 05/03/2007 13:22:20 administrateur CS

Un goût de programmation?
Tu plaisantes j'espère ^^ (le seul qui pourrait être un goût de programmation c'est le !ok)

Pour le reste, c'est des grosses à très grosses erreurs de programmation.
Corriges vite!

Merci.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

calcul automatique des nuits [ par borisV ] Bonjour,je dois faire un formulaire pour un hotel dans lequel on devrait inscrire son heure et date d'arrivée, son heure et date de départ, et on aura Simulation d'appui clavier [ par coban ] Bonjour, je tente de realiser un programme en C# permettant de simuler un appui sur une touche du clavier.Je c qu'il existe la fonction keybd_event, p Calcul en base quelconque [ par 12Player34 ] Bonjour, Je recherche un programme si possible sous VB6 permettant de calculer rapidement dans n'importe quelle base (ex: 3, 9, ...). J'en ai déjà cré probleme de console [ par gregomtl ] Dans mon programme, depuis un bouton nomme "Calcul" [dans form1.cs] je dois executer ce dit calcul depuis un programme console[dans le meme programme simulation clic souris [ par freestyler02 ] Quelqu'un serait comment simuler un clic de souris? J'arrive à déplacer le cursseur mais je ne trouve pas d'informations sur une commande managé pour Calcul financier (IRR) [ par g__ni ] Je n'arrive pas à utiliser la fonction Financial.IRR().Il me mets sans arrêt "les arguments ne sont pas valides".Quelqu'un peut-il m"expliquer comment Déploiement projet web [ par Kati83 ] Bonjour,J'ai développé une projet web en c# et asp.net, et j'ai des petits soucis concernant le déploiement.A vrai dire je suis même carrément perdue. simulation d'un console Hyperterminal [ par ka_mahjoub ] Salut,J'ai un problème pour simuler une interface Hyper terminal.Est ce par textbox multi line ou richtext ou .. ???Merci d'avance. progressbar en C# et bouton annule [ par BloP68 ] J'ai crée une form en C# où il y a une progressbar qui s'incrémente au fur et a mesure que mon calcul se fait.Et j'essaye de crée un bouton qui permet Permettre l'affichage lors de calculs [ par vangou_be ] Bonjour,J'effectue un calcul (30-60 sec) qui demande des resources.J'aimerais pouvoir afficher un message demandant à l'utilisateur d'attendre (un Lab


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales