Partage
  • Partager sur Facebook
  • Partager sur Twitter

piti problème en c / variable !

Sujet résolu
    8 janvier 2006 à 18:06:05

    Bonjour, je débute en C !

    Alors je me demande comment on procède pour faire:

    l'utilisateur du programme tapera la Lettre Q
    si ya la lettre Q -----> sa mets "OK" et si c''est pas la lettre Q sa affiche le message "non".

    Comment faire ceci ?

    merci
    • Partager sur Facebook
    • Partager sur Twitter
      8 janvier 2006 à 18:10:22

      tu mets une condition...
      if ( nom_variable == 'Q')

      essaye ça mais je ne suis pas sûr du tout...
      • Partager sur Facebook
      • Partager sur Twitter
        8 janvier 2006 à 18:11:37

        Comme ceci :
        #include <stdio.h>
        #include <stdlib.h>

        int main(int argc, char *argv[])
        {
          char var;
          scanf("%s",&var);
          if(var=='q')
          {
                     printf("Oui\n\n");
                     }
          else
          printf("Non\n\n");           
          system("PAUSE");     
          return 0;
        }
        • Partager sur Facebook
        • Partager sur Twitter
          8 janvier 2006 à 18:12:05

                 
          int d = 0;
          cin >> d;
                  switch (d)
                  {
                         case 'Q':     
                         case 'q':
                         /* Instructions */
                         default : exit(0);
                         break;
               }
          • Partager sur Facebook
          • Partager sur Twitter
            8 janvier 2006 à 18:12:53

                char lettre;
               
                scanf("%c", &lettre);   
                (lettre == 'Q') ? printf("Ok") : printf("Non");


            edit: ultra grilled...
            • Partager sur Facebook
            • Partager sur Twitter
              8 janvier 2006 à 18:14:59

              ah le temps que je réponde au premiere réponse, on m'a déja répondu trois fois !!!

              • Partager sur Facebook
              • Partager sur Twitter
                8 janvier 2006 à 18:23:06

                Quand tu dit "tapera la lettre Q", tu veut dire, via un scanf, ou plutot s'il tape la lettre q sans avoir à taper entrée après ?
                Dans le premier cas, c'est ça :

                    char ma_variable;
                    scanf("%c", &ma_variable);
                    if(ma_variable == 'q') printf("OK");
                    else printf("non");


                Mais dans le deuxième cas, je sais pas comment faut faire...

                Tu pourrais aussi remplacer la ligne
                scanf("%c", &ma_variable);

                par celle-ci :
                ma_variable = getchar();



                EDIT : multiple grilled, faut vraiment que j'apprenne à faire des réponses en moins de dix minutes...

                @sanco95 : ouais, mais là, si il suit les cours de mateo, il comprends pas le C++ et tu l'embrouille ^^
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  8 janvier 2006 à 18:23:38

                  on ne compare une variable de caractere (un tableau) avec une condition ( ca revient a comparer un pointeur ).Pour plus d info allez voir la FAQ du C en haut de la page .
                  • Partager sur Facebook
                  • Partager sur Twitter
                    8 janvier 2006 à 19:33:39

                    Etant donner que ce n'est pas une chaine mais un simple caractère on utilise %c ;)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      8 janvier 2006 à 20:47:44

                      Mais, on pourrait faire une boucle, que si c'est non ou oui, sa recommence, je dois taper la bonne lettre pour que sa quitte ! et si on marque exit sa éteind le programme???

                      j'ai utilisé ce code :


                      #include <stdio.h>
                      #include <stdlib.h>

                      int main(int argc, char *argv[])
                      {
                        char var;
                        scanf("%s",&var);
                        if(var=='q')
                        {
                                   printf("Oui\n\n");
                                   }
                        else
                        printf("Non\n\n");         
                        system("PAUSE");   
                        return 0;
                      • Partager sur Facebook
                      • Partager sur Twitter
                        9 janvier 2006 à 15:34:55

                        Selon la FAQ, il faut rajouter une valeur dans ton scanf. De plus, il faut utiliser strcmp pour comparer 2 chaînes de charactères.

                        Citation : Jeoffrey

                        Mais, on pourrait faire une boucle, que si c'est non ou oui, sa recommence, je dois taper la bonne lettre pour que sa quitte ! et si on marque exit sa éteind le programme???



                        Voici comment je ferais:


                        #include <stdio.h>
                        #include <stdlib.h>
                        #include <string.h> // Ne pas oublier d'inclure cette librairie

                        int main(int argc, char *argv[])
                        {
                                char var[1];//La taille de ta variable n'a pas besoin d'être plus grande que 1
                               
                                while(1)//Boucle infinie
                                {
                                      scanf("%1s",var);
                                      if(strcmp(var,"q")==0||strcmp(var,"Q")==0)
                                      {
                                        break; //Si on tape q ou Q ça quitte la boucle, et donc le programme se ferme
                                      }
                                      printf("Non\n\n");       
                                }
                                return 0;
                        }
                        • Partager sur Facebook
                        • Partager sur Twitter
                          9 janvier 2006 à 18:36:41

                          Citation : Jeoffrey

                          merci bien !



                          De rien, n'oublie pas de mettre ton sujet sur résolu...
                          • Partager sur Facebook
                          • Partager sur Twitter

                          piti problème en c / variable !

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown