Récupéré des chiffre après la virgule [Résolu]

minet03 415 Messages postés samedi 4 janvier 2003Date d'inscription 2 décembre 2005 Dernière intervention - 1 août 2004 à 14:30 - Dernière réponse : HCJarod 221 Messages postés mardi 12 août 2003Date d'inscription 11 décembre 2008 Dernière intervention
- 2 août 2004 à 11:27
Coucou,
je voudrais faire une division puis récupéré les chiffre après la virgule.
Enfin pour vous aider, je voudrais formater une heure en fonction d'un temps (en seconde) donnée.
si qqu peut m'aidé, merci d'avance !
Afficher la suite 

10 réponses

Répondre au sujet
Hades53 231 Messages postés mercredi 12 février 2003Date d'inscription 7 juillet 2009 Dernière intervention - 1 août 2004 à 16:19
+3
Utile
Tu peux essayer ça:

int t 0 , h 0, m = 0 ,s = 0;
printf("Bonjour, entrez une valeur: ");
scanf("%d",&t);

h = t/3600;
t %= 3600;
if (t) {
m = t/60;
t %= 60;
s = t;
}
printf("\nConversion: %d:%d:%d\n",h,m,s);
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Hades53
HCJarod 221 Messages postés mardi 12 août 2003Date d'inscription 11 décembre 2008 Dernière intervention - 1 août 2004 à 14:53
0
Utile
avec un cast:

double a=a-(int)a;

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
Commenter la réponse de HCJarod
Hades53 231 Messages postés mercredi 12 février 2003Date d'inscription 7 juillet 2009 Dernière intervention - 1 août 2004 à 15:08
0
Utile
float a = 74 , b = 23;
char buff[8] ,*c;
sprintf(buff,"%.4f",a/b);
c = buff;
while (*c && *c != '.') c++;
if (*++c) printf(":: %s\n",c);
Commenter la réponse de Hades53
HCJarod 221 Messages postés mardi 12 août 2003Date d'inscription 11 décembre 2008 Dernière intervention - 1 août 2004 à 15:14
0
Utile
c'est un peu l'usine à gaz ta fonction

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
Commenter la réponse de HCJarod
minet03 415 Messages postés samedi 4 janvier 2003Date d'inscription 2 décembre 2005 Dernière intervention - 1 août 2004 à 15:33
0
Utile
ok merci,
mais HCJarod ta fonction ne marche pas pour ce que je veu faire.
En fait dans mon prog, je rentre dans une variable un int qui donne un temps en seconde, et je veu le mettre en heure:minute:seconde
Donc si t'a une soluce !
Commenter la réponse de minet03
cs_AlexMAN 1537 Messages postés samedi 21 décembre 2002Date d'inscription 24 mai 2009 Dernière intervention - 1 août 2004 à 16:01
0
Utile
int nbre_min, nbre_sec, nbre_hour;

nbre_min = nbre_sec / 60;
nbre_sec %= 60;
nbre_hour = nbre_min / 60;
nbre_min %= 60;
sprintf(buf, "%2d:%2d:%2d", nbre_hour, nbre_min, nbre_sec);
MessageBox(NULL, buf, NULL, 0);

Voila, tu peux bien sur tout compacter pour ke ca rentre ds le sprintf, mais c pa bo.

++
Commenter la réponse de cs_AlexMAN
Hades53 231 Messages postés mercredi 12 février 2003Date d'inscription 7 juillet 2009 Dernière intervention - 1 août 2004 à 16:21
0
Utile
Arf, je suis à la bourre, apparement AlexMAN avait déjà donné la solution..
Commenter la réponse de Hades53
minet03 415 Messages postés samedi 4 janvier 2003Date d'inscription 2 décembre 2005 Dernière intervention - 1 août 2004 à 18:23
0
Utile
ades53, à quoi ça sert le "%" dans la ligne t %= 60 ??
Commenter la réponse de minet03
Hades53 231 Messages postés mercredi 12 février 2003Date d'inscription 7 juillet 2009 Dernière intervention - 1 août 2004 à 19:04
0
Utile
% est l'opérateur qui sert à obtenir le reste d'un division

ex: 32 % 30 => 2
t %60 revient au même que t t % 60
Commenter la réponse de Hades53
HCJarod 221 Messages postés mardi 12 août 2003Date d'inscription 11 décembre 2008 Dernière intervention - 2 août 2004 à 11:27
0
Utile
oui ça s'appelle la division modulo

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
Commenter la réponse de HCJarod

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.