Vaccation (avec fonctions) consolerie vcpp6

Contenu du snippet

Ce programme me sert en quelque sorte d'emploi du temps,
En effet je ne travail pas comme tout le monde, c-a-d 5 jours ouvrables
+ 1 week-end, je bosse en cycle de 8 vaccations:
1° Vaccation----> 1° Nuit
2° Vaccation----> 1° Descente de nuit
3° Vaccation----> 1° Journee
4° Vaccation----> 2° Nuit
5° Vaccation----> 2° Descente de nuit
6° Vaccation----> 2° Journee
7° Vaccation----> 1° Repos
8° Vaccation----> 2° Repos

A noté qu'il n'y a pas de controle pour les jours c-a-d ke le 30 Fevrier,
ou encore le 42 Decembre existe pour le prog !!!!
Des ke j'aurais 5 minutes je modifierai ce petit bug

Source / Exemple :


/* Ce programme me sert en quelque sorte d'emploi du temps,
En effet je ne travail pas comme tout le monde, c-a-d 5 jours ouvrables
+ 1 week-end, je bosse en cycle de 8 vaccations:
1° Vaccation----> 1° Nuit
2° Vaccation----> 1° Descente de nuit
3° Vaccation----> 1° Journee
4° Vaccation----> 2° Nuit
5° Vaccation----> 2° Descente de nuit
6° Vaccation----> 2° Journee
7° Vaccation----> 1° Repos
8° Vaccation----> 2° Repos

  • /
#include <iostream.h> #include <stdio.h> #include <sys\\timeb.h> /* Declaration des Variables */ int JourSaisie; int MoisSaisie; int AnneeSaisie; int Fevrier; int MaxJours; int Annee2000 = 2000; int EcartAnnees; int AnneesBissextiles; int EcartJoursAnnees; int TotalJoursMois; int NombreDeJours; int Vaccation; long i; /* Declaration des Fonctions */ int ControlJour(); int AnneeBissextile (); int Annees (); int NombreAnneeBissextile (); int NombreJoursAnnees (); int NombresJourAnneeSaisie (); int TotalJours (); int NomVaccation (); int Attente (); main () { // On commence par la saisie de la Date printf(" Entrez une date au format 18/05/1976: "); scanf(" %d / %d / %d", &JourSaisie, &MoisSaisie, &AnneeSaisie); // Execution des fonctions les unes après les autres AnneeBissextile (); Annees(); NombreAnneeBissextile (); ControlJour(); NombreJoursAnnees (); NombresJourAnneeSaisie (); TotalJours (); NomVaccation (); Attente (); return 0; } ControlJour() { switch (MoisSaisie) { case 1: MaxJours = 31;break; case 2: MaxJours = Fevrier;break; case 3: MaxJours = 31;break; case 4: MaxJours = 30;break; case 5: MaxJours = 31;break; case 6: MaxJours = 30;break; case 7: MaxJours = 31;break; case 8: MaxJours = 31;break; case 9: MaxJours = 30;break; case 10: MaxJours = 31;break; case 11: MaxJours = 30;break; case 12: MaxJours = 31;break; default: printf("Vous vous etes plantes lors de la saisie du mois !!!\\n");break; } if (JourSaisie <1 || JourSaisie> MaxJours) printf ("\\n\\n ----> Erreur dans la saisie du Jour de la date !!!"); return MaxJours; } // Calcul le nombre d'annee par rapport à la Date de référence // qui n'est autre que le 01/01/2000 qui est elle même 1 année // bissextile (d'ou le -1) Annees () { EcartAnnees= AnneeSaisie-Annee2000-1; return EcartAnnees; } // Calcul du nombre d'annees bissextile entre l'annee saisie et // l'annee 2000 NombreAnneeBissextile () { AnneesBissextiles= (EcartAnnees / 4); return AnneesBissextiles; } // Ici on calcul le nombre de jour entre les annees NombreJoursAnnees () { EcartJoursAnnees= (AnneesBissextiles* 366) + ((EcartAnnees-AnneesBissextiles)*365); return EcartJoursAnnees; } // La fonction suivante détermine si l'annee est bissextile // si c'est le cas le mois de Fevrier vaudra 29 jours // autrement il vaudra 28 jours AnneeBissextile () { if ((AnneeSaisie % 4 ) == 0) {Fevrier= 29; printf(" annee bissextille");} else {Fevrier= 28;} return Fevrier; } // Là on détermine le nombre de jours entre le 1° du mois // et le 01/01/2000 NombresJourAnneeSaisie () { switch (MoisSaisie) { case 1: TotalJoursMois = 0;break; case 2: TotalJoursMois = 31;break; case 3: TotalJoursMois = 31+Fevrier;break; case 4: TotalJoursMois = 31+Fevrier+31;break; case 5: TotalJoursMois = 31+Fevrier+31+30;break; case 6: TotalJoursMois = 31+Fevrier+31+30+31;break; case 7: TotalJoursMois = 31+Fevrier+31+30+31+30;break; case 8: TotalJoursMois = 31+Fevrier+31+30+31+30+31;break; case 9: TotalJoursMois = 31+Fevrier+31+30+31+30+31+31;break; case 10: TotalJoursMois = 31+Fevrier+31+30+31+30+31+31+30;break; case 11: TotalJoursMois = 31+Fevrier+31+30+31+30+31+31+30+31;break; case 12: TotalJoursMois = 31+Fevrier+31+30+31+30+31+31+30+31+30;break; default: printf("Vous vous etes plantes lors de la saisie du mois !!!\\n");break; } return MoisSaisie; } //Addition des Jours TotalJours () { NombreDeJours= TotalJoursMois+EcartJoursAnnees+JourSaisie; return NombreDeJours; } // Ici on determine le jour de la Vaccation NomVaccation () { Vaccation= NombreDeJours%8; printf ("\\n\\n\\n ******************************\\n"); switch (Vaccation) { case 0: printf (" * Premiere descente de nuit *\\n");break; case 1: printf (" * Premiere Journee *\\n");break; case 2: printf (" * Deuxieme nuit *\\n");break; case 3: printf (" * Deuxieme descente de nuit *\\n");break; case 4: printf (" * Deuxieme Journee *\\n");break; case 5: printf (" * Premier repos *\\n");break; case 6: printf (" * Deuxieme repos *\\n");break; case 7: printf (" * Premiere nuit *\\n");break; default: printf (" * Erreur !!! *\\n");break; } printf (" ******************************\\n\\n\\n"); printf("\\n\\n\\tGrand Merci a http:////www.cppfrance.com"); printf("\\n\\tGrand Merci a http:////casteyde.christian.free.fr pour son exellent tutoriel !!!\\n\\n"); return Vaccation; } ////////////////////////////////////////////////////////////////// // Boucle d'attente Attente () { struct timeb TempsDepartAttente; struct timeb TempsFinAttente; cout << "Attente 3 petites secondes ..." << endl; ftime(&TempsDepartAttente); while (TempsFinAttente.time <= TempsDepartAttente.time + 3) {ftime(&TempsFinAttente);} return 0; }

Conclusion :


J'ai ecrit une appli similaire en JavaScript hébergé aussi par www.javascriptfr.com
Je tiens à remercier www.cppfrance.com notament xentor69

et pis Monsieur CASTEYDE Claude pour son exellent tutoriel
casteyde.christian.free.fr

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.