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

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

Récupération puis comparaison de 2 chaines


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

Récupération puis comparaison de 2 chaines

vendredi 13 mai 2005 à 12:58:55 | Récupération puis comparaison de 2 chaines

FOSTA

Bonjour,
je souhaite recupérer une champ et le comparé à une chaine saisie au clavier, pour cela j'ai écrit les fonctions ci-dessous mais elles ne marchent pas comme je souhaite.
Aidez-moi.
Merci déjà.

void positionneCurs(FILE *f,long numl)
{
   char c;
   long cpterl=0;

     fseek(f,0,SEEK_SET);
     while((numl!=cpterl))
     {  c=fgetc(f);
 if(c=='\n')
  cpterl++;
     }
}

char *lireligne(long numl)
{    FILE *f;
     char cdc[256];
     int nbc;

     nbc=nbcaract();
     f=fopen( nomfichier,"r+");
     positionneCurs(f,numl);
     fgets(cdc,nbc,f);
     fclose(f);
     return((char*) &cdc);
}
char *lirechamp(long posl,int posc)
{    char champ[25],tab[256];
     int i=0,virg=0,j=0;

     strcpy(tab,lireligne(posl));
     while(virg<(posc-1))
     {
 if(tab[i]==';')
 {
   virg=virg+1;
 }
 i++;
     }
     while(tab[i]!= ';')
     { champ[j]=tab[i];
 j++;i++;
     }
     return((char*) &champ);
}

/* Renvoie un r‚el recup‚r‚ dans le fichier */
float donneReel(char *pR)
{  char *pC;
   strcpy(pC,pR);
   return(atof(pC));
}
/* Renvoie un entier recup‚r‚ dans le fichier */
int donneEntier(char *pR)
{  char *pC;
   strcpy(pC,pR);
   return(atoi(pC));
}


void balanceG(char cptentre[12])
{
  FILE *fic;
  long int i=0,k;
  float solde,montantc=0,montantd=0,montantt=0;//,Tmontantc[20],Tmontantd[20];
  int d=0,c=0,j,existe=0;
  char lecomp[8],lecpte[8];

  k=cpterligne();
  //fseek(fic,0,SEEK_SET);
  fic=fopen(nomfichier,"r+");
  while(k!=i)
  {  strcpy(lecpte,lirechamp(i,4));
     /*for(j=0;j<8;j++)
 lecpte[j]=*(lirechamp(i,4)+j);*/
     printf("Nø compte: %s\n",lecpte);
     if((strcmpi(lecpte,cptentre))==0){//si compte saisi=compte fichier
  existe=1;
  if(donneEntier(lirechamp(i,5))==-1){//si le sens=-1 (Cr‚dit)
      montantc=(montantc+donneReel(lirechamp(i,8)));//affectation du montant
      //Tmontantc[c]=atol(lirechamp(fic,i,8));
      c++;
  }
  if(donneEntier(lirechamp(i,5))==1){//si le sens=-1 (D‚bit)
      montantd=(montantd+donneReel(lirechamp(i,8)));
      //Tmontantd[d]=atol(lirechamp(fic,i,8));
      d++;
  }
     }
     i++;
  }
  solde=montantd-montantc;
  if(existe==1){
     clrscr();
     gotoxy(25,5);
     printf("B A L A N C E   G E N E R A L E");
     gotoxy(2,10);
     printf("Compte");
     gotoxy(2,14);
     printf("%s",cptentre);
     gotoxy(15,10);
     printf("D‚bit");
     gotoxy(15,14);
     printf("%.0f",montantd*100);
     gotoxy(34,10);
     printf("Cr‚dit");
     gotoxy(34,14);
     printf("%.0f",montantc*100);
     gotoxy(56,10);
     printf("Solde");
     gotoxy(56,14);
     if(solde<0)
     printf("%.0f",-solde*100);
     else
     printf("%.0f",solde*100);
     gotoxy(70,14);
     if(solde<0)
 printf("(Cr‚diteur)");
     if(solde>0)
 printf("(D‚biteur)");
     if(solde==0)
 printf("(Nulle)");
  }
  else
     printf("Ce compte n'existe pas.");
  fclose(fic);
}
/* Cette fonction permet de compter le nombre lignes(enregistrements) dans
   un fichier */
int cpterligne()
{
 FILE *f;
 int cpterl=0;
 char c;
     f=fopen(nomfichier,"r");
     //fseek(f,0,SEEK_SET);
     while((c=fgetc(f))!=EOF)
     {
 if(c=='\n')
  cpterl++;
     }
     fclose(f);
     return cpterl;
}



Cette discussion est classée dans : printf, char, gotoxy, lirechamp, solde


Répondre à ce message

Sujets en rapport avec ce message

Probleme typedef struct [ par shenron ] #include #include #include /*Definition de la structure*/typedef struct{ char login[11]; char mdp[11];}strlogin;/*Declaration de fonctions*/void ajo Debutant : ecrire et lire un fichier txt [ par manu ] Bonjour a tous.Je debute, aussi desole.... :)Je cherche donc a ecrire dans un fichier txt, puis a lire ce fichier ligne a ligne, faire un split / expl Besoin d'aide en C - Fonction [ par bugs2600 ] Voici mon programme quelqu'un pourrait-il m'aider je dois faire une fonction et je ne vois pas comment la faire le non de ma fonction doit etre PRODMA demande de correction de programme [ par gemini010 ] slt a tous, je dois créer un programme avec differente fonctions et structures permettant de gerer des etudiants ( on doit pouvoir ajouter des enregis regardez ma source HELP [ par asnow ] BonjourJe debute en C. j'ai voulu apprendre à enregistrer des données dans un fichier, ca a donné ce code .Si vous pouviez me donner des recommandatio concatenation [ par asmv ] //a partir d'elements de tableau 'int' transformes en 'char'//essai de concatenation qui ne fonctionne pas pourquoi ?//merci pour votre aide#include # Assez Urgent problème de gestion dans les fichiers [ par bugs2600 ] Salut,Je suis en train de faire un programme de gestion de fichier mais j'ai un problème pour faire une fonction de suppression des menbres.Voici ce q [debutant]attribution dun mot a une char et comparaison ... [ par DarkEbola ] en fait, jaurais aimé attribuer du texte a une charkke chose comme 500 ou 600 caracteres maximais jarrive pas a lui attribuer plus de 1 Charsuis-je pl Hachage fermé problème de lecture [ par mcflysupersonic ] Bonjour je suis nouveau sur le forum est ceci est ma première question donc j'espère que je ne me suis pas trompé d'endroit pour poster.Voilà j'ai un


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,451 sec (3)

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