#include <stdio.h>
#include <stdlib.h>
double time_to_sec(double x, double y, double z) ;
int main(void) {
double h, m, s;
printf("entrez une valeur entiere pour h m s: ");
scanf(" %lf':'%lf':'%lf ", &h, &m, &s);
double secondes = time_to_sec(h, m, s);
printf("La valeur en secondes pour %lf heures %lf minutes %lf secondes est %lf secondes \n", h, m, s, secondes);
return EXIT_SUCCESS;
}
double time_to_sec(double x, double y, double z){
double resultat ;
resultat = x * 3600 + y * 60 + z ;
return resultat;
}
Bonjour , j'ai un problème avec mon programme , il s'agit de demander à l'utilisateur d'écrire une heure minutes secondes sous la forme
12:05:42 par exemple avec les : , mais quand j'exécute mon programme , il ne prend en compte que les heures ( j'ai fais une fonction time to sec car c'est ce que l'on me demandait dans l'énoncé , j'ai bine conscience que j'aurais pu le faire sans ) et ne vous inquiétez pas je compte mettre que les heures ne peuvent pas dépasser 24 et les minutes et secondes 60 , merci pour l'aide d'avance , je début en C donc c'est un peu compliqué
J'ai bien enlevé les apostrophes , et mis des int partout , mais comment je pourrais me débrouiller pour que le scan f demande à l'utilisateur d'entrer une heure sous la forme 12:39:54 ?
#include <stdio.h>
#include <stdlib.h>
int time_to_sec(int x, int y, int z) ;
int main(void) {
int h, m, s;
printf("entrez une valeur entiere pour h m s: ");
scanf(" %d%d%d ", &h, &m, &s);
int secondes = time_to_sec(h, m, s);
printf("La valeur en secondes pour %d heures %d minutes %d secondes est %d secondes \n", h, m, s, secondes);
return EXIT_SUCCESS;
}
int time_to_sec(int x, int y, int z){
int resultat ;
resultat = x * 3600 + y * 60 + z ;
return resultat;
}
Voila ce que mon programme donne maintenant mais du coup il n'y a aucun deux points
- Edité par TheoVavasseur1 12 octobre 2021 à 12:41:28
L'inconvénient de scanf() c'est que la fonction attend une chaîne sous un format précis. Il vaut mieux faire comme le dit Rouloude et éventuellement utiliser fgets()
Problème de programme débutant en C
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Voila ce que mon programme donne maintenant mais du coup il n'y a aucun deux points