Problème avec exercice sur un programme

Messages postés
14
Date d'inscription
mercredi 24 décembre 2008
Statut
Membre
Dernière intervention
14 mai 2010
- - Dernière réponse : magic_Nono
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
- 3 janv. 2009 à 09:52
Bonjour à toutes et à tous, je suis en train de m'entrainer à faire des exercices sur les constantes énumérées. Je dois exécuter le programme suivant :

#include
 int main()
 {
    enum jours { Dimanche, Lundi, Mardi,Mercredi, Jeudi, Vendredi, Samedi };
    jours aujourdhui;
    aujourdhui = Lundi;
     if (aujourdhui Dimanche || aujourdhui Samedi)
       std::cout << "\nJ'adore les week-ends !\n";
    else
       std::cout << "\nAu boulot !\n";
 system("pause");
    return 0;
 }
Dans mon exercice, je n'ai aucune consigne, bizzare. Alors, à la ligne 6 j'ai remplacé aujourdhui Lundi; par  aujourdhui Dimanche; et le programme fonctionne différemment. Mais si il faut compléter ce programme, je ne vois pas ce qu'il faut faire...
Ah oui, j'ai aussi essayé std::cout<<"entrez le jour";
et std::cin>>aujourd'hui; sans oublier d'enlever aujourdhui = Lundi; et ça ne fonctionne pas.
Pouvez vous m'aidez SVP ?

Merci
Afficher la suite 

4 réponses

Messages postés
29
Date d'inscription
samedi 1 décembre 2007
Statut
Membre
Dernière intervention
11 avril 2010
0
Merci
ton enum jours { Dimanche, Lundi, Mardi,Mercredi, Jeudi, Vendredi, Samedi };
reviens déclarer tes  jours de la façon suivante :
#define Dimanche 0
#define Lundi       1
#define Mardi      2
#define Mercredi 3
#define Jeudi       4
#define vendredi  5
#define Samedi    6
et que jours peut prendre une valeur comprise seulement entre 0 et 6.

pour que ça marche utilise des types scalaire.
#include
 int main()
 {
    enum jours { Dimanche, Lundi, Mardi,Mercredi, Jeudi, Vendredi, Samedi };
    jours aujourdhui;
    aujourdhui = Lundi;
     if (aujourdhui Dimanche || aujourdhui Samedi)
       std::cout << "\nJ'adore les week-ends !\n";
    else
       std::cout << "\nAu boulot !\n";

  int Unjour;//ton type scalaire 
 std::cout<<"\n Choisissez un jour entre 0 et 6 \n";
std::cin>> Unjour;
   if (Unjour Dimanche || Unjour Samedi)
       std::cout << "\n T'es en week-end !\n";
    else
       std::cout << "\n Tu dois bosser !\n";

 system("pause");
    return 0;
 }
Commenter la réponse de cs_goodboy21
Messages postés
14
Date d'inscription
mercredi 24 décembre 2008
Statut
Membre
Dernière intervention
14 mai 2010
0
Merci
Merci de ton aide, je n'imaginer ton programme mais je savais pour :
enum jours { Dimanche, Lundi, Mardi,Mercredi, Jeudi, Vendredi, Samedi };
reviens déclarer tes  jours de la façon suivante :
#define Dimanche 0
#define Lundi       1
#define Mardi      2
#define Mercredi 3
#define Jeudi       4
#define vendredi  5
#define Samedi    6

Merci encore.
Commenter la réponse de Pilotwings
Messages postés
1470
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
0
Merci
Et si l'utilisateur tape 7 ?
Certes le programme fonctionnera mais c'est stupide : soit il faut vérifier que le nombre saisi est bien compris entre 0 et 6, soit il ne faut pas préciser "entre 0 et 6" (d'autant plus qu'un jour compris entre 0 et 6, ça n'a pas de sens).
Ou alors mieux, tu demandes à taper un nombre quelconque, et s'il est plus grand que 7, tu retourne le résultat de "nombre" % 7 (modulo 7), ce qui te renverra toujours un résultat compris entre 0 et 6. Enfin bon, il y a plein de petites bricoles à faire, comme ça...

Cordialement, uaip.
Commenter la réponse de uaip
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
0
Merci
Pour compléter ce mini soft, ça pourrait être intéressant de récupérer le jour courant.

___________________________________________________________
Magicalement
Nono
Commenter la réponse de magic_Nono