Problèmes d'affichage

Résolu
kiceron Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -  
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   -
Salut je travail sur un dossier de fin d'année et j'ai queles problème d'affichage lorsque j'appelle ma fonction, en fait il s'agit de l'affichage de la zone "VIPO" et "Adresse" de la structure,il se trouve que le programme m'affiche 2 fois la rue la 1ère fois il me l'affiche collé a la doonée de VIPO et la 2eme fois elle l'affcihe normalement (ce qui n'est pas le problème), je ne comprends pas pourqui il me l'affiche 2 fois surtout collé au VIPO voici ma fonction de saisie et ma fonction d'affichage , j'ajout aussi la déclaration de la structure:


struct PATIENTS
{
int num_cartesis;
char nom[20];
char prenom[20];
struct date nais;
char VIPO[3];
char adresse[30];
int codepostal;
char ville[30];
};


/*===================================Ajout d'un patient=====================================*/


void ajoutpat(struct PATIENTS *pati)
{


printf("\nEntrer le nom du patient\n");
fflush(stdin);
gets(pati->nom);
printf("\nEntrer le prenom du patient\n");
fflush(stdin);
gets(pati->prenom);

/*---------------------------------------*/
/* Saisie de date */
/*---------------------------------------*/



printf("\nPour la date veuillez entrer les donnees une a une\n");
printf("\nEntrer le jour de naissance du patient \n");
fflush(stdin);
scanf("%d",&pati->nais.jour);

while (pati->nais.jour <0 || pati->nais.jour>31)
{
printf("\nJour incorrect veuillez ressayer\n");
printf("\nEntrer le jour de naissance du patient \n");
fflush(stdin);
scanf("%d",&pati->nais.jour);

}

printf("\nEntrer le mois de naissance du patient\n");
fflush(stdin);
scanf("%d",&pati->nais.mois);


while (pati->nais.mois <0 || pati->nais.mois>12 )
{
printf("\nMois incorrect veuillez ressayer\n");
printf("\nEntrer le mois de naissance du patient\n");
fflush(stdin);
scanf("%d",&pati->nais.mois);

}
printf("\nEntrer l'annee de naissance du patient\n");
fflush(stdin);
scanf("%d",&pati->nais.annee);
while (pati->nais.annee <1900 || pati->nais.annee>2006 )
{
printf("\nAnnee incorrecte veuillez ressayer\n");
printf("\nEntrer l' annee de naissance du patient \n");
fflush(stdin);
scanf("%d",&pati->nais.annee);
}
/*---------------------------------------*/
/* Fin de saisie de date */
/*---------------------------------------*/



printf("\nLe patient est-il VIPO?\n");
fflush(stdin);
gets(pati->VIPO);
printf("\nEntrer la rue du patient\n");
fflush(stdin);
gets(pati->adresse);
printf("\nEntrer le code postal du patient\n");
fflush(stdin);
scanf("%d",&pati->codepostal);
printf("\nEntrer la ville du patient\n");
fflush(stdin);
gets(pati->ville);
}



/*======================================Affichage de la fiche===============================*/

void affichpat(struct PATIENTS *pati)

{
printf("%d\n",pati->num_cartesis);
printf("\n");
puts(pati->nom);
printf("\n");
puts(pati->prenom);
printf("\n %d/%d/%d \n\n",pati->nais.jour,pati->nais.mois,pati->nais.annee);
puts(pati->VIPO);
puts(pati->adresse);
printf("\n %d \n",pati->codepostal);
puts(pati->ville);
printf("\n\n");

}

Merci de m'éclairer sur ce point.


Ah oui une 2eme chose j'aimerai un bel affichage horizontal de toutes les coordonnées du patient j'ai essayé de faire ce qui suit mais l'affichage est toujours décalé par rapoort au libellé helppp.


void affichpat(struct PATIENTS *pati)

{

printf("|N Carte SIS|NOM|PRENOM|Date de Naissance|VIPO|Adresse|Code Postal|Ville\n");
printf("|%d |%s |%s | %d/%d/%d | %s |%s |%d |%s |",pati->num_cartesis,pati->nom,pati->prenom,pati->nais.jour,pati->nais.mois,pati->nais.annee,pati->VIPO,pati->adresse,pati->codepostal,pati->ville);
printf("\n\n");

}


Merci

2 réponses

kiceron Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
j' ai trouvé il s'agissait juste d'un problème de déclaration et de pointeur
0
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Il faut cocher pour marquer le post comme résolu alors .
0