IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Type �num�r�: faire saisir dans un intervalle de valeur ?


Sujet :

C

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair� Avatar de SteelBox
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    446
    D�tails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2002
    Messages : 446
    Par d�faut Type �num�r�: faire saisir dans un intervalle de valeur ?
    Je ne me suis jamais servi des types �num�r�s en C mais par curiosit�, j'ai eu l'envi d'essayer mais je n'est pas trouv� quelque chose qui me convenait sur Internet
    En fait j'aimerais faire saisir � l'utilisateur un jour de la semaine et j'aimerais savoir si on peut le faire avec les types �num�r�s ce qui �viterait de compar� la chaine � chaque jour pour voi si oui ou non, c'est correct
    Voici un d�but de code, mais pour la suite, je sais vraiment pas comment faire, quelqu'un peut -il m'aider ?

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    enum Tjour {Lundi, Mardi, Mercredi,Jeudi,Vendredi,Samedi,Dimanche};
     
    main()
    {
          enum TJour UnJour;
          printf("Saisir un jour : ");
    Merci

  2. #2
    Membre �clair�
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    235
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 235
    Par d�faut
    salut,

    on doit saisir en lettres ou en chiffre ?
    si c'est en lettres il faut faire un tableau de ce type
    char *jours_semaine[7] = { "lundi","mardi",...};
    enum Tjour {Lundi, Mardi, Mercredi,Jeudi,Vendredi,Samedi,Dimanche};


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    switch(mon_choix) {
     
    case Lundi:
       printf("c'est un lundi");
    break;
    case Mardi:
       printf("c'est un mardi");
    break;
    case Mercredi:
       printf("c'est un mercredi");
    break;
    case Jeudi: 
       printf("c'est un jeudi");
    break;
    ....
    default:
       printf ("CHOIX INVALIDE");
    }

  3. #3
    Membre �clair� Avatar de SteelBox
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    446
    D�tails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2002
    Messages : 446
    Par d�faut
    Ca ne r�pond pas vraiment � ma question. En fait, je veux faire saisir une chaine et on recommence tant que cette chaine n'appartient pas au valeur du type �num�r�...comme j'ai d�crit avec le code du premier post

  4. #4
    gl
    gl est d�connect�
    R�dacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 46
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Par d�faut
    Un enum est une facilite de codage qui fait correspondre a un entier un nom (ce qui plus ou moins l'equivalent d'un #define), c'est un alias. Mais si en codant tu peux utiliser le nom de l'enum pour te simplifier la vuie, lors de l'execution seul la valeur numerique est utilisable, donc, si j'ai bien compris ta demande, ce que tu souhaites faire n'est pas faisable.

  5. #5
    Membre �clair� Avatar de SteelBox
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    446
    D�tails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2002
    Messages : 446
    Par d�faut rep
    Ok, alors si j'ai bien comprit, pour v�rifier que la chaine est bonne, on doit faire:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    char jour[20];
      do{
        printf("saisir jour : ");
        scanf("%s", jour);
      }while(strcmp(jour,"lundi")&&strcmp(jour,"mardi")...);

  6. #6
    Membre �m�rite
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    D�tails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Par d�faut Re: rep
    Citation Envoy� par Albest
    Ok, alors si j'ai bien comprit, pour v�rifier que la chaine est bonne, on doit faire:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    char jour[20];
      do{
        printf("saisir jour : ");
        scanf("%s", jour);
      }while(strcmp(jour,"lundi")&&strcmp(jour,"mardi")...);
    C'est une solution oui ...
    Ta condition n'est pas �crite en entier, mais une la chaine "jour" ne peut contenir "lundi" et "mardi" ...

    Nas'

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    44
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 44
    Par d�faut
    Nas', je pense qu'il a bon. strcmp renvoie 0 quand il trouve que les 2 chaines sont identiques, et une autre valeur dans le cas contraire.

    si la chaine n'est pas dedans, �a fera un "vrai"&&"vrai"&&...&&"vrai", dans le cas contraire, �a fera pareil sauf un "faux" quelquepart. Donc la condition deviendra fausse, et on quittera.

    le seul point sur lequel je ne soit pas s�r c'est le fait qu'un "0" soit toujours faux alors qu'une valeur diff�rente de "0" soit toujours vrai.

  8. #8
    gl
    gl est d�connect�
    R�dacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 46
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Par d�faut
    Citation Envoy� par teska
    le seul point sur lequel je ne soit pas s�r c'est le fait qu'un "0" soit toujours faux alors qu'une valeur diff�rente de "0" soit toujours vrai.
    Si c'est bon, en C 0 est faux

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 3
    Dernier message: 19/03/2014, 14h33
  2. [JAXB]Comment faire apparaitre dans le xsd une valeur par d�faut pour un attribut
    Par Marcos Ickx dans le forum Persistance des donn�es
    R�ponses: 0
    Dernier message: 07/01/2010, 18h38
  3. Type �num�r�, subtype et intervalle
    Par silken dans le forum Ada
    R�ponses: 6
    Dernier message: 04/03/2009, 22h41
  4. R�ponses: 1
    Dernier message: 09/11/2008, 21h25
  5. R�ponses: 4
    Dernier message: 24/11/2006, 11h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo