Probleme de programmation c++

Bonjour, hier je me lancais dans le c++.
Je commence par faire une petite aplication en console Win32.
Bien réussi je fait cette fois ci un questionnaire en console win32.
Seulement a cause de 2 chiffre je ne peux pas.(int 0 / int 1)
Voici le code :
 #include "1er projet.h"; 
             // Dans mon 1er projet.h j'ai #include <iostr 
 using namespace std; 
 int main () 
   
 { 
  int A; 
  int B; 
  int 1; 
  int 0; 


   printf("Passer au suivant ? (1 Y/0 N)(Si non est saisi la fenetre se fermera automatiquement)");  
   cin >> A; 
   if (A = 1) 
    { 

   
     printf("Fermer la fenetre ? (Obligatoire)"); 
     cin >> B; 
      if (B = 0) 
       { 

        return 0;  

       } 
      else 
       { 

        return 0;  
       } 

    } 
   else 
    { 


   return 0;  
  
    } 

  } 

Et si je met a la place des 2 chiffre des lettres j'ai une erreur comme quoi que la commande a été envoyé avant d'etre activé.(Run-Time Check Failure #3 - The variable 'Y' is being used without being initialized.)

J'attend vos réponses avec impatience.
Cordialement, Megalex77

10 réponses

  • Votes
  • Date
  • Date décroissante
  1. // Dans mon 1er projet.h j'ai #include <iostream>

    Escusez moi pour ce petit oubli
    1. Contributeur
      #include "1er projet.h";
      // Dans mon 1er projet.h j'ai #include <iostr

      Petit conseil : inclus quand même iostream dans ton source. Ca marchera aussi bien, mais cela évitera qu'on se pose des questions ;-))).

      Sinon pourquoi tu utilises la fonction printf ? Et non std::cout ?
      if (A = 1)
      Cette condition sera toujours vraie car c'est l'équivalent de :

      A=1;
      if (A==1)

      Toi ce que tu voulais mettre c'est : if(A==1) // double égal pour comparer

      int 1;
      C'est quoi ça ? int x; permet de déclarer une variable de type int. Un nombre ne peut pas être une variable.

      Corrige le tout, et reposte le programme si cela ne marche toujours pas.

      Cdlt,
      1. Non sa ne marche pas j'ai cette erreur :
        Run-Time Check Failure #3 - The variable 'Y' is being used without being initialized.

        Voici mon code corrigé :
         #include "1er projet.h"; 
         #include <iostream>; 
        
         using namespace std; 
         int main () 
           
         { 
          int A; 
          int B; 
          int Y; 
          int N; 
        
        
           printf("Passer au suivant ? (1 Y/0 N)(Si non est saisi la fenetre se fermera automatiquement)");  
           cin >> A; 
           if (A == Y) 
            { 
        
           
             printf("Fermer la fenetre ? (Obligatoire)"); 
             cin >> B; 
              if (B == N) 
               { 
        
                return 0;  
        
               } 
              else 
               { 
        
                return 0;  
               } 
        
            } 
           else 
            { 
        
        
           return 0;  
          
            } 
        
          } 
        
        1. J'utilise printf parce que je suis habitué au php et la commande est la meme.
          1. Contributeur
            Moui, mais c'est une très mauvaise habitude.
            Il faut éviter de mélanger les fonctions de C avec les fonctions de C++.
            En C++, on utilise plutôt std::cout et std::cin.
            1. Contributeur
              Les messages donnés par le compilateur sont importants.
              the variable 'Y' is being used without being initialized.
              En français : la variable 'Y' est utilisée sans avoir été initialisée.

              Et effectivement : if (A == Y)
              Que vaut Y ? T'as juste mis int Y; sans l'initialiser.

              Tu peux mettre simplement comme tout à l'heure if (A==1)
              De même pour N.
              Ce que j'ai dit tout à l'heure c'était que int 1; c'est incorrect.
              Il faut mettre simplement if (A==1) pour comparer A à 1, c'est tout.
              1. Merci cela fonctionne tres bien mais je voulais savoir si c'était grave le message qui dit que mon projet est obsolete.
                Sinon merci bien !
                1. Contributeur
                  Euh non ce n'est pas grave. Mais, après faudrait se renseigner du pourquoi du message.
                  En tout cas, si ça marche bien je te souhaite bonne continuation ;-)))
              2. Euh... En C++, pas de printf.
                Et avec "using namespace std" comme il l'a marqué en début de code, ce n'est pas std::cout, mais cout !
                Bye ;)