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 :

Saisie et validation d'un entier


Sujet :

C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 20
    Points
    20
    Par défaut Saisie et validation d'un entier
    Bonjour à tous, je commence en c++ et je dois écrire une fonction me permettant de saisir et valider un entier entre 2 et 8 inclusivement.

    Voici le code JAVA de ce que je veux faire en c++ que vous puissiez bien comprendre:
    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
    saisirEntierEntre2et8(){
    		System.out.print("\nEntrez un chiffre de 2 à 8 incl: ");
    		int numero = 0;
    		do{
    		try{
    			numero = Clavier.lireInt();
    			if (numero < 2 || numero > 8){
    				System.out.println("***Entrée invalide***");
    				System.out.print("\nEntrez le numéro du client: ");
    			}
    		}catch (NumberFormatException nfe){
    			System.out.println("***Entrée invalide***");
    			System.out.print("\nEntrez le numéro du client: ");
    while(...)
    .
    .
    .
    		}

    Maintenant, comment réaliser ceci en c++ avec cin ? Merci

  2. #2
    Futur Membre du Club
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Une solution possible:
    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
    20
    21
    22
    23
    24
     
    int n = N_Choisi(2,8) ;
    ...
    int N_Choisi(int min, int max)  
    // Saisit et renvoie un entier compris entre min et max
    {
    	int n = min - 1 ;
    	cout << "Entrez un numéro de client entre" << min << " et " << max<<": \n "
    	while (1)
    	{
    		while ((cout << "\tnuméro du client : ") && !(cin >> n) )
    		{// la boucle traite les erreurs
    		// on n'en sort que quand on a un nombre
    			cin.clear() ;
    			cin.ignore(256,'\n') ;
    			cout << " valeur non valide.\n " ;
    		}
    		cin.ignore(256,'\n') ;	// vider le tampon de saisie au clavier
    		// nombre dans l'intervalle attendu : on quitte
    		if ( n >= min && n <= max)
    			return (n) ;
    		cout << " numéro incorrect...\n " ;
    	} 
    }
    Ça devrait marcher sans problème et te donner qqch qui ressemble à ce que tu fais en Java.

  3. #3
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Réponse dans la FAQ -- celle BlueZ utilise une constante magique, et elle ne gère pas comme il faut les EOF.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    J'ai trouvé un algo qui fait ce que je voulais mais j'irai quand même lire les FAQs question d'apprendre la bonne technique.

    Merci à tous!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Masque de saisie et Valide Si
    Par Anonymouse dans le forum VBA Access
    Réponses: 4
    Dernier message: 04/07/2008, 19h18
  2. Masque de saisie pour un ou deux entiers
    Par piotrr dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 21/04/2008, 08h19
  3. Réponses: 6
    Dernier message: 01/02/2008, 19h23
  4. Vérification du formulaire de saisie avant validation
    Par byrdo dans le forum VBA Access
    Réponses: 5
    Dernier message: 23/07/2007, 10h16
  5. demander saisi avant validation formulaire en javascript
    Par calitom dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/10/2006, 15h33

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