![]()
Exercice ![]()
![]()
![]()
![]()
![]()
Suivant: Récréation Début: Les bases Précédent: Mise en uvre du
Exercice
Écrire un programme comportant :
Une solution possible est donnée ci-après.
- 1.
- la déclaration de 3 variables globales entières heures, minutes, secondes ;
- 2.
- une procédure
print_heure
qui imprimera le message :Il est ... heure(s) ... minute(s) ... seconde(s)en respectant l'orthographe du singulier et du pluriel ;- 3.
- une procédure
set_heure
qui admettra trois paramètres de type entiers h, m, s, dont elle affectera les valeurs respectivement à heures, minutes et secondes ;- 4.
- une procédure tick qui incrémentera l'heure de une seconde ;
- 5.
- la procédure main sera un jeu d'essai des procédures précédentes ;
#include <stdio.h> int heures, minutes, secondes; /*****************************************************************************/ /* */ /* print_heure */ /* */ /* But: */ /* Imprime l'heure */ /* */ /* Interface: */ /* Utilise les variables globales heures, minutes, secondes */ /* */ /*****************************************************************************/ void print_heure() { 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() { 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() { 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(); }
30/9/1997