Dessiner un rectangle (mais aussi un carré) en mode console langage C

DeathRavage Messages postés 3 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 9 avril 2009 - 7 avril 2009 à 11:47
DeathRavage Messages postés 3 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 9 avril 2009 - 9 avril 2009 à 18:54
Problème : J'ai un soucis à propos de la prise en compte de la taille de ma verticale, elle n'est pas prise en compte. J'ai essayé d'arranger les choses mais rien ne s'arrange. Ayant pas mal de lacune j'espère que vous pourrez m'éclairer. J'ai repris un code déja présent sur vote site et je m'en suis servis afin de pouvoir saisir la taille du rectangle et faire en sorte qu'elle soient prise en compte lors de l'affichage.

Source :

     #include <stdio.h>
   
     void main()
     {
     int hauteur;
     int largeur;
     int increment=0;
     int increment2=0;
     int i=0;

     do
     {
     
     printf("Entrez la hauteur du rectangle : ");
     scanf("%d",&hauteur);

     printf("Entrez la largeur du rectangle : ");
     scanf("%d",&largeur);

    /* Clean */

     /*Affichage du caractère ascii situé représentant le coin en haut à gauche du rectangle.*/
     printf("\xDA");
     
     /*Ligne du haut entre les 2 coins haut gauche et haut droite  */
     for (increment=0 ; increment <= (largeur-2) ; increment++)
     printf("\xC4");

     /*Affichage du caractère ascii situé représentant le coin en haut à droite du rectangle.*/
     printf("\xBF\n");
     
     
     /* Clean Mais verticale qui déconne et peut être inbougeable*/

     /*Ligne verticale de gauche entre les 2 crochets */
     for (increment=0 ;  increment < hauteur ; increment++);
     printf("\xB3",hauteur);
     
     /*Espace Ligne droite verticale.Les espaces ++ pour increment2 à 0 et incrément2 < incremente.*/
     for (increment2=0 ; increment2 < (increment) ; increment2++);
     printf("\x20");
     
      /*Ligne verticale de droite entre les 2 crochets*/
     for (increment=0 ;  increment < hauteur ; increment++);
     printf("\xB3\n",hauteur);
   
     /* CLEAN */

     /*Affichage du code ascii correspondant au coin en bas à gauche*/
     printf("\xC0"); 
     
     /*Ligne Entre les 2 coins du bas*/
     for (increment=0 ; increment <= (largeur-2) ; increment++)
     printf("\xC4");
    
     /*Affichage du code ascii correspondant au coin en bas à droite.*/
     printf("\xD9\n");

     printf("\nFaites 1 pour recommencer et 2 pour quitter : ");
     scanf("%d",&i);
     }
     while(i != 2);   
     }
A voir également:

5 réponses

marcbrest Messages postés 7 Date d'inscription vendredi 22 décembre 2000 Statut Membre Dernière intervention 9 avril 2009 5
9 avril 2009 à 13:59
Bonjour DeathRavage
Voici ton programme corrigé, tu n'as qu'à remplacer mes caractères par tes caractères ASCI
Bonne journée!!!!

#include <stdio.h>
void main()
{
    int hauteur;
    int largeur;
   int increment,increment2;
    int k;
     printf("Entrer la largeur du Rectangle :");
    scanf("%d",&largeur); 
     printf("Entrer la hauteur du Rectangle :");
    scanf("%d",&hauteur);
    do{ 
       printf("\n");
      for (increment=1;increment<=largeur;increment++){
            printf("*");
        }
         printf("\n");
      for (increment=2;increment<hauteur;increment++){
          printf("*");
         for (increment2=2;increment2<largeur;increment2++){
                printf(" ");
            }
         printf("*");
         printf("\n");
      }
      for (increment=1;increment<=largeur;increment++){
            printf("*");
        }
      printf("\n");
  printf("\nFaites 1 pour recommencer et 2 pour quitter : ");
  scanf("%d",&k);
  }while(k != 2);
}
4
Rejoignez-nous