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

Pascal Discussion :

Comment s'assurer de la validité de la saisie de valeurs numériques


Sujet :

Pascal

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Comment s'assurer de la validité de la saisie de valeurs numériques
    Bonjour à tous,

    On me demande de faire un petit projet en Pascal : une calculatrice qui effectue les 4 opérations de base sur des entiers énormes sans limite particulière de chiffres.

    Je sais comment m'y prendre mais ayant créé un Menu dans le Terminal, je me rends compte que si l'utilisateur rentre une mauvaise saisie cela plante tout mon programme et en sort. Du style, mon Menu demande a l'utilisateur de rentrer "1" pour l'addition, "2" pour la soustraction, "3" pour la multiplication, "4" pour la division et 0 pour quitter. Si je rentre "5" il me remet le choix de l'opération mais si je rentre "a" il me met Error et il quitte le programme.

    J'en vient donc à ma question : comment faire pour "blinder" la saisie de variables en Pascal ?

    Merci.

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Kai,

    Lire une chaîne de caractères.

    PUIS vérifier si ça correspond à ce que tu attends.

    Dans le cas présent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
      longueur = 1 ?
     
        NON : refusé, on relit
     
        OUI : est-ce un chiffre ?
     
            NON : refusé, on relit
     
            OUI : est-il dans les valeurs admises ?
     
                NON : refusé, on relit
     
                OUI : ok, on peut le traiter pour orienter le programme
    Eh oui, sécuriser les entrées génère beaucoup de code, mais à mon avis, c'est indispensable pour avoir un programme fiable (dans mes programmes pros, les contrôles de saisie correspondent souvent de 10 à 25 % des lignes de code !)
    Si les cons volaient, il ferait nuit à midi.

  3. #3
    Membre éprouvé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Points : 917
    Points
    917
    Par défaut
    Salut,
    Si mes souvenir sont bon, tu pourrais par exemple convertir la chaine qu'on te donne en eniter grace à la commande val, qui prend en paramètre un entier qui est le code d'erreur. Donc tu peux savoir si la saisie est correcte ou pas et géré en conséquence.

    Tu peux aussi regarder du coté de {$I-} et {$I+} et checker IOResult, après fais comme tu le sent, mais à ce niveau là, le pascal te fais un peu le café

Discussions similaires

  1. Comment m'assurer que mon fichier est bien un exec unix
    Par Khaled.Noordin dans le forum Apple
    Réponses: 5
    Dernier message: 05/07/2007, 18h37
  2. Comment s'assurer que "window.open" ouvre une nouvelle fenêtre
    Par lodan dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 14/03/2007, 11h12
  3. Réponses: 5
    Dernier message: 04/02/2007, 01h14
  4. Réponses: 9
    Dernier message: 07/10/2006, 10h54
  5. Comment s'assurer qu'un prédicat retourne NO
    Par C_C dans le forum Prolog
    Réponses: 9
    Dernier message: 10/11/2005, 18h38

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