Mise en page en Langage C

Fermé
COUSSI Matthieu - 16 avril 2005 à 19:26
crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 - 19 avril 2005 à 18:04
Bonjour a tout le monde. En fait voila mon probleme je fais un prgramme en C pour mon club de basket et en fait à un moment j'ai une fonction qui affiche toutes les informations et j'aimerai l'afiicher en un tableau bien structurer.

Voila ma fonctions :
/*Fonction AFFICHAGE de tout*/
void affichtout()
{
int trouve;
trouve=0;
p_joueur=fopen("c:\\temp\\joueur.dat","r");
if(!p_joueur)
{
printf("ERREUR\n");
exit(-1);
}
while(!feof(p_joueur))
{
fread(&joueur,sizeof(joueurs),1,p_joueur);
if(!feof(p_joueur))
{
p_equipe=fopen("c:\\temp\\equipe.dat","r");
if(!p_equipe)
{
printf("ERREUR\n");
exit(-1);
}
printf("Nom : Prenom : Adresse : Code Postal : Ville :\n");
printf("%s %15s %15s %25s %15s \n",joueur.nom_joueur,joueur.prenom_joueur,joueur.adresse_joueur,joueur.cp_joueur,joueur.ville_joueur);

//para_sexejoueur();para_typelicencejoueur();para_surclasserjoueur();para_brulejoueur();para_payelicencejoueur();
while(!feof(p_equipe))
{
fread(&equipe,sizeof(equipes),1,p_equipe);
if(equipe.num_equipe==joueur.num_equipe)
{
printf("Nom Equipe: %s Niveau:%s%s\n",equipe.nom_equipe,type_niveau[((equipe.num_equipe)-1)].localite,type_niveau[((equipe.num_equipe)-1)].niveau);
trouve=1;
}
}
if(trouve!=1)
printf("Le joueur %s %s n'est pas affecté a une équipe\n",joueur.nom_joueur,joueur.prenom_joueur);
fclose(p_equipe);
printf("\n\n");

}
}
fclose(p_joueur);
}


Ma structure
:
typedef struct
{
int num_joueur;
char nom_joueur[20];
char prenom_joueur[20];
char sexe[2];
char adresse_joueur[60];
char cp_joueur[6];
char ville_joueur[20];
char tel_joueur[15];
char brule[2];
char type_licence[2];
int naissance_joueur;
char numlicence_joueur[30];
char paye_joueur[2];
char surclassement[2];
int num_equipe;
}joueurs joueur;


Le probleme est souligné dans le code est mis en gras. Merci à tous de m'aider.
A voir également:

5 réponses

crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 507
19 avril 2005 à 18:04
As tu essayé un truc du genre %15.15s ou %-15s
Il faut préciser un format de ce type pour tous les %s
1
Rajoute des \t (tabulations).

Par contre,

typedef struct {
...
} joueurs joueur;

Me surprend.
J'aurais mis soit :
typedef struct joueurs {
...
} joueurs;

sois :
typedef struct {
....
} joueurs;

Mais c'est du filling, rien de vérifié.
0
coussi matthieu
17 avril 2005 à 10:17
excuse moi mais je le met ou le \t je n'ai pas totalement compris... Merci d'avance.
0
A l'intérieur de la chaine de caractère à afficher.
C'est comme '\n' qui est le caractère spécial pour afficher un retour à la ligne, '\t' sert à afficher une tabulation. Par contre, tu risque d'avoir besoin de faire en fonction de la longueur de chaque chaine de caractère affichée.
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
17 avril 2005 à 20:07
Ex :

printf("Chaine sans \\t !\n");
printf("\tChiane avec \\t!\n");

Ici le premier '\' de \\ sert à neutraliser le deuxième '\'.
0
coussi matthieu
18 avril 2005 à 09:03
desolé mais je n'ai toujours pas compris votre raisonement.Et les tabulation c'est un nombre d'espace d'origine (que l'on ne peut choisir) que l'on multiplie par 2 voir plus. Mais le fait de mettre %15s sa me permet de mettre une longueur bien precise car avec les tabulation soit l'espace n'est pas assez grand ou il est trop grand. Donc si quelqun connait la reponse a mon probleme qu'il reponde avec mon expemple (SVP) plus haut. Merci d'avance.......
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
COUSSI Matthieu
19 avril 2005 à 17:57
SVP aidez moi.............
0