Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void navigation_calendrier(int *jour, int *mois, int *annee)
- {
- // Définir la variables de navigation de mois et année.
- int nav_mois = *mois;
- int nav_annee = *annee;
- // Créer une variable pour enregistrer la saisie du clavier.
- int c_touche = 0;
- // Effectuer la boucle suivante jusqu'à ce que la touche ESCAPE est appuyé.
- do
- {
- // Afficher une demande d'instructions de navigation sous le calendrier.
- gotoxy(0, 20);
- printf("\nAppuyez les fleches GAUCHE/DROITE pour voir les mois precedents/suivants");
- printf("\nou appuyer sur l'ESPACE pour saisir une autre date.");
- // Cette boucle vide se brise lorsqu'une touche du clavier est appuyée.
- while (!_kbhit()) {};
- // La variable c_touche enregistre la première valeur du clavier.
- c_touche = _getch();
- // Si le code de touche étendu est détectée...
- if (c_touche == 0 || c_touche == 224)
- {
- // Lire le deuxième code.
- c_touche = _getch();
- // Selon le deuxième code lu...
- switch (c_touche)
- {
- // Code GAUCHE (75): Naviguer le calendrier vers la gauche.
- case GAUCHE:
- --nav_mois;
- // Si on dépasse janvier...
- if (nav_mois < JAN)
- {
- // Revenir au décembre de l'annéee précédente.
- --nav_annee;
- nav_mois = DEC;
- }
- break;
- // Code DROITE (77): Naviguer le calendrier vers la droite.
- case DROITE:
- ++nav_mois;
- // So on dépasse décembre...
- if (nav_mois > DEC)
- {
- // Passer au janvier de l'année suivante.
- ++nav_annee;
- nav_mois = JAN;
- }
- break;
- }
- }
- // Réafficher l'en-tête avec les valeurs de navigation.
- afficher_en_tete(nav_mois, nav_annee);
- // Si la navigation retombe sur la date demandée...
- if (nav_annee == *annee && nav_mois == *mois)
- {
- // Envoyer le jour demandé dans les paramètres d'affichage.
- // Ceci affichera la date demandé en rouge.
- afficher_calendrier(*jour, *mois, *annee);
- }
- // Sinon, afficher le calendrier du mois et année de navigation.
- else
- {
- afficher_calendrier(0, nav_mois, nav_annee);
- }
- } while (c_touche != ESCAPE);
- system("cls");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement