Saisie 1 seule lettre, pas le reste

Utilisateur anonyme - 18 avril 2007 à 10:00
kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 - 18 avril 2007 à 12:18
Yop all,

Voilou petit probleme en C++, je pose une question a l'utilisateur et il doit repondre par O ou N, or s'il tape OONAZ, et bien le programme va faire comme s'il avait répondu aux 5 questions qui suivent ! j'aimerais que quelque soit l'erreur dans la saisie de l'utilisateur, je ne prenne que la 1ere lettre...compris ?

j'ai cru lire qu'il existait du cin.getline ou cin.ignore mais j'ai pas reussi.

merci

cout << "Liste des Armes:";
cout << "A: dague infernale 4/4" << "   " << "B: epee noire 3/4" << "   " << "C: arc magique 2/4" << "   " << "D: hache de la destinee 1/4" << endl;

cin >> reponse;

majuscule(reponse);

while(reponse != 'A' && reponse != 'B' && reponse != 'C' && reponse != 'C' && reponse != 'D')
{
      cout << "Erreur, veuillez choisir A ou B ou C ou D" << endl;
      cin >> reponse;
      cout << endl;
}

switch(reponse)
{
    case'A':

1 réponse

kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 1
18 avril 2007 à 12:18
Salut
jai un code qui permer des faire des mot de pass en c++ il pourait t"etre utilise


 


#include <stdlib.h>
#include
#include <conio.h>
#include <windows.h>
using namespace std;    // pour iostream


int getnombre()
{
                 cout << "Taper le mot de passe"<< endl;
        int c;
        int n=0;
        do
        {
                c=getch();      // attends la prochaine touche
                if (c>='0' && c<='9')  // si c'est un chiffre uniquement
                {
                        n*=10;
                        n+=(c-'0');          // mise a jour de n
                        cout << "*";
                        cout.flush();   // affiche une * et flush
                }
        }
        while(c!=13);   // jusqu'a entrée (code 13)
        cout << endl;   // revient a la ligne
        return n;
}


int main()
{
        int a;
        a=getnombre();
        if (a == 13)
        {
           cout << "reussi"<< endl;
           cout << "\n"<< endl; //un petit retour a la ligne
           Sleep(10);
           cout << "VOS AVER TROUVER LE MOT DE PASSE DE LA NASA XD"<< endl;
           }
           else {
                 cout << "veuillez réessayer"<< endl;
                 Sleep(1000);
                 return getnombre();
                
                 }
        system("PAUSE");
}
voila jespere que sa peut d'aidé

Kevin
0
Rejoignez-nous