Problème dans mon programme
SageApprentit
Messages postés
197
Statut
Membre
-
Nobody -
Nobody -
Bonjour, je voudrais une fois mon programme compilé qu'il m'affiche l'heure, les minutes et les secondes voici mon code source car sa ne marche pas, aidez moi svp.
#include <stdio.h>
#include <stdlib.h>
void decoupeSeconde(long* pointeurHeures, long* pointeurMinutes, long* pointeurSecondes);
int main(int argc, char *argv[])
{
long heures = 0, minutes = 0, secondes = 0;
printf("Entrez des secondes pour que le programme traduisent ce-ci en heures et minutes et en secondes :\n\n\n");
scanf("%ld", &secondes);
decoupeSeconde(&heures, &minutes, &secondes);// On envoie l'adresse de heures et minutes et des secondes
// Cette fois, les valeurs ont été modifiées !
printf("%ld heures et %ld minutes et %ld secondes\n\n\n", heures, minutes, secondes);
system("PAUSE");
return 0;
}
void decoupeSeconde(long* pointeurHeures, long* pointeurMinutes, long* pointeurSecondes)
{
/* Attention à ne pas oublier de mettre une étoile devant le nom
des pointeurs ! Comme ça, vous pouvez modifier la valeur des variables,
et non leur adresse ! Vous ne voudriez pas diviser des adresses
n'est-ce pas ? ;o) */
*pointeurHeures = *pointeurMinutes/ 60;
*pointeurMinutes = *pointeurSecondes % 60;
*pointeurSecondes = *pointeurSecondes % 60;
}
#include <stdio.h>
#include <stdlib.h>
void decoupeSeconde(long* pointeurHeures, long* pointeurMinutes, long* pointeurSecondes);
int main(int argc, char *argv[])
{
long heures = 0, minutes = 0, secondes = 0;
printf("Entrez des secondes pour que le programme traduisent ce-ci en heures et minutes et en secondes :\n\n\n");
scanf("%ld", &secondes);
decoupeSeconde(&heures, &minutes, &secondes);// On envoie l'adresse de heures et minutes et des secondes
// Cette fois, les valeurs ont été modifiées !
printf("%ld heures et %ld minutes et %ld secondes\n\n\n", heures, minutes, secondes);
system("PAUSE");
return 0;
}
void decoupeSeconde(long* pointeurHeures, long* pointeurMinutes, long* pointeurSecondes)
{
/* Attention à ne pas oublier de mettre une étoile devant le nom
des pointeurs ! Comme ça, vous pouvez modifier la valeur des variables,
et non leur adresse ! Vous ne voudriez pas diviser des adresses
n'est-ce pas ? ;o) */
*pointeurHeures = *pointeurMinutes/ 60;
*pointeurMinutes = *pointeurSecondes % 60;
*pointeurSecondes = *pointeurSecondes % 60;
}
A voir également:
- Problème dans mon programme
- Programme demarrage windows - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Programme word gratuit - Guide
- Message programmé iphone - Guide
- Mettre en veille un programme - Guide
6 réponses
#include <stdio.h>
#include <stdlib.h>
void decoupeSeconde(long* pointeurHeures, long* pointeurMinutes, long* pointeurSecondes);
int main(int argc, char *argv[])
{
long heures = 0, minutes = 0, secondes = 0;
printf("Entrez des secondes pour que le programme traduisent ce-ci en heures et minutes et en secondes :\n\n\n");
scanf("%ld", &secondes);
decoupeSeconde(&heures, &minutes, &secondes);// On envoie l'adresse de heures et minutes et des secondes
// Cette fois, les valeurs ont été modifiées !
printf("%ld heures et %ld minutes et %ld secondes\n\n\n", heures, minutes, secondes);
system("PAUSE");
return 0;
}
void decoupeSeconde(long* pointeurHeures, long* pointeurMinutes, long* pointeurSecondes)
{
/* Attention à ne pas oublier de mettre une étoile devant le nom
des pointeurs ! Comme ça, vous pouvez modifier la valeur des variables,
et non leur adresse ! Vous ne voudriez pas diviser des adresses
n'est-ce pas ? ;o) */
*pointeurHeures = (*pointeurSecondes - *pointeurSecondes % 3600) / 3600;
*pointeurMinutes = (*pointeurSecondes - *pointeurHeures * 3600 - *pointeurSecondes % 60) / 60;
*pointeurSecondes = *pointeurSecondes - *pointeurHeures * 3600 - *pointeurMinutes *60;
}
#include <stdlib.h>
void decoupeSeconde(long* pointeurHeures, long* pointeurMinutes, long* pointeurSecondes);
int main(int argc, char *argv[])
{
long heures = 0, minutes = 0, secondes = 0;
printf("Entrez des secondes pour que le programme traduisent ce-ci en heures et minutes et en secondes :\n\n\n");
scanf("%ld", &secondes);
decoupeSeconde(&heures, &minutes, &secondes);// On envoie l'adresse de heures et minutes et des secondes
// Cette fois, les valeurs ont été modifiées !
printf("%ld heures et %ld minutes et %ld secondes\n\n\n", heures, minutes, secondes);
system("PAUSE");
return 0;
}
void decoupeSeconde(long* pointeurHeures, long* pointeurMinutes, long* pointeurSecondes)
{
/* Attention à ne pas oublier de mettre une étoile devant le nom
des pointeurs ! Comme ça, vous pouvez modifier la valeur des variables,
et non leur adresse ! Vous ne voudriez pas diviser des adresses
n'est-ce pas ? ;o) */
*pointeurHeures = (*pointeurSecondes - *pointeurSecondes % 3600) / 3600;
*pointeurMinutes = (*pointeurSecondes - *pointeurHeures * 3600 - *pointeurSecondes % 60) / 60;
*pointeurSecondes = *pointeurSecondes - *pointeurHeures * 3600 - *pointeurMinutes *60;
}
Moi, ton progarmme me donne :
Entrez des secondes pour que le programme traduisent ce-ci en heures et minutes et en secondes :
3600
0 heures et 0 minutes et 0 secondes
Dans ton programme d'origine :
- *pointeurMinutes est initialisé à 0 -> *pointeurHeures = *pointeursMinutes/60 sera toujours == 0
- % -> reste de la division et donc *pointeursSecondes % 60 donne le nombre de secondes qui reste après avoir décompter les minutes entières.
Entrez des secondes pour que le programme traduisent ce-ci en heures et minutes et en secondes :
3600
0 heures et 0 minutes et 0 secondes
Dans ton programme d'origine :
- *pointeurMinutes est initialisé à 0 -> *pointeurHeures = *pointeursMinutes/60 sera toujours == 0
- % -> reste de la division et donc *pointeursSecondes % 60 donne le nombre de secondes qui reste après avoir décompter les minutes entières.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question