Conversion de secondes en jours, heures, minutes, secondes

Soyez le premier à donner votre avis sur cette source.

Vue 13 224 fois - Téléchargée 294 fois

Description

(codé en cours)
c'est un programme tout bete, qui vous demande un nombre de secondes, et qui va le convertir en nombre de jours, heures, minutes, et secondes.

PS: vu que ce prog a été codé en cours, il est largement commenté et relativement clair, donc je pense que vous n'aurez pas de mal a le comprendre.

le fichier source est ds le zip si vous avez des pbs

Source / Exemple :


#include <stdio.h>

int main(void){
	int n,		/* n : durée donnée en secondes */
	    r,		/* r : le reste du modulo */
	    a;		/* a : la quantité de jours, heures, minutes ou secondes */

	printf("Donnez une durée en secondes : ");
	scanf("%d", &n);	/* la durée en seconde est entrée */
	
	if (n>0){
	
	printf("Cette durée correspond à :\n");
	
	
	
	/* 1 jour = 24*60*60 = 86400 secondes */
	
	r=n%86400;		/* on calcul le reste */
	a=(n-r)/86400;
	if (a != 0){
		if (a==1)
			printf("%d jour\n", a);
		else
			printf("%d jours\n", a);
		}
	

	n=r;			/* on ne retient que les secondes restantes */
	r=n%3600;		/* on calcul le reste */
	a=(n-r)/3600;
	if (a != 0){
		if (a==1)
			printf("%d heure\n", a);
		else
			printf("%d heures\n", a);
		}
		
	
	n=r;		/* on ne retient que les secondes restantes */
	r=n%60;		/* on calcul le reste */
	a=(n-r)/60;
	if (a != 0){
		if (a==1)
			printf("%d minute\n", a);
		else
			printf("%d minutes\n", a);
		}

	/* r contient le reste des secondes */
	
	a=r;		/* on donne le reste des secondes */
	if (a != 0){
		if (a==1)
			printf("%d seconde\n", a);
		else
			printf("%d secondes\n", a);
		}
	}
	else
	printf("erreur : nombre négatif !!!!!\n");
	
	return 0;
}

Conclusion :


by Kortal (coder@kortal.cjb.net)
[ http://kortal.cjb.net ]

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

nebgizer
Messages postés
8
Date d'inscription
dimanche 8 décembre 2002
Statut
Membre
Dernière intervention
26 juin 2003
-
pourquoi se compliquer la vie??????

sec = totalsec % 60;
totalmin = totalsec / 60;
min = totalmin % 60;
heure = totalmin / 60;

printf("%i heures, %i minutes , %i secondes",heure,min,sec);

et pour les jours.... je te laisse deviner...
cs_kortal
Messages postés
39
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
23 février 2003
-
oui, je te le demande !
en fait c'est parce que c'etait demandé comme ca en cours tout simplement...
comme quoi, les voies de la sagesses sont impénétrables...
nebgizer
Messages postés
8
Date d'inscription
dimanche 8 décembre 2002
Statut
Membre
Dernière intervention
26 juin 2003
-
lol :D
cs_reckahomis1
Messages postés
1
Date d'inscription
mercredi 27 décembre 2006
Statut
Membre
Dernière intervention
8 octobre 2007
-
salut nebgizer
ca se que j'ai fait, la meme idée de faire
sec = totalsec % 60;
totalmin = totalsec / 60;
min = totalmin % 60;
heure = totalmin / 60;
printf("%i heures, %i minutes , %i secondes",heure,min,sec);

mais j'arrive pa à le compiler car je trouv des erreurs
tu px me donné la methode complete ?
Une autre méthode simple :
#include<stdio.h>
main()
{
int n,r,a;
printf("Entrez le temps en secondes");
scanf("%d",&n);
r=n%3600;
a=(n-r)/3600;
if(a>=1)
printf("%d Heure",a);
else printf("%d",a);
n=r;
r=n%60;
a=(n-r)/60;
if(a>=1)printf("%d Minutes",a);
else printf("%d Minutes",a);
a=r;
if (a>=0)
printf("%d secondes",a);
else printf("%d secondes",a);

}

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.