/home/manu/Dropbox/Projets/dates/main.cpp |
#include <iostream> #include <string.h> using namespace std; const char JOUR_SEMAINE[7][9] = {"lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi", "dimanche"}; struct Mois { char nom[10]; unsigned char nombreDeJour; }; const Mois MOIS[12] = {{"janvier", 31}, {"février", 28}, {"mars", 31}, {"avril", 30}, {"mai", 31}, {"juin", 30}, {"juillet", 31}, {"août", 31}, {"septembre", 30}, {"octobre", 31}, {"novembre", 30}, {"décembre", 31}}; struct Date { unsigned jourSemaine, jourMois, mois; int annee; }; int main() { char jourSemaine[9]; char nomMois[10]; Date aujourdhui; bool valide; cout << "ATTENTION, la correspondance du jour de la semaine" << " avec la date d'aujourd'hui ne sera pas vérifiée !" << endl << endl; do { cout << "Saisissez le jour d'aujourd'hui (ex : mardi 9 octobre 2012)" << endl << "Date = "; cin >> jourSemaine >> aujourdhui.jourMois >> nomMois >> aujourdhui.annee; valide = false; for (int jour=0; jour<7; jour++) if (strcmp(JOUR_SEMAINE[jour], jourSemaine) == 0) { aujourdhui.jourSemaine = jour; valide = true; break; } if (!valide) { cout << "Le jour de la semaine n'est pas valide !!!" << endl; continue; } valide = false; for (int mois=0; mois<12; mois++) if (strcmp(MOIS[mois].nom, nomMois) == 0) { aujourdhui.mois = mois; valide = true; break; } if (!valide) { cout << "Le mois n'est pas valide !!!" << endl; continue; } if (aujourdhui.jourMois > MOIS[aujourdhui.mois].nombreDeJour) { cout << "Le jour du mois n'est pas valide !" << endl; valide = false; } else cout << "Votre date est valide !" << endl; } while (!valide); return 0; }