Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3713 connectés 

 


Dernière réponse
Sujet : Afficher une ligne precise ds un fichier texte???????
BigBrother tien moi aussi g un agenda a faire en tp d'info...mais en pascal, c beaucoup utile :D

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
BigBrother tien moi aussi g un agenda a faire en tp d'info...mais en pascal, c beaucoup utile :D
vendeeman ben parce qu'on me demande de faire comme ça ;)
c pr un tp d'info!
verdoux Pourquoi pas un agenda en XML ?
vendeeman je peux changer c pas un probleme. Comment faudrait que je fasse ? svp, help!
massanu taurais du organiser ton fichier avec des delimiteurs exemple
 
Bernard:Jacques:0612105141
 
la lecture est facilité comme ca
mais bon en mode texte c vrai que c pas super
j'en ai fait un en php/mysql c tres facile
 
mais bon c largement faisaible en C++

 

[jfdsdjhfuetppo]--Message édité par massanu--[/jfdsdjhfuetppo]

skylight ouah un agenda en mode texte  :eek2:
vendeeman Voilà, j'ai avec ce programme, j'ai creer un fichier agenda.txt
 
 
 
#include <stdio.h>
#include <io.h>
#include <string.h>
#include <stdlib.h>
struct{
 char nom[20];
 char prenom[20];
 int numero;
}fiche;
 
void saisie(void);
void affichage(void);
void affichage2(void);
FILE *f;
int nbpers=0;
 
 
void main(void){
 int choix;
 do{
  printf("Que desirez-vous faire ? \n" );
  printf("0-Quitter. \n" );
  printf("1-Saisie d'une personne dans l'agenda. \n" );
  printf("2-Afficher tout l'agenda. \n" );
  printf("3-Faire une recherche par nom. \n" );
  scanf("%d",&choix);
 
  switch(choix){
  case(1):saisie();break;
  case(2):affichage();break;
  case(3):affichage2();break;
 
  default:;
  }
 
 }while(choix!=0);
 
}
 
 
void saisie(){
 f=fopen("agenda.txt","a" );
 printf("Nom :\n" );
 scanf("%s",fiche.nom);
 printf("Prenom :\n" );
 scanf("%s",fiche.prenom);
 do{
  printf("Numero de telephone :\n" );
  scanf("%d",&fiche.numero);
 }while((fiche.numero<100000000)||(fiche.numero>=9
99999999));
 
 fprintf(f,"\n%s\n%s\n0%d",fiche.nom,fiche.pr
enom,fiche.numero);
 fclose(f);
 nbpers++;
 
}
 
 
void affichage(){
 
 f=fopen("agenda.txt","r" );
 while(fgetc(f)!=EOF){
   fscanf(f,"%s%s%d",&fiche.nom,&fiche.prenom,&fiche.numero);  
   printf("%20s\t%20s\tTel: 0%9d\n\n",fiche.nom,fiche.prenom,fiche.numero);
   
 }
 
 
 
 fclose(f);
}
void affichage2(){
 char *nom;
 printf("rentrez votre nom :\t" );
 scanf("%s",nom);
 
 f=fopen("agenda.txt","r" );
 while(fgetc(f)!=EOF){
  if(strcmp(nom,(char)fscanf(f,"%s",&fiche.nom))!=0)
   ;
  else
   fscanf(f,"%s%s%d",&fiche.nom,&fiche.prenom,&fiche.numero);  
   printf("%s\t%s\t0%d\n",fiche.nom,fiche.prenom,fiche.numero);
   
 }
 
 
 
 fclose(f);
}
 
 
 
 
Voilà, ma fonction affichage fonctionne tres bien et elle permet d'afficher tout le contenu du fichier texte. Maintenant, je cherche à faire une recherche de chaine de caractère, pour par exemple rechercher un nom et juste apres afficher le numero de tel de la personne. Pr cela, il faut trouver la chaine de caractere recherche, trouver le numero de ligne sur laquelle elle se trouve et il ne restera plus qu'a afficher le numer ode telephonne situé 2 ligne plus bas.
 
voilà le fichier tel qu'il est créer:
"
Bernard
nicolas
0268596854
Lambert
robert
0296325478
"
Merci à ce qui peuvent m'aider à faire marcher ;) ma fonction affichage2 qui pr lem oment ne marche pas ;(

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)