Nethacker rule televisions, rule minds | Bonjour,
On avait un exercice dans un examen en fin d'année, l'année dernière et je voulais à tout prix le résoudre, en fait il fallait entrer deux heures dans le format 00:00, l'une l'heure de départ d'un vol, et l'autre son heure d'arrivée, sachant que l'avion peut décoller tard la nuit avant minuit et arriver le matin ... bref j'ai fait un petit essai :
Code :
- #include <stdio.h>
- #include <stdlib.h>
- int duree(char *depart,char *arrivee)
- {
- int duree,mdep,marr;
- mdep = atoi(&depart[0])*60; // heures * 60
- mdep += atoi(&depart[3]); // + minutes
- marr = atoi(&arrivee[0])*60; // heures * 60
- marr += atoi(&arrivee[3]); // + minutes
- duree = marr - mdep; //différence
- return duree;
- }
- int main()
- {
- char depart[5],arrivee[5];
- int mduree;
- printf("Entrez l'heure de départ : \n" );
- scanf("%s",depart);
- printf("Entrez l'heure d'arrivée : \n" );
- scanf("%s",arrivee);
- mduree = duree(depart,arrivee);
- printf("Durée : %dh %dm \n",(mduree/60),mduree-((mduree/60)*60));
- return 0;
- }
|
le problème c'est que la fonction atoi ne marche pas dans la première fois où elle est appelée, &depart[0] comme argument, or ça marche bien dans les autres appels !
Merci d'avance pour vos éclaircissements ! |