1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
|
#include <stdio.h>
#include <stdlib.h>
/* 0=normal 1=debug */
#define DBG 1
/* Structure "Point" regroupant abcisse et ordonnée d'un point.
Ici, deux points nommés 'a' et 'c' seront traités. */
struct Point
{
int x;
int y;
};
int main (void)
{
#if DBG
struct Point a = { 1, 1 };
struct Point c = { 79, 24 };
#else
struct Point a = { 0 };
struct Point c = { 0 };
/* Saisie de l'abcisse et de l'ordonnée pour le point A */
do
{
puts ("Veuillez saisir l'abcisse et l'ordonnee du point A : ");
scanf ("%d %d", &a.x, &a.y);
}
while (a.x < 1 || a.x >= 80 || a.y < 1 || a.y >= 80);
/* Saisie de l'abcisse et de l'ordonnée pour le point */
do
{
puts ("Veuillez saisir l'abcisse et l'ordonnee du point C : ");
scanf ("%d %d", &c.x, &c.y);
}
while (c.x < 1 || c.x >= 80 || c.y < 1 || c.y >= 80);
/* Vérification de la saisie et affichage Utilisateur */
#endif
puts ("Les coordonnees que vous avez entre sont les suivantes :");
printf ("Point A : %d,%d\nPoint C : %d,%d\n", a.x, a.y, c.x, c.y);
#if DBG
/* afficher x verticalement */
{
int i;
for (i = 1; i <= 80; i++)
{
putchar (i / 10 == 0 ? ' ' : '0' + i / 10);
}
for (i = 1; i <= 80; i++)
{
putchar ('0' + i % 10);
}
}
#endif
{
int j;
/* se positionner à la bonne ligne */
for (j = 1; j < a.y; j++)
{
#if DBG
putchar ('0' + j % 10);
#else
putchar (' ');
#endif
putchar ('\n');
}
for (j = a.y; j <= c.y; j++)
{
/* se positionner à la bonne colonne */
int i;
for (i = 1; i < a.x; i++)
{
if (i == 1)
{
#if DBG
putchar ('0' + j % 10);
#else
putchar (' ');
#endif
}
else
{
putchar (' ');
}
}
if (j == a.y || j == c.y)
{
putchar (' ');
for (i = a.x; i <= (c.x - 2); i++)
{
putchar ('-');
}
}
else
{
putchar ('|');
for (i = 0; i < c.x - a.x - 1; i++)
{
putchar (' ');
}
putchar ('|');
}
putchar ('\n');
}
}
return 0;
} |
Partager