Bonjour à tous,
Je suis en train de m'amuser avec un petit programme qui dispose de plusieurs fonctions pour faire fonctionner mon programme.
Ce dernier est simple mais j'ai un soucis avec ma variable tableau, j'aimerai pouvoir la porter sur les différentes fonctions sans avoir à la re déclarer et perdre son contenu à chaque fois.
J'espère que ma description a été claire, merci de votre aide et voici le source :
A ce stade du source, la variable tableau est re déclarée à chaque fois ce qui me fait perdre mon contenu dès que je passe à son affichage.
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
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 #include <stdio.h> int creer(); int affich(); int tri(); int main() { int choix; do { printf("*** MENU ***\n"); printf("1. Créer le tableau\n"); printf("2. Afficher le tableau\n"); printf("3. Trier le tableau\n"); printf("0. Quitter\n"); printf("**********\n"); printf("Quel est votre choix ? "); scanf("%d", &choix); switch(choix) { case 1: { creer(); } break; case 2: { affich(); } break; case 3: { tri(); } break; case 0: { printf("FIN\n"); } break; } } while(choix!=0); return 0; } /* Fonction permettant la création de notre tableau */ int creer() { int i, tab[10]; for(i=0; i<10; i++) { printf("Veuillez entrer la valeur : "); scanf("%d", &tab[i]); } return 0; } /* Fonction permettant l'affichage de notre tableau */ int affich() { int i, int tab[10]; printf("**********\n"); for(i=0; i<10; i++) { printf("%d\n", tab[i]); } printf("**********\n"); return 0; } /* Fonction permettant le tri de notre tableau */ int tri() { int i, j, temp, tab[10]; for(i=0; i<9; i++) { for(j=i+1; j<10; j++) { if(tab[i]>tab[j]) { temp=tab[i]; tab[i]=tab[j]; tab[j]=temp; } } } return 0; }
J'ai essayé de la déclarée en variable globale dans la fonction main mais ça ne fonctionne pas.
Merci de votre aide.
Partager