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

Signaler
Messages postés
3
Date d'inscription
mardi 7 avril 2009
Statut
Membre
Dernière intervention
9 avril 2009
-
Messages postés
3
Date d'inscription
mardi 7 avril 2009
Statut
Membre
Dernière intervention
9 avril 2009
-
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

Messages postés
7
Date d'inscription
vendredi 22 décembre 2000
Statut
Membre
Dernière intervention
9 avril 2009
5
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);
}
Messages postés
7
Date d'inscription
vendredi 22 décembre 2000
Statut
Membre
Dernière intervention
9 avril 2009
5
[../auteur/DEATHRAVAGE/1654864.aspx
]Bonjour Deathravage.

Je ne sais pas si ton erreur vient de là mais après ton for :

/* 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);

tu as un ";" le for va donc boucler sur lui même, et c'est une fois sa boucle finie que ton printf sera pris en compte. Tu fais aussi ça pour les 2 for qui suivent

En espérant que cela puisse résoudre quelque chose.
Messages postés
3
Date d'inscription
mardi 7 avril 2009
Statut
Membre
Dernière intervention
9 avril 2009

Je te remerci cette fois la hauteur est prise en compte. D'autre soucis sont malheureusement apparu. Notament la verticale droie qui apparait plusieur fois en petite taille qui ne colle pas avec les 2 coins. Voici Un Screen
http://www.servimg.com/image_preview.php?i=38&u=12936547
Messages postés
7
Date d'inscription
vendredi 22 décembre 2000
Statut
Membre
Dernière intervention
9 avril 2009
5
Pourrais-tu poster ton programme corrigé s'il te plait?

Messages postés
3
Date d'inscription
mardi 7 avril 2009
Statut
Membre
Dernière intervention
9 avril 2009

Je te remerci beaucoup marcbrest et je m'excuse de ne pas avoir mit le programme corrigé plus tot. J'ai eu pas mal de boulot ces derniers jours avec les interro. Encore une fois merci.