begin process at 2012 02 11 20:16:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Langage C (saisie de données sur fichier)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Langage C (saisie de données sur fichier)

samedi 2 avril 2005 à 14:49:13 | Langage C (saisie de données sur fichier)

doggy59115

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 !

samedi 2 avril 2005 à 16:17:39 | Re : Langage C (saisie de données sur fichier)

minet03

Moi aussi j'ai eu des problèmes avec scanf(). Alors j'ai décidé de faire mes propores fonctions de saisie. Si tu les veux elles sont là :
http://www.cppfrance.com/code.aspx?ID=26131

Le CyberMonde nous offre une meilleur qualité de vie
CyberMan.inc The WebSite
samedi 2 avril 2005 à 19:16:01 | Re : Langage C (saisie de données sur fichier)

Minash

Avec fgets:
    scanf("%20s",list[i].fnom);

donnerait:
    fgets (list[i].nom,20,stdin);

Le premier paramètre est l'adresse où l'ont va stocker la chaîne, le deuxième paramètre le nombre de caractères acceptés et le dernier paramètre c'est là où provient la chaîne (ici le clavier donc stdin).


_________________________________________________________________________
"La programmation est un art"
                                         Minash


Cette discussion est classée dans : printf, saisie, scanf, list, fflush


Répondre à ce message

Sujets en rapport avec ce message

probleme en listes chainées. [ par ryuzaki ] slt t le monde je suis un débutant en programmation, j"ai un problème d'accomplir mon mini projet en langage c.je veux justement supprimer le premier ecriture dans un fichier [ par cacoucatatonique ] bonjours,je me suis mis au laanguage C parcequ'a l'ecole j'ai un cours dessus, et je butte sur une erreur inconue.En faite mon probleme vien du fait q Probleme Char [ par romainbisson ] Bonjour,j'ai crée des char qui recupere des valeurs tapé par l'utilisateur :    char nom[5000];    char prenom[5000];    char adresse[5000];    char c Un peut d'aide pour mon projet [ par asiana ] Bonjour a toute et a tous Voila j'ai un petit problème avec un programme qui permet de géré une vente aux encheres des poissons avec "le switch  case" scanf d'une structure imbriqée [ par sdiri_med ] Bonsoir, j'ai rencontré beaucoup des problèmes avec les structures je voudrai vous demander comment faire un appel d'une structure dans une autre pou tri d'un tableau de struct [ par sdiri_med ] Salut à tous j'ai un petit problème de tri d'un tableau de structurede but d'extraire l'employer le plus âgé Pouvez-vous m'aider s.v.p a résoudre se migration d une base mysql vers postgres en c : erreur de segmentation [ par loenia ] Bonjourje suis actuellement en stage en entreprise. et je dois effectuer la migration d'une base Mysql vers une base postgres.il se trouve qu au milie tri d'un tableau de structure [ par sdiri_med ] bonjour pour tout le monde j'ai un petit problème de trie par age d'un tableau des employées voila mon code: [code] #include #include recherche comment faire fonctionner ce code via une interface graphique (pilotage port //) [ par cedpic ] voici le code que j ai creer qui marche tres bien en mode console mais je souhaiterais les piloter par une interface graphique en remplacent les bouto erreur boucle [ par pat65300 ] voici mon programme quand je veux ajouter une voiture je peut l ajouter il me marque ajout effectuer mais quand il revient sur le menu il tourne en bo


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,685 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales