Tp compilation

Fermé
selmasousou Messages postés 7 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 7 novembre 2012 - 5 nov. 2012 à 20:00
selmasousou Messages postés 7 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 7 novembre 2012 - 7 nov. 2012 à 18:22
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 vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
Modifié par Heliotte le 5/11/2012 à 21:25
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 mardi 23 octobre 2012 Statut Membre Dernière intervention 7 novembre 2012
6 nov. 2012 à 19:36
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 vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
6 nov. 2012 à 21:52
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 mardi 23 octobre 2012 Statut Membre Dernière intervention 7 novembre 2012
6 nov. 2012 à 22:31
bonsoir, ok merciiiiiiiiiiii
0
selmasousou Messages postés 7 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 7 novembre 2012
6 nov. 2012 à 23:59
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 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
7 nov. 2012 à 11:02
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 mardi 23 octobre 2012 Statut Membre Dernière intervention 7 novembre 2012
7 nov. 2012 à 18:22
slt,merci pour vos participation. mais je veux des commentaires pour comprendre le programme.........je ne le comprend pas
0