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 :

protection contre erreurs de saisie


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut protection contre erreurs de saisie
    salut
    comment protéger ce programme contre des erreurs de saisie, lorsque l'utilisateur frappe 'x' dans un float; par exemple en turbo pascal il y a le IOresult

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include <iostream>
    using namespace std;
    int main()
    {
        float a;
            cout << "Un nombre: ";
            cin>>a;
            cout <<endl<< "tu as saisi : " << a <<endl;
        return 0;
    }
    ceci par exemple boucle de manière infinie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #include <iostream>
    using namespace std;
     
    int main()
    {
        float a=5;
           while(a!=-1){
            cout << "Un nombre ou -1 pour quitter: ";
            cin>>a;
            cout <<endl<< "tu as saisi : " << a <<endl;
            }
        return 0;
    }
    Voilà une légère correction, mais je préfère une correction du premier code pour éviter la frappe d'un caractère innacceptable; je prend le cas d'une simple addition où l'utilisateur frappe un caractère et non un nombre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <iostream>
    using namespace std;
     
    int main()
    {
        float a=5;
           while(cin>>a && a!=-1){
            cout << "Un nombre ou -1 pour quitter: ";
            cout <<endl<< "tu as saisi : " << a <<endl;
            }
        return 0;
    }

  2. #2
    Membre chevronné
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Points : 2 205
    Points
    2 205
    "Hardcoded types are to generic code what magic constants are to regular code." --A. Alexandrescu

  3. #3
    Membre habitué Avatar de sopsag
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 224
    Points : 190
    Points
    190
    Par défaut
    Bonjour,

    quand tu dis :

    Citation Envoyé par alcycy Voir le message
    ...je préfère une correction du premier code pour éviter la frappe d'un caractère innacceptable...
    faut-il comprendre que tu veux filtrer dès le niveau de la frappe au clavier ?
    Par exemple ne pas accepter autre chose que des chiffres ?

    Si tel est le cas, je pense qu'il n'y a pas de solution pour toi. Du moins pas avec les stl.
    Tu ne peux tester la chaîne saisie qu'après coup, c'est à dire après que l'utilisateur a tapé ENTER.
    Sinon, il faut aller chercher directement au niveau de l'interface avec la console, ce qui n'est pas portable.

    Hadrien
    [WinXP sp3 / Visual 2005 / Eclipse Ganymede / Python 2.6]
    Hadrien

Discussions similaires

  1. Protection contre les SQL Injections ?
    Par kedare dans le forum JDBC
    Réponses: 9
    Dernier message: 05/05/2010, 10h42
  2. Programme de protection contre le déni de service
    Par EJ dans le forum Développement
    Réponses: 7
    Dernier message: 03/07/2009, 22h14
  3. La meilleure protection contre le piratage des logiciels ?
    Par iubito dans le forum Débats sur le développement - Le Best Of
    Réponses: 184
    Dernier message: 23/12/2008, 13h35
  4. Eviter les erreurs de saisie
    Par julo56 dans le forum C++
    Réponses: 5
    Dernier message: 06/06/2006, 00h04
  5. PROTECTION CONTRE LES ASPIRATEURS DE SITE
    Par squalito dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/01/2005, 14h06

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