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 :

éliminer mes constantes en dur


Sujet :

C

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 58
    Points : 30
    Points
    30
    Par défaut éliminer mes constantes en dur
    Bonjour, je souhaiterais effectuer une saisie de nombres appartenant à un ensemble de nombres donnés, et afficher un message d'erreur si ce nombre n'appartient pas à l'ensemble, cependant je ne veux pas avoir de constantes en dur dans mon code. J'ai pensé à parcourir un tableau dans lequel se trouveraient les valeurs autorisées.
    Quest-ce que vous en pensez?

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    Salut

    Le même genre de question avait été posée il y a quelques jours : http://www.developpez.net/forums/d10...eurs-tableaux/

    S'il s'agit de vérifier une saisie, il faudra modifier ces codes pour qu'ils répondent à tes besoins (car ces codes testent un tableau, pas seulement une valeur). C'est l'affaire de quelques lignes seulement.

    Dans ces codes, les constantes sont en dur, mais tu peux bien entendu créer une fonction où l'utilisateur remplira lui-même le tableau de valeurs autorisées, qui servira ensuite à vérifier les valeurs saisies au clavier.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 58
    Points : 30
    Points
    30
    Par défaut
    Merci beaucoup, cela marche super bien et je pense que j'ai pu virer au moins 90 constantes en dur de mon programme...

    Pour ce qui est des affectations de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    nombre1 = tableau[0];
    nombre2 = tableau[1];
    nombre3 = tableau[2];
    nombre4 = tableau[3];
    Comment peut on faire pour éliminer les constantes en dur?

  4. #4
    Membre habitué Avatar de mailbox
    Profil pro
    Inscrit en
    Février 2010
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 140
    Points : 159
    Points
    159
    Par défaut
    Modifie un peu quand même, je pense qu'on est dans la même école^^

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 58
    Points : 30
    Points
    30
    Par défaut
    : ) Mais tu sais comment faire pour éviter ces constantes en dur?

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    Tu parles de quelles constantes ? Personne ne peut répondre à ta question si tu ne nous donnes pas un minimum d'infos. Que doit réellement faire ton programme ? Que sont ces fameuses constantes à supprimer ? A quoi servent-elles ? ...

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 58
    Points : 30
    Points
    30
    Par défaut
    Pardon... Je veux parler des constantes du genre :

    En effet dans mon programme je vais devoir stocker des nombres que je rentre manuellement dans un tableau et je veux éviter d'écrire tableau[8] ou tableau[9].

  8. #8
    Membre habitué Avatar de mailbox
    Profil pro
    Inscrit en
    Février 2010
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 140
    Points : 159
    Points
    159
    Par défaut
    Moi j'ai fait avec des tableau[i], enfin j'ai jamais de tableau[9]...En meme temps y a que la saisie qui marche pour le moment, je peux pas trop t'aider^^

  9. #9
    Membre expérimenté

    Homme Profil pro
    Collégien
    Inscrit en
    Juillet 2010
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afghanistan

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Juillet 2010
    Messages : 561
    Points : 1 434
    Points
    1 434
    Par défaut
    Pour ce qui est des affectations de ce genre :
    Code :


    nombre1 = tableau[0];
    nombre2 = tableau[1];
    nombre3 = tableau[2];
    nombre4 = tableau[3];

    Comment peut on faire pour éliminer les constantes en dur?
    Comment vous faite pour initialiser les valeur contenus dans le tableau?
    Votre problème se mort la queue (ca ce dit?)...

    Le seul moyen que je voit pour éviter de mettre de valeur en dur dans le code (genre #define), c'est de mettre le valeur dans un fichier. De lire le fichier pendant l'exécution du programme, et d'ensuite sauvegarder ces valeurs lues dans des variables (un tableau peux très bien faire l'affaire).

    Cordialement.

    Mith

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    Hélas tu n'expliques toujours pas ce que ton programme est censé faire. Ca va être difficile de t'aider. Oublie cette histoire de "constantes" (je n'en vois pas dans tes exemples) et explique ce que ton programme doit réellement faire.

    Après, on t'aiguillera...

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Août 2009
    Messages : 32
    Points : 30
    Points
    30
    Par défaut
    A mon avis tu parles pas des 'constantes', mais des valeurs 'littérales' qui servent d'index à ton tableau :

    nombre1 = tableau[0];
    nombre2 = tableau[1];
    nombre3 = tableau[2];
    nombre4 = tableau[3];

    Si tu veux stocker des nombres manuellement, du moins à l'exécution si j'ai bien compris, il te faudra faire une boucle qui va de 0 au dernier indice de ton tableau :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    POUR i DE 0 à TAILLE(monTableau) - 1 FAIRE
       DEMANDER Nombre -> nbre
       monTableau[i] = nbre
    FINPOUR
    Une constante est une valeur invariable, soit avec une variable déclarée const soit avec la macro #define.
    Une littérale est une valeur que tu rentres verbatim dans le code.

Discussions similaires

  1. Changer une constante en dur
    Par ConteZero dans le forum VB.NET
    Réponses: 4
    Dernier message: 30/08/2010, 10h31
  2. Ou ranger mes constantes
    Par batataw dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 18/10/2007, 15h08
  3. [AIDE]configurer mes deux disque dur?ecran bleu?
    Par masta64 dans le forum Composants
    Réponses: 4
    Dernier message: 30/12/2006, 21h43
  4. problème avec mes constantes
    Par salseropom dans le forum C
    Réponses: 6
    Dernier message: 10/05/2006, 18h37

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