Partage
  • Partager sur Facebook
  • Partager sur Twitter

Dessiner un rectangle

    20 janvier 2020 à 13:00:56

    Bonjour,

    Je suis débutant en informatique et je commence l'apprentissage du c++.

    Je suis les cours sur openclassroom et j'ai essayé d'améliorer le programme pour dessiner un rectangle en posant comme condition que la valeur de la largeur doit être supérieur à la hauteur.

    Cependant le débugeur me dit qu'il ne connait pas la largeur du rectangle ni la hauteur alors que j'en demande la saisie juste avant. Je ne comprends pas pourquoi.

    Pouvez vous m'aider ?

    Le code ci dessous :

    #include <iostream>
    
    using namespace std;
    
    void dessinerRectangle(int largeur, int hauteur)
    {
        for( int j = 0; j < hauteur; j++)
        {
            for (int i = 0; i < largeur; i++)
            {
                cout << "*";
            }
    
            cout << endl;
        }
    }
    
    int main()
    {
        cout << "Bienvenu dans notre programme je vais vous dessinez un rectangle !" << endl;
        do
        {
            cout << "entrer la lageur du rectangle : " << endl;
            int largeurRectangle(0);
            cin >> largeurRectangle;
            cout << "entrer la hauteur du rectangle : " << endl;
            int hauteurRectangle(0);
            cin >> hauteurRectangle;
            if(largeurRectangle < hauteurRectangle)
            {
                cout << "vous devez choisir une largeur supérieur à la hauteur pour dessiner un rectangle" << endl;
            }
    
        } while (largeurRectangle < hauteurRectangle);
    
        dessinerRectangle(largeurRectangle, hauteurRectangle);
    }
    
    return 0;
    }
    



    • Partager sur Facebook
    • Partager sur Twitter
      20 janvier 2020 à 13:12:20

      Question de portée des variables.

      La largeur et la hauteur sont connues à l'intérieur de ta boucle while, mais pas à l'extérieur.

      PS: Abandonne tous de suite le cours d'OpenClassRoom.
      Non seulement il est obsolête, mais en plus il apprend un sacré paquet d'âneries et autres mauvaises pratiques à ne pas faire.

      -
      Edité par Deedolith 20 janvier 2020 à 13:14:02

      • Partager sur Facebook
      • Partager sur Twitter
        20 janvier 2020 à 13:24:21

        Mais quel cours je suis alors ?
        • Partager sur Facebook
        • Partager sur Twitter
          20 janvier 2020 à 13:38:35

          C'est bon maintenant le programme fait exactement ce que je veux même si je me repete un peu j'ai utilisé une boucle while au lieu d'une boucle do while mais cela fait l'affaire.
          Le code ci dessous :
          #include <iostream>
          
          using namespace std;
          
          void dessinerRectangle(int largeur, int hauteur)
          {
              for( int j = 0; j < hauteur; j++)
              {
                  for (int i = 0; i < largeur; i++)
                  {
                      cout << "*";
                  }
          
                  cout << endl;
              }
          }
          
          int main()
          {
              cout << "Bienvenu dans notre programme je vais vous dessinez un rectangle !" << endl;
              cout << "entrer la lageur du rectangle : " << endl;
              int largeurRectangle(0);
              cin >> largeurRectangle;
              cout << "entrer la hauteurdu rectangle : " << endl;
              int hauteurRectangle(0);
              cin >> hauteurRectangle;
              if(largeurRectangle < hauteurRectangle)
              {
                  cout << "vous devez choisir une largeur supérieur à la hauteur pour dessiner un rectangle" << endl;
              }
          
              while (largeurRectangle < hauteurRectangle)
              {
                  cout << "entrer la lageur du rectangle : " << endl;
                  cin >> largeurRectangle;
                  cout << "entrer la hauteur du rectangle : " << endl;
                  cin >> hauteurRectangle;
                  if(largeurRectangle < hauteurRectangle)
                  {
                      cout << "vous devez choisir une largeur supérieur à la hauteur pour dessiner un rectangle" << endl;
                  }
          
              }
              dessinerRectangle(largeurRectangle, hauteurRectangle);
          
          return 0;
          }
           

          -
          Edité par PierreBoutier1 20 janvier 2020 à 14:42:47

          • Partager sur Facebook
          • Partager sur Twitter
            20 janvier 2020 à 17:19:55

            Il te suffisait de sortir les variables de la boucle …..
            • Partager sur Facebook
            • Partager sur Twitter

            Dessiner un rectangle

            × 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