Division entiere et modulo pour trouver temps

Résolu
Maxianos Messages postés 55 Statut Membre -  
Maxianos Messages postés 55 Statut Membre -
Bonjour, je vous explique mon probleme..

Je sais qu'il y a deja bcp de question sur ce sujet, mais pas exactement sur mon probleme.

Alors, j'ai des formules pour calculer le temps qu'un projectile lancé a une vitesse (V) et parcourant uen distance (D) passera dans les airs... Pour ca pas de probleme et cette formule me donne le temps en seconde..

Or, je dois afficher a la fin de mon programme le temps sous cette forme : Année, mois, jour, heure, minute, seconde.
Comme si la reponse de ma formule me donnais 3672 secones, je devrais obtenir :
0 années, 0 mois, 0 jour, 1 heure, 1 minute et 12 secondes...

Merci pour votre aide...
Je programme en C++ si sa peux vous aider, mais pour l'instant je ne dois faire que l'analyse, et non la programmation complete...
Configuration: Windows Vista
Internet Explorer 7.0

4 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Salut,
    Je te conseille d'utiliser un tableau puisqu'il s'agit un problème de retenu.
    Un tableau de 6 cases fera l'affaire (secondes, minutes, heures, jours, mois années).
    Ensuite, soit X le nombre en secondes.
    Tu fais une boucle sur chacun des indices du tableau, en commençant par les secondes.
    tableau[i] <- X mod NB
    X <- X div NB
    i <- i + 1

    NB vaut 60 pour les secondes, minutes, mais 24 pour les heures, etc. (Tu peux encore utiliser un autre tableau pour plus d'élégance).
    Et ensuite t'affiches le tableau ;)
    Je te laisse réfléchir dessus. Je pense que tu as suffisamment d'informations pour réussir l'algorithme ;)
    Cdlt
    0
  2. Maxianos Messages postés 55 Statut Membre 3
     
    Ouais ok, mais j'suis pas rendu tres loin en programmation et le professeur nous a dit qu'on devais faire ca qu'avec ce qu'on avait vu dans le cours (et on a pas vu grand chose a part les operations elementaire et quelques code)..

    Il nous a donc dit : Pour faire ce calcul vous devez utiliser la division entière et le
    modulo à répétition sur le temps total qui est calculé en secondes. Vous
    n'avez pas besoin d'itération pour y parvenir.

    C'est seulement que je ne sais pas comment transofrmé la réponse de seconde au format mentionné plus haut..
    0
  3. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Salut,
    Ben, tu fais ce que je t'ai dit sans itérations et sans tableaux.

    Tu as X en secondes.
    secondes <- X mod 60
    X <- X div 60
    minute <- X mod 60
    X <- X div 60
    etc etc.
    ;)
    0
  4. Maxianos Messages postés 55 Statut Membre 3
     
    Ok, merci. Ca devrais marcher...
    0