Tom's Guide > Forum > Programmation > Utilisation du for
Mot :    Pseudo :           
 

Salut la gang,

J'essaie de faire un programme simple mais j'arrive plus a me souvenir comment je pourrais faire.. Alors voici le sujet:

Chose a demander a l'utilisateur:
- Capital initial
- pourcentage annuel
- pendant combien d'année

Ce qui devrait etre affiché en sortie:
-L'année (\t) Le nouveau capital


J'ai pensé utiliser un for pour faire une boucle dépendament du nombre qu'entrera l'utilisateur en année mais quels calculs devrais-je mettre a l'intérieur du for? J'ai trouvé comment le faire manuellement mais je peux pas utiliser cette commande la dans une boucle sans compter que je peux pas réécrire le bout de code indéfiniment..

Voici ce que j'ai et qui fonctionne pour l'instant:

if(annee ==1){
capitalTotal = capital*(taux/100);
grandTotal = capitalTotal+capital;
System.out.print("Votre capital cera de: \nAnnée\tNouveau Capital\n1\t"+grandTotal+"$" );

tu n'as qu'a refaire le tout en ajoutant les 3 lignes pour la 2e année et ainsi de suite mais vous comprendrai que rendu a la 10e année, le code est rendu bcp trop long et que faire si l'utilisateur prend sur 30ans? ... lol

Tika, soyez aussi préci que possible dans vos réponse, je viens de commencer mes cours de programmation...

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Salut, je vois pas trop où est ton probleme...
tu fais une boucle for comme tu as dis :
for(i=0;i<nb_annee;i++)
{
/*le traitement*/
}
le traitement c'est plus de la programation, c'est de l'economie et la je peux pas t'aider.
(Mais apparement il s'agit de reprendre des valeurs calculées precedement, donc tu initialises capitalTotal à zeo avant la boucle, et tu l'ajoute à chaque nouveau calcul.)

Répondre à Anonyme

c'est que je veux pas qu'il fasse le traitement exactement pareil a chaque tour.. Si par exemple je veux qu'il m'affiche le capital final apres chaque année pour 6 ans a un taux de 4% avec un capital de départ de 100$, il doit calculer 4% de 100$ et l'ajouter au capital de départ, soit:
- 100$ + 4% = capital final pour la 1ere année
- capital final de la 1ere année + 4% = capital final de la 2e année
- capital final de la 2e année + 4% = capital final de la 3e année
- etc.. jusqu'a 6 fois dans ce cas ci..

ca doit afficher le résultat en 2 colonnes utilisant des tabulations pour bien enligner le tout et donner une réponse en dollars avec seulement 2 décimales

ex:

Année \t Nouveau Capital \n
1 \t 104$ \n
2 \t 108.16$ \n
3 \t 112.49$ ( et non 112.4864$ ) \n
etc...


Message édité par rubydragon le 05-11-2006 à 13:30:16
Répondre à rubydragon

Essaye un truc du genre :

double capital = 100;
double taux = 0.04;
int nbAnnees = 6;

for (int i = 1; i <= nbAnnees; i++) {
capital *= taux;

// Arrondi
capital *= 100;
capital = (int)(capital+0.5);
capital /= 100;

System.out.println(i+"\t"+capital+"$" );
}

J'ai pas essayé et ça peut être optimisé.
Par contre, ça utilise l'arrondi pour faire le calcul de l'année suivante...


Message édité par aik le 05-11-2006 à 16:39:07
Répondre à aik

ca ne fonctionne pas du tout..

Quel est le capital donné?: 100
À quel taux? (En pourcentage): 4
Sur une période de combien d'année?: 6
1 400$
2 1600$
3 6400$
4 25600$
5 102400$
6 409600$

Répondre à rubydragon

tu oublies de diviser ton taux par 100.

------------------------------ Réseau IRC Francophone | g33k-zone
Défiez-moi donc !
Répondre à crazycat@idn

rubydragon a écrit :

ca ne fonctionne pas du tout..



Déjà tu ne divises pas par 100 ton taux, comme ça a été dit.
En plus, j'ai fait une erreur à la ligne: capital *= taux;
c'est: capital *= 1+taux;

Et j'ai essayé:

1 104.0$
2 108.16$
3 112.49$
4 116.99$
5 121.67$
6 126.54$


Message édité par aik le 08-11-2006 à 12:57:08
Répondre à aik
Tom's Guide > Forum > Programmation > Utilisation du for
Aller à :

Il y a 340 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens