Calculer la moyen en heur
Résolu
Potame137
Messages postés
36
Statut
Membre
-
Potame137 Messages postés 36 Statut Membre -
Potame137 Messages postés 36 Statut Membre -
Bonjour je début en Java et j'aimerais crée un programme qui peux calculer et fair des moyen en heur !
le probléme c'est que si je rentre des valeur comme 5h30 rien ne marche le programme marche bien si je rentre des chiffre comme 10 , 9 , 95684 etc.
le probléme c'est que si je rentre des valeur comme 5h30 rien ne marche le programme marche bien si je rentre des chiffre comme 10 , 9 , 95684 etc.
package test;
public class Calcule_Bancaire
{public static void main (String[]args)
{int N;
int[]tab;
int i;
int max;
int min;
int compt;
int total;
System.out.print("Combient de relevés voulez vous calculer ? : ");
N=Lire.i();
tab=new int[N];
System.out.println(" ");
for(i=0;i<N;i++)
{System.out.print("Donner l'heur numero "+(i+1)+" : ");
tab[i]=Lire.i();}
max=tab[0];
for(i=1;i<N;i++)
{if(tab[i]>max) max=tab[i];}
System.out.println("L'heur la plus haute est : "+max);
min=tab[0];
for(i=1;i>N;i--)
{if(tab[i]>min) min=tab[i];}
System.out.println("L'heur la plus base est : "+min);
compt=0;
for(i=0;i<N;i++) {if(tab[i]==max) compt=compt+1;}
System.out.println(" ");
total =0 ;
for(i=0;i<N;i++) {total=total+tab[i];}
System.out.println("La moyenne vaut : "+(total*1.0)/N);
}
}
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
3 réponses
-
Bonjour,
Dans ton programme tu ne saisis que des heures mais il faudrait aussi saisir les minutes.
Le plus simple serait de faire tous tes calculs en minutes :
Exemple :
System.out.print("Donner l'heure numero "+(i+1)+" : "); int heure = Lire.i(); // 5 System.out.print("Donner la minute numero "+(i+1)+" : "); int minute = Lire.i(); // 30 tab[i] = 60 * heure + minute; // 330 -
Bonjour mon programme prend en compte les heures et les minute mais je me retrouve avec des resulta comme 11.75 comment faire pour avoir des resulta simple comme 11h50 ?
package test; public class Calcule_Bancaire {public static void main (String[]args) {int N; int[]tab; int i; int max; int min; int compt; int total; System.out.print("Combient de relevés voulez vous calculer ? : "); N=Lire.i(); tab=new int[N]; System.out.println(" "); for(i=0;i<N;i++) {System.out.print("Donner l'heure numero "+(i+1)+" : "); int heure=Lire.i(); System.out.print("Donner la minute numero "+(i+1)+" : "); int minute = Lire.i(); int resulta = heure + minute / 60; tab[i] = resulta; } max=tab[0]; for(i=1;i<N;i++) {if(tab[i]>max) max=tab[i];} System.out.println("L'heur la plus haute est : "+max); min=tab[0]; for(i=1;i>N;i--) {if(tab[i]>min) min=tab[i];} System.out.println("L'heur la plus base est : "+min); compt=0; for(i=0;i<N;i++) {if(tab[i]==max) compt=compt+1;} System.out.println(" "); total =0 ; for(i=0;i<N;i++) {total=total+tab[i];} System.out.println("La moyenne vaut : "+(total*1.0)/N); } }-
-
-
-
Apret modification je me retrouve avec des resulta comme :
Combient de relevés voulez vous calculer ? : 4
Donner l'heure numero 1 : 10
Donner la minute numero 1 : 30
Donner l'heure numero 2 : 11
Donner la minute numero 2 : 15
Donner l'heure numero 3 : 12
Donner la minute numero 3 : 35
Donner l'heure numero 4 : 16
Donner la minute numero 4 : 20
L'heur la plus haute est : 40
L'heur la plus base est : 36
La moyenne vaut : 29.75
je ne trouve pas comment prendre en compte les minute (60) dans le resulta cela viendrais t'il du faite que j utilise un tableau a une dimension ?
public class Calcule_Bancaire
</code>
{public static void main (String[]args)
{int N;
int[]tab;
int i;
int max;
int min;
int compt;
int total;
<code> System.out.print("Combient de relevés voulez vous calculer ? : ");
N=Lire.i();
tab=new int[N];
System.out.println(" ");
for(i=0;i<N;i++)
{System.out.print("Donner l'heure numero "+(i+1)+" : ");
int heure=Lire.i();
System.out.print("Donner la minute numero "+(i+1)+" : ");
int minute = Lire.i();
int resulta = 60 / heure + minute ;
tab[i] = resulta;
}
max=tab[0];
for(i=1;i<N;i++)
{if(tab[i]>max) max=tab[i];}
System.out.println("L'heur la plus haute est : "+max );
min=tab[0];
for(i=1;i>N;i--)
{if(tab[i]>min) min=tab[i];}
System.out.println("L'heur la plus base est : "+min);
compt=0;
for(i=0;i<N;i++) {if(tab[i]==max) compt=compt+1;}
System.out.println(" ");
total =0 ;
for(i=0;i<N;i++) {total=total+tab[i];}
System.out.println("La moyenne vaut : " +(total*1.0)/N);
}
} -
int resulta = 60 / heure + minute ;
c'est faux, je n'avais pas compris où tu le mettais.
Si tu comptes en minutes, il faut faire une multiplicationint resulta = 60 * heure + minute ;
et tous
Le calcul qu'il faut inverser c'est entre tes résultats en minutes et tes affichage en heures, mais le tableau est hors de cause.
-
-
je pense avoir trouver, merci je penser pas que saiter un calculer aussi simple..! j ai chercher compliquer alors que saiter aussi simple merci !
package test;
public class Calcule_Bancaire
{public static void main (String[]args)
{int N;
int[]tab;
int i;
int max;
int min;
int compt;
int total;
{
System.out.print("Combient de relevés voulez vous calculer ? : ");
N=Lire.i();
tab=new int[N];
System.out.println(" ");
for(i=0;i<N;i++)
{System.out.print("Donner l'heure numero "+(i+1)+" : ");
int heure=Lire.i();
System.out.print("Donner la minute numero "+(i+1)+" : ");
int minute = Lire.i();
int resulta = 60 * heure + minute ;
tab[i] = resulta;
}
System.out.println(" ");
max=tab[0];
for(i=1;i<N;i++)
{if(tab[i]>max) max=tab[i];}
System.out.println("L'heur la plus haute est : "+max /60 );
min=tab[0];
for(i=1;i>N;i--)
{if(tab[i]>min) min=tab[i];}
System.out.println("L'heur la plus base est : "+min / 60);
compt=0;
for(i=0;i<N;i++) {if(tab[i]==max) compt=compt+1;}
System.out.println(" ");
total =0 ;
for(i=0;i<N;i++) {total=total+tab[i];}
System.out.println("La moyenne vaut : " +total/N);
int heuretotal = total/60 / N;
int minutetotal = total%60;
System.out.println("les moyenne d'affluence est de : "+heuretotal+ "h"+ minutetotal / N);
System.out.print("Voulez vous faire d'autre relevez ?O/N");
}
System.out.print("Fin programme");
}
}
Combient de relevés voulez vous calculer ? : 4
Donner l'heure numero 1 : 8
Donner la minute numero 1 : 30
Donner l'heure numero 2 : 10
Donner la minute numero 2 : 15
Donner l'heure numero 3 : 12
Donner la minute numero 3 : 10
Donner l'heure numero 4 : 16
Donner la minute numero 4 : 45
L'heur la plus haute est : 16
L'heur la plus base est : 8
La moyenne vaut : 715
les moyenne d'affluence est de : 11h10