Bonjour à tous ! Je bloque sur mon programme en langage C. Je suis novice !
Je dois créer un programme où l'on rentre : nom, prénom, ville, adresse, code postal, téléphone et anniversaire. Pour cela j'utilise une structure. Jusqu'à présent tout va bien ! Maintenant je dois contrôler la saisie afin d'éviter que la chaîne de caractère entrée dépasse de mon tableau. Pour cela j'ai utiliser :"scanf ("%4s", var1);
fflush (stdin);" Mais lorsque je depasse tout mes mots se mélange ! De plus en utilisant le scanf je suis bloquer pour rentrer une adresse , car une fois arrivé a l'espacement il fini la saisie :s . Et je dois rentrer tout cela dans un fichier. J'avais penser à la fonction "fgets" mais pas moyen de la comprendre. jai essayé beaucoup de choses comme "getche","gets"... Mais en vain.
Voici mon programme en C :
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct personne /* D‚claration de la structure personne */
{
char fnom[20];
char pnom[20];
int phone[10];
char adresse[60];
char ville[15];
int code[5];
int jour[2];
int mois[2];
int annee[4];
};
struct personne list[200]; /* D‚claration du nombre de contact que contiendra le tableau */
main()
{
FILE*saisie;
/*D‚claration des variables*/
char pnom[20],fnom[20],phone[10],adresse[60],ville[15],code[5],jour[2],mois[2],annee[4];
int i,nbre;
clrscr();
saisie=fopen("resultat.dat","wt");
printf("Entrez le nombre de personnes : "); /* Nombre de personnes … ajouter */
scanf("%d",&nbre);
printf("________________________________");
for(i=0;i<nbre;i++)
{
printf(" \n \n \nEntrez le nom : "); /* Saisie des infos concernant la personne */
scanf("%20s",list[i].fnom);
fflush(stdin);
printf("Entrez le pr‚nom : ");
scanf("%20s",list[i].pnom);
fflush(stdin);
printf("Entrez le num‚ro de t‚l‚phone (xxxxxxxx) : ");
scanf("%10s",list[i].phone);
fflush(stdin);
printf("Entrez l'adresse : ");
scanf("%60s",list[i].adresse);
fflush(stdin);
printf("Entrez la ville : ");
scanf("%15s",list[i].ville);
fflush(stdin);
printf("Puis le code postal : ");
scanf("%5s",list[i].code);
fflush(stdin);
printf("Vous allez entrer la date de naissance (xx/xx/xxxx)\n");
printf("Entrez le jour de la date de naissance : ");
scanf("%2s",list[i].jour);
fflush(stdin);
printf("Entrez le mois de la date de naissance : ");
scanf("%2s",list[i].mois);
fflush(stdin);
printf("Entrez l'ann‚e de la date de naissance : ");
scanf("%4s",list[i].annee);
fflush(stdin);
}
/* Affichage des infos concernant la personne */
for(i=0;i<nbre;i++)
{
fprintf(saisie,"\n \nContact : %s %s\n",list[i].pnom,list[i].fnom);
fprintf(saisie,"T‚l‚phone : %s\n",list[i].phone);
fprintf(saisie,"Adresse : %s %s %s\n",list[i].adresse,list[i].ville,list[i].code);
fprintf(saisie,"Date de naissance : %s/%s/%s \n",list[i].jour,list[i].mois,list[i].annee);
}
fclose(saisie);
}
Merci d'avance à tous !