Problème d'affichage

kiceron Messages postés 18 Date d'inscription jeudi 9 septembre 2004 Statut Membre Dernière intervention 13 février 2006 - 11 mai 2005 à 09:52
kiceron Messages postés 18 Date d'inscription jeudi 9 septembre 2004 Statut Membre Dernière intervention 13 février 2006 - 11 mai 2005 à 15:02
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

1 réponse

kiceron Messages postés 18 Date d'inscription jeudi 9 septembre 2004 Statut Membre Dernière intervention 13 février 2006
11 mai 2005 à 15:02
j' ai trouvé il s'agissait juste d'un problème de déclaration et de pointeur
0
Rejoignez-nous