Écrire un programme comportant :
print_heure
qui imprimera le message :
Il est ... heure(s) ... minute(s) ... seconde(s)en respectant l'orthographe du singulier et du pluriel ;
set_heure
qui admettra trois paramètres
de type entiers h, m, s,
dont elle affectera les valeurs respectivement à heures, minutes et secondes ;
#include <stdio.h> int heures, minutes, secondes; /*****************************************************************************/ /* */ /* print_heure */ /* */ /* But: */ /* Imprime l'heure */ /* */ /* Interface: */ /* Utilise les variables globales heures, minutes, secondes */ /* */ /*****************************************************************************/ void print_heure(void) { printf("Il est %d heure",heures); if (heures > 1) printf("s"); printf(" %d minute",minutes); if (minutes > 1) printf("s"); printf(" %d seconde",secondes); if (secondes > 1) printf("s"); printf("\n"); } /*****************************************************************************/ /* */ /* set_heure */ /* */ /* But: */ /* Met l'heure à une certaine valeur */ /* */ /* Interface: */ /* h, m, s sont les valeurs à donner à heures, minutes, secondes */ /* */ /*****************************************************************************/ void set_heure(int h, int m, int s) { heures = h; minutes = m; secondes = s; } /*****************************************************************************/ /* */ /* tick */ /* */ /* But: */ /* Incrémente l'heure de une seconde */ /* */ /* Interface: */ /* Utilise les variables globales heures, minutes, secondes */ /* */ /*****************************************************************************/ void tick(void) { secondes = secondes + 1; if (secondes >= 60) { secondes = 0; minutes = minutes + 1; if (minutes >= 60) { minutes = 0; heures = heures + 1; if (heures >= 24) heures = 0; } } } /*****************************************************************************/ /* */ /* main */ /* */ /*****************************************************************************/ int main(void) { set_heure(3,32,10); tick(); print_heure(); set_heure(1,32,59); tick(); print_heure(); set_heure(3,59,59); tick(); print_heure(); set_heure(23,59,59); tick(); print_heure(); return(0); }