Bonjour, alors je voulais coder un programme avec des sous programmes qui calcule l'écart entre heure de début et heure de la fin en se servant de sous programme. Sauf que voilà je ne sais pas pourquoi il ne calcule pas correctement l'écart. Et aussi quand j'e=écris une heure de début supérieure à l'heure de la fin il m'affiche un message d'erreur (que j'ai codé) mais il me calcule tout de même après l'écart et bien sûr le calcul est faux.
voilà le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <stdio.h>
#include <stdlib.h>
 
int calculminute (int* m1, int* m2)
{
    int minutes, heures;
    if (*m1<*m2)
        minutes=*m2-*m1;
        else minutes=(60-*m1)+*m2;
        return minutes;
}
 
    int calculheure (int* h1, int* h2,int* m1, int* m2)
    {
        int heures;
        if (*m1<*m2)
        heures=*h2-*h1;
        else
        heures=(*h2-*h1)-1;
        return heures;
    }
 
int main()
{
 int min1, min2, heu1,heu2, heure, minute;
 printf("entrez heure de debut\n")   ;
 scanf("%d", &heu1);
 printf("\nentrez minute de debut");
 scanf("%d", &min1);
 printf("\nentrez heure de fin\n");
 scanf("%d", &heu2);
 printf("\nentrez minute de fin\n");
 scanf("%d", &min2);
 if (heu1>heu2)
 printf("Lheure de la fin doit etre superierure a lheure du debut");
 else
 {
 minute=calculminute(&min1,&min2);
 heure=calculheure(&min1,&min2,&heu1,&heu2);
 }
 printf("l'ecart entre heure de debut et heure de fin est de %d heure et %d minutes", heure, minute);
 return 0;
}
bien évidemment j'en mets des pointeurs partout, mais c'est parce que je ne comprends encore pas ce chapitre donc j'essaie de comprendre leur utilité et comment ils fonctionnement à fur et à mesure des exo.
Merci