Tp compilation

selmasousou Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
selmasousou Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, Je veux une explication et une correction pour ce programme svp
#include<iostream>
#include<conio.h>
#include<string.h>
file *f;char c;
int main(int argc,char**argv)
{
f =fopen("exemple.txt","rt");
char s [256];
if(f!=null)
{ s [0]=0;
do
{ c=fgetc(f);
if (c!=''&& c!=10&& c!=eof) strcat(s,&c);
else if(s [0]!=0) {cout<<"un mot trové :"<<s<<end1; s[0]=0;}
}while(!feof(f));
}
else cout<<"erreur d'ouverture de fichier";
getch();
return0;
}



5 réponses

Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   92
 
J'ai laissé ce langage de côté .. voilà de ce que je me souviens:
#include<iostream> 
#include<conio.h> 
#include<string.h> 

 file *f;char c; 
 int main(int argc,char**argv) 
 { 
  /* Ouvrir fichier "exemple.txt" en lecture, mode texte */ 
  f =fopen("exemple.txt","rt"); 
  /* déclaration d'un tableau de caractères (chaîne) d'une taille de 256 éléments (chaîne de 256 caractères) */ 
  char s [256]; 
  /* SI "f" est différent de "null", autrement dit, SI le fichier a été trouvé et est lisible, ALORS */ 
  if(f!=null) 
  { 
   /* l'élément [0] du tableau "s" = 0 */ 
   s [0]=0; 
   /* COMMENCER */ 
   do 
   { 
    /* lire un caractère du fichier et l'affecter à la variable "c" */ 
    c=fgetc(f); 
    /* SI c est différent de '' 
     * ET c est différent de ***** ICI je ne sait plus 
     * ET c est différent de "EOF" (EndOfFile = Fin du fichier) */ 
    if (c!=''&& c!=10&& c!=eof) strcat(s,&c); 
    /* SINON, SI l'élément [0] du tableau est différent de 0 ALORS 
      * écrire "un mot trové :"<<s<<end1; s[0]=0; ***** ICI, JE NE SUIS PAS CERTAIN DE LA SYNTAXE! */ 
    else if(s [0]!=0) {cout<<"un mot trové :"<<s<<end1; s[0]=0;} 
   /* TANT QUE on n'a pas atteint la fin du fichier, FAIRE */ 
   }while(!feof(f)); 
  } 
  /* SINON, AFFICHER "erreur d'ouverture de fichier" */ 
  else cout<<"erreur d'ouverture de fichier"; 
  /* ATTENDRE que l'utilisateur appuie sur une touche */ 
  getch(); 
  /* mauvais : return0;*/ 
  return 0; 
 }

Les commentaires sont entourés par "/* commentaire */"

p.s.: pour avoir des amis, il est préférable dire : J'aurais aimé avoir votre aide" plutôt que "Je veux", même si on ajoute svp !
0
selmasousou Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
je m'excuse ,Merci pour vos conseils
mais le programme ne marche pas.
Pour la deuxième fois, je suis désolé
0
Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   92
 
Bonsoir selmasousou,

Avec ce que je t'ai donné comme renseignements (les commentaires) tu peux retrouvé des informations sur les tutoriaux en langage "C/C++" sur Internet.

A voir aussi: Un moment dans le code, il est écrit "TANT QUE ... FAIRE" jusq'uà la fin du fichier, mais ton tableau de caractères ne compte que maximum 256 caractères. Si le fichier contient plus de 256 car. cela ne peux pas marcher !
0
selmasousou Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
bonsoir, ok merciiiiiiiiiiii
0
selmasousou Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
svp, J'aurais aimé avoir votre aide,je veux des commentaires pour ce programme
#include<iostream>
#include<conio.h>
#include<string.h>
int A[3] [2]={ 1,2,
1,1,
-1,2};
FILE *f;
char c;
int tableau(int etat,char c)
{
if (c>'A'&& c<='z' || (c>='a'&& c<='z')){return A[etat][0];}
else if (c>='0'&&c<='9'){return A[etat][1];}
else{return -1;}
} ;
int Nextlex(void)
{
int etat=0;
char s[256];
s[0]=0;
c=fgetc(f);while (!feof(f)&&(c==' '|| c==10)) c=fgetc(f);
while(c!=' '&& c!=10 && c!=EOF && etat!=-1)
{if (!((c>='A' && c<='z')||(c>= 'a' && c<='z')|| (c>='0' && c<='9')))
{std::cout<<"erreur:"<<c<<" caractere non reconnu par le langage"<<std::endl;return -1;}
else{
strcat(s,&c);
etat=tableau(etat,c);
c=fgetc(f);
}
}
switch (etat)
{
case0 :/*rien*/ return 1;break;
case1 :std::cout<<s<<"ident"<<std::endl; return 1;break;
case2 :std::cout<<s<<"nbr"<<std::endl; return 1;break;
default :std::cout<<"erreur :"<<s<<" mot non reconnu par le langage "<<std::endl; return -1;break;
}
}
int main (int argc,char**argv)
{
f=fopen("codesource.txt","rt");
if(f!=NULL){while(!feof(f) && Nextlex()!=-1);
getch();
return 0;
}
else std::cout<<"erreur";
getch();
return 0;
}
0
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Ton compilateur te donne déjà des "commentaires" : erreurs et avertissements.


Dal
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
selmasousou Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
slt,merci pour vos participation. mais je veux des commentaires pour comprendre le programme.........je ne le comprend pas
0