Vaccation (avec fonction) consolerie, remix gcc

Contenu du snippet

Cette source a peu d'interet, c'est comme "VACCATION (AVEC FONCTIONS) CONSOLERIE VCPP6" si ce n'est quelques changement pour une compilation sous G++:

G++: g++ -Wall -o Vaccation Vaccation.cpp

Source / Exemple :


/* Modifier pour etre compilable par G++: g++ -Wall -o Vaccation-SN-GPP Vaccation-SN-GPP.cpp */
/* 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 6 vaccations:
1° Vaccation----> 1° Nuit
2° Vaccation----> 2° Nuit
3° Vaccation----> 3° Nuit
4° Vaccation----> 2° Nuit
5° Vaccation----> 1° Repos
6° Vaccation----> 2° Repos

  • /
#include <iostream> #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 (); int main (void) { // On commence par la saisie de la Date printf("\n\n\t 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; } int 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) int Annees () { EcartAnnees= AnneeSaisie-Annee2000-1; return EcartAnnees; } // Calcul du nombre d'annees bissextile entre l'annee saisie et // l'annee 2000 int NombreAnneeBissextile () { AnneesBissextiles= (EcartAnnees / 4); return AnneesBissextiles; } // Ici on calcul le nombre de jour entre les annees int 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 int AnneeBissextile () { if ((AnneeSaisie % 4 ) == 0) {Fevrier= 29; } // printf(" annee bissextille \n");} else {Fevrier= 28;} return Fevrier; } // Là on détermine le nombre de jours entre le 1° du mois // et le 01/01/2000 int 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 int TotalJours () { NombreDeJours= TotalJoursMois+EcartJoursAnnees+JourSaisie; return NombreDeJours; } // Ici on determine le jour de la Vaccation int NomVaccation () { Vaccation= NombreDeJours%6; printf ("\n\n\n ******************************\n"); switch (Vaccation) { case 0: printf (" * Deuxieme Nuitnuit * \n");break; case 1: printf (" * Troisième nuit * \n");break; case 2: printf (" * Quatrieme nuit * \n");break; case 3: printf (" * Premier Repos * \n");break; case 4: printf (" * Deuxieme Repos * \n");break; case 5: 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 int Attente () { struct timeb TempsDepartAttente; struct timeb TempsFinAttente; printf ("Attente 3 petites secondes ...\n\n\n" ); ftime(&TempsDepartAttente); while (TempsFinAttente.time <= TempsDepartAttente.time + 3) {ftime(&TempsFinAttente);} return 0; }

Conclusion :


Dans les faits:
-Changement de

#include <iostream.h>
#include <stdio.h>
#include <sys\\timeb.h>

en

#include <iostream>
#include <stdio.h>
#include <sys/timeb.h>

-rajout de int devant toute les fonctions lors de l'appel

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.