Bonjour,
Je réalise un code qui doit afficher une ligne, une rectangle, et un triangle en forme creuse.
Pour l'instant je n'ai pas encore les formes creuses, mais le problème n'est pas la.
J'ai crée un fonction qui demande à l'utilisateur des valeurs afin d'afficher les formes en question. mais rien ne s'affiche. Pourtant lorsque la structure de contrôle est dans la fonction main le code compile. Ma question est donc comment envoyer les valeurs à la fonction main.
j'ai testé avec return LigneDeArob; mais le resultat est le même.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
/****************************************************/
/*forme_creuse guillaume.strohecker 15/12/2007      */
/****************************************************/
#include <stdio.h>
 
/* fonction qui affiche une ligne de X */
void ligne(int NombreDeX, char leCaractereX )
{
	int i; /* le compteur */
	for (i = 1; i <= NombreDeX; i++)
		printf("%c",leCaractereX);
	printf("\n");
 
}
 
/* fonction qui affiche un rectangle */
void rectangle(int LigneDeDiese, int ColonneDeDiese, char leCaractereDiese)
{
	int i, j; /* les compteurs */
	for (i=1; i <= LigneDeDiese; i++)
	{
		for (j=1; j <= ColonneDeDiese; j++)
		{
			printf("%c",leCaractereDiese);
		}
		printf("\n");
	}
}
 
/* fonction qui affiche un triangle */
void triangle(int LigneDeArob, char leCaratereArob)
{
	int i=0;
	int ColonneDeArob = i + 1;
	while ( i < LigneDeArob)
	{
		int ColonneDeArob = i + 1;
		ligne(ColonneDeArob, leCaratereArob);
		i++;
	}
}
/* fonction de controle */
void controle(int NombreDeX, int LigneDeDiese, int ColonneDeDiese, int LigneDeArob)
{
 
	while (NombreDeX < 1 || NombreDeX > 20)
		scanf("%d", &NombreDeX);
	while (LigneDeDiese < 1 || LigneDeDiese > 20)
		scanf("%d", &LigneDeDiese);
	while (ColonneDeDiese < 1 || ColonneDeDiese > 20)
		scanf("%d", &ColonneDeDiese);
	while (LigneDeArob < 1 || LigneDeArob > 20)
		scanf("%d", &LigneDeArob);
 
}
 
 
/* ma fonction main() */
int main(void)
{
	int NombreDeX = 0;
	int LigneDeDiese = 0;
	int ColonneDeDiese = 0;
	int LigneDeArob = 0;
	controle(NombreDeX, LigneDeDiese, ColonneDeDiese, LigneDeArob);
	ligne(NombreDeX, 'X');
	printf("\n");
	rectangle(LigneDeDiese, ColonneDeDiese, '#');
	printf("\n");
	triangle(LigneDeArob, '@');
	printf("\n");
	return 0;
}
Merci.