Affichage heure

Bonjour, je ne comprends pas pourquoi mon code ne marche pas avec de grand nombre. Il sert calculer en jour, heure, minutes, seconde, le nombre de seconde qu'on a rentré. Pour les petites valeurs, le résultat est juste mais pour de grande valeur, les heures et minutes sont fausses. J'ai fait ceci :

#include <iostream>

using namespace std;

int main()
{

    int nbTotalSecondes, nbTotalMinutes, nbTotalHeures, nbTotalJours;
    int nbSecondes, nbMinutes, nbHeures, nbJours;

    cin >> nbTotalSecondes;


   nbTotalMinutes = nbTotalSecondes / 60;
   nbMinutes = nbTotalMinutes % 60;

   nbTotalHeures = nbTotalMinutes / 60;
   nbHeures = nbTotalHeures % 60;

   nbTotalJours = nbTotalHeures / 24;
   nbJours = nbTotalJours % 24;

   nbSecondes = nbTotalSecondes % 60;

cout << nbTotalJours << " jours, ";
cout << nbTotalHeures << " heures, ";
cout << nbTotalMinutes << " minutes et ";
cout << nbSecondes << " secondes";


    return 0;
}


Merci bien

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut KX, décidement :D

    Merci beaucoup, je progresse de jour en jour avec de ton aide :)
    1. Modérateur
      Dans ton affichage tu dois faire :

      cout << nbTotalJours << " jours, ";
      cout << nbHeures << " heures, ";
      cout << nbMinutes << " minutes et ";
      cout << nbSecondes << " secondes" << endl;

      Mais avant tu dois corriger cette erreur de calcul :
      nbHeures = nbTotalHeures % 24;

      Remarque : nbJours est inutile