Problèmes d'affichage

Résolu/Fermé
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:57
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 11 mai 2005 à 15:19
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 jeudi 9 septembre 2004 Statut Membre Dernière intervention 13 février 2006
11 mai 2005 à 15:06
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 jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
11 mai 2005 à 15:19
Il faut cocher pour marquer le post comme résolu alors .
0