Calculer la moyen en heur
Résolu
Potame137
Messages postés
32
Date d'inscription
Statut
Membre
Dernière intervention
-
Potame137 Messages postés 32 Date d'inscription Statut Membre Dernière intervention -
Potame137 Messages postés 32 Date d'inscription Statut Membre Dernière intervention -
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. |
A voir également:
- Calculer heur
- Comment calculer la moyenne sur excel - Guide
- Comment calculer un total sur excel - Guide
- Comment calculer une note sur 20 ✓ - Forum Bureautique
- Comment calculer le prix au litre d'une bouteille de 75cl ✓ - Forum Excel
- Clémence souhaite faire calculer automatiquement les prix de 30 produits dans trois devises. elle a déjà saisi une formule de calcul pour le tarif du premier produit dans la première devise. corrigez sa formule afin que recopiée vers le bas puis vers la droite, elle remplisse correctement tout le tableau. - Forum Excel
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 :
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
Potame137
Messages postés
32
Date d'inscription
Statut
Membre
Dernière intervention
d'accord je vais essayer merci !
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 ?
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 multiplication
int 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 !
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
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