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

  1. // Dans mon 1er projet.h j'ai #include <iostream>

    Escusez moi pour ce petit oubli
    1
    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
      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
        1. J'utilise printf parce que je suis habitué au php et la commande est la meme.
          1
          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
            1. Ok je vais utiliser std::cout
              1
              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
                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
                  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 ;-)))
                    0
                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 ;)
                  1