Problème avec exercice sur un programme

Pilotwings Messages postés 14 Date d'inscription mercredi 24 décembre 2008 Statut Membre Dernière intervention 14 mai 2010 - 30 déc. 2008 à 11:45
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

4 réponses

cs_goodboy21 Messages postés 29 Date d'inscription samedi 1 décembre 2007 Statut Membre Dernière intervention 11 avril 2010
30 déc. 2008 à 12:56
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;
 }
0
Pilotwings Messages postés 14 Date d'inscription mercredi 24 décembre 2008 Statut Membre Dernière intervention 14 mai 2010
30 déc. 2008 à 13:10
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.
0
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
30 déc. 2008 à 22:25
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.
0
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
Pour compléter ce mini soft, ça pourrait être intéressant de récupérer le jour courant.

___________________________________________________________
Magicalement
Nono
0
Rejoignez-nous