Bonjour,
Je souhaite créer un petit programme qui me permet d'afficher, créer et supprimer un skieur grâce à un tableau de pointeur pour pouvoir y accéder dynamiquement. Le problème se situe dans le main lorsque je veux créer un tableau pour afficher tous les skieurs mais de façon à ce que la taille du tableau varie en fonction du nombre de skieur entrés.
Si quelqu'un à une réponse.
Merci d'avance.

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
104
105
106
107
108
109
 
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
#define TAILLE 30
#define TAILLE1 3
 
 
 
typedef  struct {
  char sNom [TAILLE];
  char sPrenom [TAILLE];
  char sRue [TAILLE];
  long iCodePostal;
  char sVille[TAILLE];
  int iAge;
}Skieur;
 
int copyskieur(Skieur ** pskieur, char *sNom, char *sPrenom, char * sRue, long iCodePostal,char * sVille,  int iAge )
{
  (*pskieur)=malloc( sizeof (Skieur));
 
 
strcpy((*pskieur)->sNom,sNom);
  strcpy((*pskieur)->sPrenom,sPrenom);
  strcpy((*pskieur)->sRue,sRue);
  (*pskieur)->iCodePostal=iCodePostal;
 strcpy((*pskieur)->sVille,sVille); 
  (*pskieur)->iAge=iAge;
  return (0);
}
 
void afficherSkieur(Skieur * pskieur)
   {
     printf("\nNom %s \nPrenom %s \nRue %s \nCode Postal %d \nVille %s \nAge %d \n",
pskieur->sNom,
pskieur->sPrenom,
pskieur->sRue,
pskieur->iCodePostal,
pskieur->sVille,
pskieur->iAge);
   }
 
void creerskieur()
{
 
  char sNom [TAILLE];
  char sPrenom [TAILLE];
  char sRue [TAILLE];
  long iCodePostal;
  char sVille[TAILLE];
  int iAge;
  int i;
  char rep;
  Skieur *tab[3];
  i=0;
  rep='o';
while ((i<3)&&(rep=='o'))
    {
 
      printf("Entrer le nom du skieur:\n");
      scanf ("%s",sNom);
      printf("Entrer le prenom du skieur:\n");
      scanf ("%s%*c",sPrenom);
      printf("Entrer le adresse du skieur:\n");
      printf("Rue\n");
      scanf ("%s%*c",sRue);
      printf("CodePostal:\n");
      scanf ("%d%*c",&(iCodePostal));
      printf("Ville:\n");
      scanf("%s%*c",sVille);
 
      printf("Age:\n");
      scanf ("%d%*c",&(iAge));
 
      copyskieur(&(tab[i]),sNom, sPrenom, sRue, iCodePostal,sVille, iAge );
afficherSkieur(tab[i]);
 
 printf("Voulez vous creer un autre skieur?(Taper O pour oui et N pour non)");
 scanf("%s",&rep);
 i++;
    }}
 
main()
{ char sNom [TAILLE];
  char sPrenom [TAILLE];
  char sRue [TAILLE];
  long iCodePostal;
  char sVille[TAILLE];
  int iAge;
 
  int i,n,*pn;
 
 
 
 
  Skieur *tab[3];
 
creerskieur();
 for (i=0;i<3;i++)
   {      copyskieur(&(tab[i]),sNom, sPrenom, sRue, iCodePostal,sVille, iAge );
afficherSkieur(tab[i]);
 
 
}
 
 
}