Mise en page en Langage C
COUSSI Matthieu
-
crabs Messages postés 908 Date d'inscription Statut Membre Dernière intervention -
crabs Messages postés 908 Date d'inscription Statut Membre Dernière intervention -
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.
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:
- Mise en page en Langage C
- Mise en forme conditionnelle excel - Guide
- Supprimer page word - Guide
- Mettre google en page d'accueil - Guide
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
5 réponses
As tu essayé un truc du genre %15.15s ou %-15s
Il faut préciser un format de ce type pour tous les %s
Il faut préciser un format de ce type pour tous les %s
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é.
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é.
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.
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.
Ex :
printf("Chaine sans \\t !\n");
printf("\tChiane avec \\t!\n");
Ici le premier '\' de \\ sert à neutraliser le deuxième '\'.
printf("Chaine sans \\t !\n");
printf("\tChiane avec \\t!\n");
Ici le premier '\' de \\ sert à neutraliser le deuxième '\'.
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.......
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question